428CS428 Embedded Systems Lab: Course Info

Department of Computer Science

University of Crete

 

Area:

E4 - Computer Architecture and Computer Systems

ECTS:

6

Semester:

Spring 2023

Instructors:

Angelos Bilas

Manolis Marazakis

 


Course Info
                   Syllabus                        Assignments                 Policies

 


Syllabus

 

 

Semester 

Week #

Week 

Start

Mon (Lecture 1), 16:00-18:00 

Wed (Lecture 2), 16:00-18:00

Fri (Backup) 16:00-18:00

1

5/2

- Introduction: Embedded Systems

- Embedded System Design Issues

- Wikipedia: Embedded Systems

- Lego Mindstorms NXT HW DevKit & Arduino Platform

- Assignment 1

[slides available locally ~hy428/files/slides]

- Timers, clocks

- Real Time Timer RTT (AT91 manual or AT3X manual)

- Hands-on walk-through

[slides available locally ~hy428/files/slides]

2

12/2

- ARM interrupts (2.8 in manual, AT91note)

- AIC (AT91 manual) or NVIC (or AT3X manual)

- Sound: AT91SAM7S SSC (AT91 manual)

[slides available locally ~hy428/files/slides]

- PWM & Sound

- AT91SAM7S basic PIO (AT91 manual or AT3X manual)

- AT91SAM7S PDC/DMA (AT91 manual or AT3X manual)

- Consistent sound

- [SPY0030A datasheet available locally]

- Assignment 2 

[slides available locally ~hy428/files/slides]

3

19/2

- ARM instruct. set (ARM7 manual, ref) 

[slides available locally ~hy428/files/slides]

- SPI (AT91 manual, slides)

- LCD [manual available locally]

[slides available locally ~hy428/files/slides]

4

26/2

- LCD connectivity

- Display programming

- Analog to Digital Converter (AT3X manual)

[slides available locally ~hy428/files/slides]

Link τηλεδιδασκαλίας

- ARM interrupts in depth (1/2)

- Local file: AT91_interrupts.pdf

- Local file: ARM7TDMI_Technical_Reference_Manual.pdf (section 2.8) 

- local file: Cstartup.S 

- Assignment 3 

[slides available locally ~hy428/files/slides]

5

4/3

Link τηλεδιδασκαλίας

- ARM interrupts in depth (2/2) 

[slides available locally ~hy428/files/slides]

 

- I2C (spec: sec1-10, i2c-manual)

- TWI (AT91 manual)

[slides available locally ~hy428/files/slides]

- I2C (spec: sec1-10, i2c-manual)

- TWI (AT91 manual)

[slides available locally ~hy428/files/slides]

6

11/3

- ARM - peripheral communication over I2C (focus AVR)

- I2C implementation on TWI

- Passive sensor input/output

- Assignment 4 

- ARM - peripheral communication over I2C (focus AVR)

- Assignment 4 

7 (midterm week) 

18/3

Public Holiday

Midterm (during class, Wednesday, 20/3/2024, 16:00-18:00, αίθουσα του μαθήματος)

8

25/3

Public Holiday

- Memory technologies 

[slides available locally ~hy428/files/slides]

 

- NAND Flash and SSDs 1/2 

[slides available locally ~hy428/files/slides]

(1) Flash basics 

Section 2 of Luo et al., Data Retention in MLC NAND Flash Memory: Characterization, Optimization, and Recovery, HPCA15 [~hy428/files/reading/flash/retention_hpca15.pdf]

Micron Technical Note, NAND Flash 101: An Introduction to NAND Flash and How to Design It In to Your Next Product. 2006. [~hy428/files/reading/flash/micron_flash101.pdf]

 

M-sysetms, White Paper, Two Flash Technologies Compared: NOR vs NAND, Arie Tal, Oct. 2002, 91-SR-012-04-8L REV. 1.0  [~hy428/files/reading/flash/nand_vs_nor.pdf]

- NAND Flash and SSDs 2/2 

[slides available locally ~hy428/files/slides]

 

(1) SSD structure

Sections 1,2,3,5 of: Nitin Agrawal et al. Design tradeoffs for SSD performance. In USENIX 2008 Annual Technical Conference (ATC'08). [~hy428/files/reading/flash/ssd_tradeoffs_atc08.pdf]

(2) FTL address translation + GC

Section 2 of: DFTL: A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings. Gupta et al. ASPLOS’09. [~hy428/files/reading/flash/dftl_asplos09.pdf]

 

(3) SSD DRAM cache

Section 3 of: BPLRU: A buffer management scheme for improving random writes in Flash storage. Kim et al. FAST’08. [~hy428/files/reading/flash/bplru_fast08.pdf]

9

1/4

- Real Time 1/2 

[slides available locally ~hy428/files/slides]

 

Rate-Monotonic Analysis for Real-Time Industrial Computing. Mark H. Klein, JohnP. Lehoczky, and Ragunathan Rajkumar Carnegie Mellon University. IEEE Computer 0018-9162/94, 1994. [Available locally: ~hy428/files/reading/RMAKleint94.pdf] 

- Real Time 2/2 [slides available locally ~hy428/files/slides]

- Extensions to RMA

- Synchronization


- Assignment 5 (lego project)

10

8/4

- Virtualization in Embedded Systems   [slides]

- Assignment 6

 

- Reading:

(1) Smith et al., The Architecture of QEMU  

(2) F. Bellard, QEMU, a Fast and Portable Dynamic Translator, USENIX Freenix, 2005

(3) Virtual Machines, IEEE Computer, vol.38, no.5, May 2005

(4) Rosenblum et al., Virtual Machine Monitors: Current Technology and Future Trends, IEEE Computer, May 2005.

- QEMU: Architecture and Internals [slides] 

 

- Reading:

(5) A. Whitaker, R.S. Cox, M. Shaw, S.D. Gribble, Rethinking the Design of Virtual Machine Monitors, IEEE Computer, vol.38, no.5, May 2005.

(6) Kirk L. Kroeker, The Evolution of Virtualization, CACM, vol.52, no. 3, March 2009

(7) G.J. Popek, and R.P. Goldberg, Formal Requirements for Virtualizable Third Generation Architectures, CACM, vol. 17 no. 7, 1974.

11

15/4

- Hardware-assisted virtualization: x86 [slides] 

- Virtualization in Embedded Systems   [slides]

- RISC-V Bare Metal on Qemu [slides]  

- Assignment 7

- I/O in Linux Hypervisors and Virtual Machines [slides] 

- Reading:

Mendel Rosenblum, Carl Waldspurger: "I/O Virtualization". ACM Queue, Volume 9, issue 11, November 22, 2011. [ link to ACM Queue ] 

12

22/4

I/O Virtualization

 

- Linux Kernel [slides] 

Easter recess

29/4

 

 

 

Easter recess

6/5

 

 

 

13

13/5

- ARM virtualization [slides] 

- Reading: 

Julien Grall: "Hypervisors on ARM: Overview and Design choices", Root Linux Conference 2017. [slides] 

ARM AArch64 virtualization: Hypervisor software. [link]

- I/O in Linux Hypervisors and Virtual Machines [slides] 

- Linux Kernel  

- Projects  

30/5

- Reading Week

Final Exam

(1st Period)

TBD

 

Final Exam

(2nd Period)

TBD

 

 

(c) Copyright University of Crete, Greece, Last Modified: 01-Feb-2024