CS-473 / 6 crédits

Enseignant: Kluter Ties Jan Henderikus

Langue: Anglais


Summary

To efficiently program embedded systems an understanding of their architectures is required. After following this course students will be able to take an existing SoC, understand its architecture, and efficiently program it.

Content

Hardware elements found in embedded systems:

  • Flash, tightly couples memories, SDRAM, DDR.
  • IO-interfaces and protocols (RS232, I2C, I2S, SPI).
  • Bus architectures.

Architecture imposed restrictions:

  • Memory map and memory holes.
  • Cached and non-cached regions.
  • Interrupt latencies, bus latencies, task-switch latencies.

Software techniques:

  • BIOS/firmware
  • DMA and computation/data-transfer overlaps
  • Hot-spot detection and hardware/software profiling

Learning Prerequisites

Recommended courses

CS-208 Computer architecture I

CS-209 Computer architecture II

Important concepts to start the course

  • C/C++ programming skills
  • Basic Verilog knowledge

Learning Outcomes

  • Analyze and understand the architecture of embedded systems (SoC's)
  • Write a firmeware that initializes an embedded system and efficiently implement the required functionality
  • Explain the different latencies present in an embedded system and how these latencies influence the execution time on the firmware
  • Profile an embedded system and pin-point the hardware related and software induced hot-spots
  • understand the different types of memories present in an embedded systems and how to use them
  • Program the different types of I/O devices present in an embedded system and know how their protocol works

Teaching methods

Ex cathedra with practical exercises (in groups of 2 students)

Expected student activities

  • Reports of practical exercises
  • Moodle quizzes
  • Written exam

Assessment methods

  • Moodle quizzes : 15%
  • Lab reports : 35%
  • Final written exam : 50%

Supervision

Office hours No
Assistants Yes
Others Electronic forum and Moodle

Resources

Moodle Link

Dans les plans d'études

  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Semestre: Automne
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel
  • Forme de l'examen: Pendant le semestre (session d'hiver)
  • Matière examinée: System programming for Systems-on-chip
  • Cours: 2 Heure(s) hebdo x 14 semaines
  • Projet: 2 Heure(s) hebdo x 14 semaines
  • Type: optionnel

Semaine de référence

Cours connexes

Résultats de graphsearch.epfl.ch.