Digital Embedded Systems (07_X-SEN)
- Coefficient : 6
- Hourly Volume: 126.0h (including 72.0h supervised)
- CTD : 10.5h supervised
- Labo : 61.5h supervised (and 12h unsupervised)
- Out-of-schedule personal work : 42h
- Including project : 43h supervised and 54h unsupervised project
AATs Lists
Description
- Operating System Principles
- architecture elements,
- synchronization,
- memory management: paging, virtual addressing,
- device drivers,
- file systems.
- Hardware Target Architecture
- pipeline microprocessor, superscalar, multicore, GPU
- instruction and data caches,
- SRAM/SDRAM memory circuit access protocols,
- memory management: MMU
- storage peripherals: NOR/NAND Flash memories,
- bus protocols (JTAG, USB).
- Hardware Architecture Description and Simulation: VHDL
- OS Project
- Robot Project
SEN I
The course objective is to understand operating system principles.
Students will acquire knowledge about:
- operating system operation principles (task, synchronization)
By the end of the course, students will be able to:
- break down a microcontroller application into tasks,
- add synchronization elements to enable dialogue between tasks,
- implement FreeRTOS on an embedded board.
This part is based on implementing an operating system for ARMv7/8-m architecture, and a project aimed at implementing a mobile robot.
SEN II (advanced)
The course objective is to introduce students to hardware elements designed to improve embedded systems operational safety, as well as implementing IOT solutions.
Students will acquire knowledge about:
- implementation of ARMv8-m architecture trustzone
- secure bootloaders
- memory protection implementation using MPU / virtual memory implementation using MMU
- BlueTooth/LoRa communication protocols
By the end of the course, students will have experimented with:
- trustzone and implementing a secure update system on ARMv8-m architecture,
- implementing memory protection using MMU or MPU
- implementing an IOT solution and using BlueTooth or LoRa stacks
Learning Outcomes (AAv)
AAv1 [heures: 27, D1, D3, D4]: By the end of semester 7, students will be able to explain, during an oral interview, using code developed in a guided framework, for an ARM Cortex-M architecture, the operating principle of a system call, task switching, task blocking using semaphores, and using semaphores to achieve task synchronization with hardware peripherals.
AAv2 [heures: 9, D2, D3, D4]: By the end of semester 7, students will be able to write a driver for a simple operating system to allow a task to communicate optimally with a peripheral of their choice and demonstrate its proper operation using a test program they have written.
AAv3 [heures: 30, B1, B2, B3, C1, C2, C3, D2, D3, D4, E3]: By the end of semester 7, students will be able to design an application on STM32 microcontroller where all work to be performed has been divided into several tasks, respecting specifications and adding necessary synchronization elements for data exchange between tasks and with peripherals. They will be able to program their solution using FreeRTOS primitives.
AAv4 [heures: 30, C3, C4, D2, D3, D4, E3]: By the end of semester 9, students will be able to structure an embedded project to ensure optimal operational safety.
AAv5 [heures: 30, C3, C4, D2, D3, D4, E3]: By the end of semester 7, students will be able to deploy a secure communication solution to transmit and exploit sensor data in the cloud.
Assessment Methods
Average based on skills assessments from labs/projects.
Keywords
operating system, microprocessor, ARM, pipeline, memory, SDRAM, flash, file, C language, sensors, control systems, security, trustzone, IOT
Prerequisites
Microprocessor principles, interrupts, elementary peripheral couplers, C language and ARM assembly.
Resources
- Course/TD/TP handouts
- Operating Systems - A. S. Tannenbaum
- Computer Architecture, a quantitative approach - J.L Hennessy, D. A. Patterson
- Real-Time Operating Systems for ARM Cortex-M Microcontrollers (Embedded Systems) - Jonathan W Valvano.