The course will be composed of the following parts:
¿ Introduction to embedded systems: Challenges of embedded systems, embedded system design process, Modelling of real-time embedded systems
¿ Linux operating system: strengths and weaknesses of Linux in embedded systems, Linux embedded market overview, Linux filesystem overview, configuring, (cross)compiling and booting a Linux kernel, toolchain generation tools, Linux tools for embedded systems (bootloaders, optimized libraries, Busybox)
¿ Setting a simple Buildroot-based embedded Linux: toolchain configuration, package selection, system configuration, kernel and bootloader configuration, building root filesystem image, customization.
¿ Real-time solutions for Linux: real-time patchs, Xenomai architecture.
¿ Designing autonomous embedded systems: hardware and software components of an autonomous system, harnessing ambient energy for embedded systems
¿ Classical approaches to minimize energy consumption in embedded systems: dynamic power management, DVFS (Dynamic Voltage Frequency Scaling)
¿ Real-time scheduling and power management in autonomous systems that rely on renewable energy harvesting
- Enseignant: Maryline Chetto