Skip to content

Digital Embedded Systems (07_X-SEN)

  • Coefficient : 5.0
  • Hourly Volume: 126h (including 72h 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

  1. Principle of operating systems
    • architectural elements,
    • synchronization,
    • memory management: paging, virtual addressing,
    • device drivers,
    • file systems.
  2. Hardware target architecture
    • pipelined microprocessor, superscalar, multi-core, GPU
    • instruction and data caches,
    • access protocols to SRAM/SDRAM memory circuits,
    • memory management: MMU
    • storage devices: NOR/NAND Flash memories,
    • bus protocols (JTAG, USB).
  3. Description and simulation of hardware architectures: VHDL
  4. OS Project
  5. Robot Project

SEN I

The objective of the course is to understand the principles of an operating system.

Students will acquire knowledge about

  • the operating principle of an operating system (task, synchronization)

At the end of the course, students will be able to

  • to divide a microcontroller application into tasks,
  • to add synchronization elements to allow dialogue between tasks,
  • implement FreeRTOS on an embedded board.

This part is based on the creation of an operating system for ARMv7/8-m architecture, and a project aimed at the implementation of a mobile robot.

SEN II (advanced)

The objective of the course is to introduce students to the hardware elements intended to improve the operational safety of embedded systems, as well as to the implementation of IOT solutions.

Students will gain knowledge about

  • the implementation of the trustzone of the ARMv8-m architecture
  • secure bootloaders
  • the implementation of memory protection by MPU / the implementation of virtual memory by MMU
  • BlueTooth/Lora communication protocols

At the end of the course, students will have experienced

  • the trustzone and the implementation of a secure update system on an ARMv8-m architecture,
  • setting up memory protection by MMU or MPU
  • implementing an IOT solution and using BlueTooth or Lora batteries

Learning Outcomes AAv (AAv)

  • AAv1 [heures: 27, D1, D3, D4] : At the end of semester 7, the student will be able to explain, during an oral interview, using the code developed in a guided framework, to an ARM Cortex-M architecture, the operating principle of a system call, task switching, blocking tasks by semaphore, and the use of semaphores to achieve synchronization of tasks with hardware devices.

  • AAv2 [heures: 9, D2, D3, D4] : At the end of semester 7, the student will be able to write a driver for a simple operating system to allow a task to communicate optimally with a device of his choice and demonstrate its proper functioning using a test program that he has written.

  • AAv3 [heures: 30, B1, B2, B3, C1, C2,C3, D2, D3, D4, E3] : At the end of semester 7, the student will be able to design an application on an STM32 microcontroller in which the The entire work to be carried out was divided into several tasks, respecting specifications and adding the synchronization elements necessary for the exchange of data between tasks and with peripherals. He will be able to program his solution using FreeRTOS primitives.

  • AAv4 [heures: 30, C3, C4, D2, D3, D4, E3] : At the end of semester 9, the student will be able to structure an embedded project in such a way as to ensure optimal operating security.

  • AAv5 [heures: 30, C3, C4, D2, D3, D4, E3] : At the end of semester 7, the student will be able to deploy a secure communication solution to transmit and exploit data from sensors in the cloud.

Assessment methods

Average carried out on the skills assessments of the labs/projects.

Key Words

operating system, microprocessor, ARM, pipeline, memory, SDRAM, flash, file, C language, sensors, servos, security, trustzone, IOT

Prerequisites

Principle of microprocessors, interrupts, elementary peripheral couplers, C language and ARM assembler.

Resources

Course handouts/TD/TP

Systèmes d’exploitation - 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.