CS428 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: |
|
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 - Lego Mindstorms NXT HW DevKit & Arduino Platform [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] [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] |
- 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 [slides available locally ~hy428/files/slides] |
|
5 |
4/3 |
- 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 |
- ARM - peripheral communication over I2C (focus AVR) |
|
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
|
|
10 |
8/4 |
- Virtualization in Embedded Systems [slides]
- 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] |
- 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] |
|
|
30/5 |
- Reading Week |
|||
Final Exam (1st Period) |
Mon, 27-May-2024, 17:30-20:30, A113 |
|||
Final Exam (2nd Period) |
Thu, 29-aug-2024, 17:30-20:30, H.204 |
(c) Copyright University of Crete, Greece, Last Modified: 01-Feb-2024