173-2 | Embedded systems | Physical engineering and embedded systems | S6 | ||||||
---|---|---|---|---|---|---|---|---|---|
Lessons : 16 h | TD : 0 h | TP : 34 h | Project : 0 h | Total : 50 h | |||||
Co-ordinator : Dimitri Boudier |
Prerequisite | |
---|---|
- Bases in C langage (procedural langage, etc) - Bases in software development tools (IDE, UNIX shell, Makefile, etc) - Bases in numerical systems (combinatorial et sequential analysis, boolean algebra, etc) - Bases in analogical systems (active and passive components, electrical diagram reading, etc) |
|
Course Objectives | |
- Understand the functionning and the architecture of a CPU (Central Processing Unit) base numerical processor, like MCU family (Micro Controller Unit). - Develop a drivers library and an embedded application on MCU - Create the documentation of the solution |
|
Syllabus | |
During main Courses (with demonstrations) : - Introduction of embedded domain - Heterogeneity of processors architectures - Introduction of MCU family - PIC18 MCU architecture from Microchip - PIC18 MCU assembler from Microchip - Scheduling and development of an embedded baremetal (without Operating System) application - Introduction of communication networks (wire and wireless) During Practical Works (development of a firmware for a bluetooth speaker) : - Development of a BSP (Board Support Package) from scratch at the register stage - Development, test and validation of drivers functions (GPIO, Timer, UART, Bluetooth, etc) - Development, test and validation of an embedded application with offline scheduler (bluetooth speaker) - Documentation of solutions |
|
Practical work (TD or TP) | |
Development of a firmware for a bluetooth speaker : - BSP development for the Microchip Curiosity HPC board - Application development with an offline scheduler Hardware and software tools : - ENSICAEN Bluetooth speaker prototypes - MPLABX IDE and XC8 C toolchain from Microchip - Curiosity HPC (MCU PIC18F27K40) board from Microchip - Click Board Audio bluetooth and USBtoUART from Mikroelektronika - ENSICAEN Daughter board with LCD display |
|
Acquired skills | |
- Understand hardware architecture of a CPU base numerical processor - Assembly program analysis - Develop assembly routines - Develop C drivers functions (peripherals) at the register stage - Develop baremetal C embedded application - Test et validate units functions, then integrate some embedded software solutions - Read and analyse processor datasheet - Write technical documentation and software documentation |
|
Bibliography | |
C LANGAGE : The C Programming Language – Kernighan et Ritchie PROCESSOR ARCHITECTURE : Structured Computer Organization - Tanenbaun TOOLS : https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.pdf TECHNOLOGIES : foundry websites, forums et datasheets (https://www.microchip.com/, https://www.st.com, etc) |
© 2024 - ENSICAEN ( Legal Notices - Credits )