1
Architectuur
- Gewone en boordcomputersystemen.
- Beperkingen van ingebedde systemen.
- Algemene architectuur van een ingebed systeem.
- Opstarten van het systeem, opstartfase.
- Linux kernel architectuur. Locatie van bronnen.
- Opstarten van het systeem, opstartfasen (afhankelijke en gemeenschappelijke code).
Praktisch werk
Foutdetectie tijdens compileren, tijdens koppelen, gebruik van Eclipse/CDT, gebruik van een cross-compilatieketen. Debuggen. Opsporen van geheugenlekken en buffer overflows. Dekkingstest op de uitvoering van applicaties.
2
Industriële ontwikkeling onder Linux
- Linux-omgeving.
- Bedrijfsmodus: gebruiker, supervisor.
- Vergunningen en gevolgen voor industriële ontwikkeling.
- Open-source ontwikkeltools (compiler, debugger, analyse-, traceer- en testtools).
- De verschillende IDE's (Integrated Development Environment) : Eclipse...
- Geavanceerde compilatiemethoden.
- De kruiscompilatieketen.
- Geheugenbeheer.
- Detectie van geheugenlekken.
- Bufferoverloop.
3
Flexibele tijdsdeling en realtime planning
- Nauwkeurigheid van tijdmetingen en verwachtingen.
- Planning met gedeelde tijd. Pre-emptibiliteitsregels.
- Algemene werking van de planner, prioriteiten en CPU-sharing.
- Wanneer wordt de kern voorkoopbaar?
- Tijdmanagement en precisietimers.
- Flexibele real-time Posix.1b: principes.
- Proces- en threadplanning configureren.
- Algoritmische problemen gekoppeld aan realtime.
- Linux scheduler: 3.x kernels
Praktisch werk
Processen aanmaken en beheren. CPU prioriteiten en delen. Onderzoeken hoe de scheduler werkt. Processen in realtime schakelen. De nauwkeurigheid van timers en sleepers controleren.
4
Strict real-time - Xenomai uitbreiding
- Strikt real-time principe.
- Overzicht van de Xenomai extensie.
- Strict real-time concepten: principe van Adeos, Xenomai, LinuxRT microkernels.
- Xenomai installatie en API.
- Gebruik van de LinuxRT-extensie.
- Strikte real-time planning in gebruikersmodus.
- Onderbrekingen (activering, deactivering, enz.).
- Bescherming tegen onderbrekingen.
- Communicatiemanagement.
- Presentatie van de Xenomai API, installatie van Xenomai.
- Strikt taakbeheer in realtime.
Praktisch werk
Xenomai installeren. Het creëren van strikte real-time taken. Beheren van communicatie. Schrijven van een interrupt handler en een strict real-time gepland proces. Xenomai installeren en gebruiken.
5
Beperkte omgevingen, ingebedde systemen
- Problemen met ingebedde systemen.
- LinuxRT-systeem, Xenomai: API, ontwikkeling.
- Embedded Linux: een kernelversie kiezen.
- Systeembibliotheken (Newlib, DietLibc).
- Toepassingen en hulpprogramma's aan boord.
- Gebruikersinterface.
- Geoptimaliseerde grafische interfaces (directfb, enz.).
- Presentatie en configuratie van een bootloader.
- Het genereren van een gereduceerde kernel. Algemene informatie over het bestandssysteem.
- Installatie van de compilatieketting.
Praktisch werk
Installatie en compilatie van een aangepaste LinuxRT applicatie, Xenomai en een verkleinde kernel. Aanmaken van een bestandssysteem. Integratie van minimale toepassingen. Schrijven van applicaties met een LED of LCD interface. Installatie van een ingebedde HTTP server.
6
Systeem opstarten aanpassen
- De verschillende opstartfasen (power-up, Bios, kernel loader (Grub, UBoot, etc.).
- De rol van het Init-proces. Het uitvoeringsniveau.
- De inhoud van de Init.
- Het Init-proces vervangen door een aangepaste versie.
- Initialisatie vanuit het gebruikersgedeelte.
Praktisch werk
Een initrd-schijf maken en aanpassen. Het Init proces vervangen door een aangepaste versie en vervangen door een Shell script.