The embedded operating system is a class for the UBO master LSE (“Logiciel pour les Systèmes Embarqués”, software for embedded systems). The class director is Dr. Jalil Boukhobza.
I am in charge of setting up and supervising the final project for this class from scholar years 2011-2012 to 2014-2015. The project lasts about a month. As each project’s aim is in final to have a concrete implementation, we use for that the Armadeus APF27 embedded board running embedded Linux.
In this project the students have to implement a simple storage system consisting of an on-flash key-value store running in kernel space in the embedded Linux operating system. The implementation is done on the Armadeus APF27 board.
Materials for the project (French):
The goal was to build a Linux kernel module using Jprobes to trace applicative VFS requests triggered by system calls such as open(), read() or write(), and log relevant parameters about thoses requests. This tool was implemented on the Armadeus board, running Linux 2.6.29.
Materials for the course (in French):
The goal of the project was to explore the source of the Linux generic NAND driver Memory Technology Device (MTD), and implement a RAM cache at that level to buffer and accellerate flash I/Os. It was implemented on Linux 2.6.29 running on the Armadeus board.
Some materials (in French):
The students were given an IP representing a hardware component playing the role of a generic time manager service for a real time operating system. The component was synthesized on the Spartan 3 FPGA of the Armadeus APF27 board. The students needed to write a driver for this component in the Xenomai real time framework in embedded Linux. The default (software) time manager of Xenomai was the replaced by calls to the harware component, in order to lighten the load due to that service.
Some material (French):