“Sistemi Operativi LINUX Embedded Real-Time”(1 di 4)
“SISTEMI OPERATIVI LINUX EMBEDDED
REAL-TIME”
Tre giornate di studio e di workshop dedicate
al mondo Linux Real Time
1
“Sistemi Operativi LINUX Embedded Real-Time” (2 di 4)
PROGRAMMA DEL CORSO (1 di 3):
INTRODUZIONE
• Panoramica del corso;
• Materiale didattico;
• Libri ed indirizzi Internet di riferimento.
SVILUPPO IN AMBIENTE LINUX
–La Free Software
progetto GNU;
Foundation
– Breve panoramica delle licenze software
Open-Source (i.e. GPL, LGPL, BSD, Dual
Licensing) e scelta della licenza adatta per
lo sviluppo di un prodotto industriale.
• Architettura del Kernel Linux;
• Richiami ai comandi di debugging: ldd, gdb, ddd,
objdump, strace;
• Modo utente e modo supervisore;
• Accenni alla struttura dei makefile e degli script
bash;
• Sviluppo del kernel:
– Gestione di patch: comandi patch e diff;
– Gestione di un repository: accenni all’uso di
cvs, svn.
• Compilare e installare un nuovo kernel;
– Come diventare sviluppatori del kernel;
– Git.
• Linked lists;
• Lo scheduler di Linux;
IL KERNEL LINUX
• Semafori e Spinlocks;
•Introduzione al Kernel Linux:
• Time management e timers del kernel;
– Breve storia dei sistemi Unix e del kernel
Linux;
il
- Accenni allo standard POSIX;
• Richiami ai comandi di compilazione: make, gcc;
• Metodologia di sviluppo:
ed
• Moduli del kernel:
– Come scrivere un modulo del kernel;
2
“Sistemi Operativi LINUX Embedded Real-Time” (3 di 4)
PROGRAMMA DEL CORSO (2 di 3):
– Gestione dei moduli: insmod, lsmod, rmmod,
modprobe;
–Uso di TFTP.
• Problematiche di sviluppo di sistemi embedded
basati su Linux:
• Kernel debugging.
– Crosscompilazione;
SISTEMI EMBEDDED
– Debugging:
Trace32;
• Classificazione dei sistemi embedded;
– Posizionamento dei sistemi Linux Embedded;
– Panoramica
delle
embedded Gestione;
diverse
architetture
– Problematiche nell'uso di sistemi embedded.
gdbserver,
Lauterbach
– Utilizzo di Snapgear e Scratchbox.
•Problematiche di gestione del ciclo di vita del
software nei sistemi Linux:
– Quando occorre cambiare distribuzione?
• Cosa si intende per Embedded Linux;
– Quale versione del Kernel?
• Problematiche di utilizzo di sistemi embedded
basati su Linux:
– Gestione degli update applicativi e di
sistema
– Editing remoto: vim;
– Bootloader U-Boot
– Busybox;
– Connessione ad un sistema Linux Embedded
usando minicom / hyperterminal;
– Trasferimento di files con lrz;
LINUX E REAL-TIME
• Introduzione ai sistemi Real-Time:
– Cosa è un sistema real-time;
–Brevi cenni allo scheduling real-time a
priorità fisse;
3
“Sistemi Operativi LINUX Embedded Real-Time” (4 di 4)
PROGRAMMA DEL CORSO (3 di 3):
– Brevi cenni alle tecniche di gestione delle
risorse condivise nei sistemi real-time.
• Linux e Real-Time:
• Carrier Grade Linux:
– Non solo real-time: altri requisiti;
– Fault-tolerance, hot swap, etc.
– Panorama storico;
– RT-Linux (Yodaiken);
ESEMPI PRATICI
– RTAI;
• Compilazione
Scratchbox:
– LXRT e Fusion;
con
l’ambiente
di
sviluppo
– Problematiche: protezione;
• Compilare ed installare U-Boot:
– Real-Time in user space (UVM);
• Compilazione e flashing di un nuovo kernel;
– RTOS Skins con Xenomai;
• Installare e compilare un kernel soft real-time;
– Libreria Comedi per l’accesso ai devices
• Installazione e
RTAI/Xenomai;
• Real-Time (soft) in user space:
– Obiettivo: Linux diventa Real-Time;
– Latenze del kernel Linux;
– Preemption
patches;
patches
e
Low
– Modifiche allo schedulatore;
– Approcci di ricerca: reservations.
Latency
uso
di
un
kernel
basato
su
• Scrivere, compilare, installare moduli del kernel;
• Compilare ed installare Busybox;
• Trasferimento e flashing di binari utilizzando TFTP;
• Esempi
Trace32;
di
debugging
utilizzando
Lauterbach
• Esempi di utilizzo di sistemi Linux embedded
basato su piattaforma ARM9.
4
Scarica

“SISTEMI OPERATIVI LINUX EMBEDDED REAL