135-2 | Real-time systems | Physics Engineering and Embedded Systems - Apprenticeship | S8 | ||||||
---|---|---|---|---|---|---|---|---|---|
Lessons : 5 h | TD : 0 h | TP : 15 h | Project : 0 h | Total : 20 h | |||||
Co-ordinator : Dimitri Boudier |
Prerequisite | |
---|---|
- Good skills in embedded software development on MCU (Micro Controller Unit) - Good skills in C langage (procedural langage, etc) - Good skills in software development tools (IDE, UNIX shell, Makefile, etc) - Good skills in numerical systems (combinatorial et sequential analysis, boolean algebra, etc) - Good skills in analogical systems (active and passive components, electrical diagram reading, etc) |
|
Course Objectives | |
- Understand main services offer by an operating system - Understand role and work of a scheduler on an application - Understand contraints due to "real time" systems development - Manage use of services and tools of an market RTOS (Real Time Operating System) - Design a "simple" embedded software application ported on a RTOS - Develop and document an embedded software application ported on a RTOS - Read and analyse technicals specifications |
|
Syllabus | |
https://foad.ensicaen.fr/course/view.php?id=118 During main Courses (realise by extern engineer from AIR LIQUIDE, with demonstrations on biomedical market products) : - Reminders about architecture and functionning of digital processor (CPU, SRAM, Flash, IRQ, ISR, etc) - Services and tools offer by an Operating System (illustration on GNULinux) - Definition of "Real Time" concept - Role of scheduler and scheduling strategies - Design and definition of embedded software architecture - Analysis and writing of technicals specifications During Practical Works (development of testing applications, and port of bluetooth application on RTOS) : - Scheduling strategies (cooperative and preemptive) - Model and logical segmentation of memory - robutness and hardening of a program (tests, exceptions, assertions, segmentations overflows, etc) - protection, communication and synchronization tools (mutex, critical section, semaphore, message queue, etc) - Drivers development with system calls - Introduct |
|
Practical work (TD or TP) | |
- Discovery of software services offer by a RTOS (technical illustration on FreeRTOS) - Porting of a baremetal bluetooth application on market FreeRTOS Hardware and software tools (Practical Works) : - Microchip PIC32MZ EF Starter Kit (PIC32MZ 32bits MCU) - Microchip MPLABX IDE and XC32 toolchain - FreeRTOS RTOS Hardware and software tools (project) : - ENSICAEN Bluetooth speaker prototype (PIC18 8bits MCU) - Microchip MPLABX IDE and XC8 toolchain |
|
Acquired skills | |
- Understand main services offer by an operating system - Understand role and work of a scheduler on an application - Understand contraints due to "real time" systems development - Manage use of services and tools of an market RTOS (Real Time Operating System) - Design a "simple" embedded software application ported on a RTOS - Develop and document an embedded software application ported on a RTOS - Read and analyse technicals specifications |
|
Bibliography | |
OPERATING SYSTEM : Modern Operating Systems - Tanenbaun TECHNOLOGIES : foundry and open sources websites, forums et datasheets (www.freertos.org, https://www.microchip.com/, etc) |
© 2024 - ENSICAEN ( Legal Notices - Credits )