Beruflich Dokumente
Kultur Dokumente
Patrice KADIONIK
ENSEIRB
email http
: kadionik@enseirb.fr : http://www.enseirb.fr/~kadionik
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
HISTORIQUE
V1.0 09/02 : cration du document V2.0 09/03 : MAJ des offres Linux embarqu pour plus de clart. Ajout mesures performances TR. V2.1 09/03 : Ajout chapitre sur la mise au point des systmes embarqus.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CHAPITRE 0 : INTRODUCTION
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Cette formation a pour but de prsenter tous les lments techniques pour apprhender le mode des systmes embarqus d aujourd hui : Les systmes embarqus aujourd hui: systmes embarqus, Temps Rel, Linux embarqu, Codesign Le codesign aujourd hui : le mariage du matriel avec le logiciel. La mise au point des systmes embarqus : conception, les outils de debug, trucs et astuces. La connectivit Internet : protocoles Internet pour une connectivit IP. Positionnement par rapport l offre rseau de terrain.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Cette formation a pour but de prsenter tous les lments techniques pour apprhender le mode des systmes embarqus d aujourd hui : Linux embarqu : Les concepts. Le panorama aujourd hui. Prsentation de la mise en uvre de Clinux comme exemple. Le Temps Rel et Linux. Les concepts. Le panorama aujourd hui. Prsentation de la mise en uvre de RTLinux comme exemple.
Des exemples d applications ENSEIRB mettant en uvre les concepts dvelopps prcdemment seront donns.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Microcontroller
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Embedded Processor
DSP
Benefit Digital filtering in few cycles Interface to codecs Hardware support for translation of analog signals High data Throughput from Peripheral DMA Less wasted cycles fetching serial ports data from serial ports Fast data access Harvard architectures and Fast execution of signal variants processing algorithms
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
2-4 Mo 4-16 Mo FLASH FLASH MIPS Hitachi SH x86 PowerPC Ardoise Internet Carte unit centrale System on Chip (SoC) Routeur Dcodeur Stockage en rseau Imprimante en rseau
CompactPCI
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Un systme embarqu : Est un systme numrique. Utilise gnralement un processeur. Excute un logiciel ddi pour raliser une fonctionnalit prcise. Remplace souvent des composants lectromcaniques. N a pas rellement de clavier standard (BP, clavier matriciel...). L affichage est limit (cran LCD) ou n existe pas du tout. N est pas un PC. N excute pas une application scientifique ou commerciale traditionnelle.
ENSEIRB Les Systmes embarqus. Linux embarqu - 17 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Diffrences avec un ordinateur de bureau : L interface IHM peut tre aussi simple qu une led qui clignote ou aussi complexe qu un systme de vision de nuit en Temps Rel. Des circuits numriques FPGA, ASIC ou des circuits analogiques sont utiliss en plus pour augmenter les performances du systme ou sa fiabilit. Le logiciel a une fonctionnalit fixe excuter et est spcifique une application.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE : WIRELESS
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE : ROBOTIQUE
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE : AUTOMOBILE
Car with an automatic headlight leveling system. 1: Rear distance Sensor, 2: Control unit, 3: Speed signal, 4: Front distance sensor, 5: Motor, 6: Lamps.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Beaucoup de systmes embarqus sont fabriqus en grande srie et doivent avoir des prix de revient extrmement faibles, ce qui induit : Une faible capacit mmoire. Un petit processeur (4 bits). Petit mais en grand nombre ! La consommation est un point critique pour les systmes avec autonomie. Une consommation excessive augmente le prix de revient du systme embarqu car il faut alors des batteries de forte capacit. Faible cot : Optimisation du prix de revient.
ENSEIRB Les Systmes embarqus. Linux embarqu - 30 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Kernel
Aujourdhui
- 37 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Technologie Complexit
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
C-Code System C Application Compilers (FIR) Intellectual Property Behavioral VHDL/Verilog RTL
Schematics
10-100K
1K-5K
Equations
1 1991 1993 1995 1997 1999 2001 2003 2005
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Internet Users
Today
Embedded Internet
1980
1985
1990
1995
2000
2005
2010
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
% of SC Market 40 36 32 28 24 20 16 12
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
HARDWARE OU s o f t w a r e ?
Avec l intgration sur silicium de plus en plus importante, la difficult est maintenant de savoir comment implmenter une fonctionnalit. Exemple d un algorithme de compression vido : Plus rapide par hardware mais plus cher. Plus flexible par logiciel mais plus lent. On doit tre capable de jongler en plus avec les paramtres suivants : Cot. Rapidit. Robustesse. Packaging.
ENSEIRB Les Systmes embarqus. Linux embarqu - 62 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SOLUTION A LA COMPLEXITE
Dans le processus de conception du systme, on doit garder un niveau d abstraction important le plus longtemps possible. Le systme doit pouvoir tre dcomposer en sous-systmes suivant une hirarchie logique (approche objet). Si le design change, on doit pouvoir en rutiliser une bonne partie (design reuse). Il ne faut pas jeter la poubelle un prcdent design et repartir from scratch ! On doit pouvoir utiliser des outils de vrification automatique.
ENSEIRB Les Systmes embarqus. Linux embarqu - 66 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LA QUADRATURE DU CERCLE
Quand on conoit un systme embarqu, un certain nombre de contraintes apparaissent : Quel hardware a-t-on besoin ? Quel processeur choisir ? Quelle puissance CPU ? Quelle type de mmoire et taille mmoire a-t-on besoin ? Choix entre hardware rapide ou software intelligent ? La consommation ? Minimiser les accs mmoire ? Choisir les instructions assembleur en fonction de leur consommation ? Les contraintes de temps de conception seront-elles respectes ? Le TTM ?
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LA QUADRATURE DU CERCLE
Quand on conoit un systme embarqu, un certain nombre de contraintes apparaissent : Est-ce que le systme final marche correctement ? Est-ce que les spcifications fonctionnelles ont t respectes ? Comment doit-on tester les caractristiques Temps Rel du systme ? Doit-on le tester avec des donnes relles ? Quelle plateforme de tests doit-on utiliser ?
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
La mthodologie top-down part du niveau le plus abstrait (flux de donnes) pour aller l entit matrielle ou logicielle lmentaire. La mthodologie bottom-up part de l entit matrielle ou logicielle lmentaire implanter pour aller au systme complet. A chaque niveau d abstraction, on doit analyser le design pour en dterminer les caractristiques courantes pour ensuite les affiner au niveau d abstraction infrieur.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
La phase d intgration est primordiale car les bugs apparaissent cette tape. Les tests d intgration doivent tre les plus complets et sont donc consommateurs de temps donc d argent ! Le design reuse est fortement conseill et il vaut mieux de pas partir from scratch. C est en fait une des qualits intrinsques des concepteurs de systmes embarqus !
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CODESIGN HARDWARE/SOFTWARE
Le codesign dans la mthodologie de conception d un systme embarqu est de plus en plus utilis. Le codesign permet de concevoir en mme temps la fois le matriel et le logiciel pour une fonctionnalit implmenter. Cela est maintenant possible avec les niveaux d intgration offerts dans les circuits logiques programmables. Le codesign permet de repousser le plus loin possible dans la conception du systme les choix matriels faire contrairement l approche classique o les choix matriels sont faits en premier lieu !
ENSEIRB Les Systmes embarqus. Linux embarqu - 75 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONCEPTION ET CODESIGN
HW
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Durant le processus de codesign, on distingue les tapes suivantes : Spcifications : liste des fonctionnalits du systme de faon abstraite. Modlisation : conceptualisation et affinement des spcifications produisant un modle du matriel et du logiciel. Partitionnement. Synthse et optimisation : synthse matrielle et compilation logicielle. Validation : cosimulation. Intgration. Tests d intgration.
ENSEIRB Les Systmes embarqus. Linux embarqu - 77 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CODESIGN HARDWARE/SOFTWARE
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES DU CODESIGN
Le codesign est intressant pour la conception de systmes embarqus (ou de SoC) : Amlioration des performances : paralllisme, algorithmes distribus, architecture spcialise Reconfiguration statique ou dynamique en cours de fonctionnement. Indpendance vis vis des volutions technologiques des circuits logiques programmables. Mise profit des amliorations des outils de conception fournis par les fabricants de circuits logiques programmables : synthse plus efficace, performance accrue.
ENSEIRB Les Systmes embarqus. Linux embarqu - 80 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CHAPITRE 3 : LA CONCEPTION ET LA MISE AU POINT DES SYSTEMES EMBARQUES. LES OUTILS, METHODES, TRUCS ET ASTUCES
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PARTIE 1 : INTRODUCTION
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
La conception et la mise au point d un systme embarqu est un processus difficile o le concepteur est vite en proie au doute et demande un certain talent. Ce chapitre se propose de donner quelques pistes et quelques rgles de bon sens dans l art de mettre au point ( debugger ) un systme embarqu : Conception : mise au point du matriel. Tests : mise au point du logiciel avec ventuellement modification du matriel. L exprience acquise lors de la mise au point de prcdents systmes est un capital inestimable...
ENSEIRB Les Systmes embarqus. Linux embarqu - 84 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
La mise au point (debug) d un systme est pnible, long et consommateur d argent. Dans la conception matrielle d un circuit SoC, cette tape de tests/debug (avec des patterns bien choisis) consomme 60 % du temps du projet. Du point de vue logiciel, on estime qu il reste encore 5 % de bugs aprs compilation statique d un code source. Sur un programme de 10000 lignes, cela reprsente 500 bugs avant inspection du code et tests. L inpection du code permet d en liminer 70 80 %, ce qui en laisse encore 100. Aprs tests, on estime en avoir limin 50 %, ce qui en laisse 50 dans le produit fini ! (d aprs J. Ganssle)
ENSEIRB Les Systmes embarqus. Linux embarqu - 85 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Le calcul prcdent est intolrable bien sr ( moins de vouloir vendre des releases tout coup) et l on a donc besoin d outils trs performants et chers (analyseur de couverture du code) pour faire tendre ce chiffre vers 0. Toutes les techniques de management et mthodologie n limineront jamais le besoin de tester et de debugger Le debug est ainsi trs important pour ne pas surinfecter le produit fini...
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Dans le processus de mise au point du systme lectronique, il est primordial de bien connatre la palette d outils disposition. Mettre au point un systme est d autant plus compliqu que l on travaille avec un matriel non encore test... A chaque problme, il existe l outil appropriil convient donc de les prsenter...
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L OSCILLOSCOPE
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
L oscilloscope est le premier outil de debug hard. Il permet de visualiser rellement un signal lectrique : Analogique. Digitale (sans niveaux logiques comme avec l analyseur logique).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES ET INCONVENIENTS
L oscilloscope permet de mettre en vidence parasites, glitchs Il est limit 4 sondes au plus soit 4 signaux. La logique de synchronisation (trigger) est trs limite. Il peut tre intrusif en rajoutant une charge : un circuit logique marche quand on branche une sond sur une broche puis ne marche plus quand on la dbranche (charge capacitive). Il est important d avoir de bonnes sondes calibres avec une grande bande passante pour ne pas dformer le signal.
ENSEIRB Les Systmes embarqus. Linux embarqu - 92 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L ANALYSEUR LOGIQUE
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
L analyseur logique espionne des signaux logiques : bus d adresses et de donnes, signaux de contrle... On peut collecter les accs du processeur en mmoire et ensuite dsassembler le code excut. On voit des adresses physiques externes donc si le cache d instructions ou de donnes est activ, on ne voit pas tout Si les caches du processeur sont dsactivs, il faudra faire attention au prefetch du processeur.
ENSEIRB Les Systmes embarqus. Linux embarqu - 94 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES
L analyseur logique est un outil universel dans la mise au point de systmes numriques. Il n est pas li un processeur particulier. L analyseur logique permet de mettre en place des triggers de dclenchement de l acquisition. Il est important de garder l esprit (idem pour l mulateur ICE) que dans 90 % des cas, on choisit des conditions de trigger simples (boolen) par rapport aux triggers complexes tant vants par les constructeurs ; ce qui en augmente le prix !
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
Un analyseur logique est cher. Il y a le problme de la connectique et du nombre important de signaux capturer. Pour dsassembler le code excut, on est oblig de capturer les bus d adresses et de donnes ainsi que les signaux de contrle soit un nombre trs important de signaux logiques. Si l on a valid l optimisation du code (compil ou assembl), il peut tre difficile de remonter au fichier source par dsassemblage.
ENSEIRB Les Systmes embarqus. Linux embarqu - 96 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
Quand on branche l analyseur logique , on introduit une charge diffrente sur un bus. On peut ainsi masquer ou crer des problmes. La charge peut rduire le bruit induit et l ensemble marche dans un environnement bruit. On enlve l analyseur et plus rien ne marche. Cela peut tre aussi le contraire. L analyseur logique est donc intrusif. L analyseur logique est passif : on n a pas de contrle sur le processeur.
ENSEIRB Les Systmes embarqus. Linux embarqu - 97 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
Il faudra faire attention aux caches valids. L analyseur logique fait un chantillonnage. Il convient donc d avoir une frquence d acquisition suffisante et une taille mmoire d acquisition consquente...
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LE MONITEUR ROM
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Le moniteur ROM est un programme de debug accessible depuis un port de communication (liaison srie). Il dialogue avec une application debugger pour lui envoyer la valeur courante d un registre, d une adresse mmoire et placer un point d arrt simple une adresse donne ou tlcharger en mmoire du code.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
POINT D ARRET
Un point d arrt (breakpoint) permet de drouter l excution normale du code de l application du systme pour en examiner l tat (du processeur, de la mmoire, des E/S...) ou le modifier. L instruction pointe par le point d arrt (son adresse) est remplace par une routine spcifique (ou un trap) : Sauvegarde des registres du processeur. Examen de l tat du processeur. Restauration des registres du processeur.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
POINT D ARRET
Code image in memory: after instruction n-1 trap vector to debugger entry point instruction n+1 instruction n
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE DE MONITEUR
Moniteur Buffalo pour le microcontrleur 68HC11 :
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE DE MONITEUR
Moniteur JBug11 pour le microcontrleur 68HC11 :
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES
Le moniteur ROM est bon march. Il n y a pas de problmes de connectique. Il n y a pas de problmes de rapidit (c est du code excut).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
Le moniteur ROM demande un port de communication exclusif prvoir dans le design. Il consomme des ressources du systme cible : RAM, ROM, interruptions ; ce qui peut tre gnant pour un tout petit systme. Il y a toujours des problmes de configuration lors de la prise en main. Il ne marche pas s il y a des bugs matriels. Il ne possde pas ou peu de possibilits de debug en Temps Rel.
ENSEIRB Les Systmes embarqus. Linux embarqu - 106 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L EMULATEUR ROM
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
L mulateur ROM est un quipement qui se branche sur un support de mmoire ROM du systme cible mais contient de la RAM au lieu de la ROM (Overlay RAM) Il possde : Un cble de liaison en concordance avec les spcificits du support ROM. De la RAM rapide. Un contrle du processeur (reset) Un port de communication avec le systme hte pour le debug. C est un moyen simple et rapide de tlcharger du code dans la cible en lieu et place de la mmoire ROM initiale.
ENSEIRB Les Systmes embarqus. Linux embarqu - 108 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
LAN, serial or parallel Simple plug-in probe substitutes for system ROMs
Main chassisTarget system - Overlay memory - Trace Capability - System control and host interface ENSEIRB Les Systmes embarqus. Linux embarqu - 109 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES
L mulateur ROM est bon march. Il est compatible avec diffrents types de mmoires et n est donc pas li un type de processeur comme l mulateur ICE Il permet d ajouter un port de communication temporaire au systme. Le tlchargement de code est rapide. On peut tracer l activit ROM en Temps Rel.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES
On peut mettre un point d arrt en ROM. Il peut tre utilis avec d autres outils de debug.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
L mulateur ROM a besoin d tre de plus en plus rapide (comme l mulateur ICE) avec l volution des processeurs. Il ne fonctionne qu avec une interface ROM : problme si l on a un microcontrleur avec de la ROM interne. Beaucoup de systmes font une recopie ROM vers RAM pour des soucis de performance donc l mulateur ROM est hors jeu. Il est inefficace en cas de problmes matriels sur le systme. Il est intrusif.
ENSEIRB Les Systmes embarqus. Linux embarqu - 112 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L EMULATEUR ICE
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
ICE est l acronyme de In Circuit Emulator.
Pourquoi utiliser un mulateur ICE ? Si le hardware du systme n est pas parfait. C est le meilleur outil pour dtecter des problmes matriels mais aussi logiciels. Il n utilise pas de ressources du systme cible. Il supporte un debug en Temps Rel avec possibilits de trace, triggers C est l outil parfait pour un intgration conjointe matrielle et logicielle.
ENSEIRB Les Systmes embarqus. Linux embarqu - 114 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
L mulateur ICE combine la fois un debugger, un mulateur ROM et un analyseur logique. Il se substitue compltement au processeur qu il va muler :
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Host computer runs emulator control software - Provides run control - Displays real time trace at source level - Loads overlay memory with object code - High-speed link to emulation chassis Probe head contain emulation microprocessor - Substitutes for, or disables target microprocessor - Contains run control circuitry and cable buffers - May contain memory mapping hardware
Main chassis - Contains emulation ( overlay memory ) - Trace analysis hardware and trace memory - Performance analysis hardware ( - Power supply - Control and communications ENSEIRB
Target system
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
L mulateur ICE permet de contrler le systme : Lecture/criture en mmoire. Modification des registres du processeur. Pas pas. Points d arrt. Dsassemblage de code. Tlchargement de code.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
L mulateur ICE se comporte comme un mulateur ROM : Overlay RAM. Possibilit de panacher mmoire Overlay RAM et mmoire du systme cible. Possibilit de fixer des attributs des zones mmoire : ROM : pas dcriture possible. Mmoire donnes, mmoire code. Mmoire partage : simulation dE/S.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
L mulateur ICE supporte l Overlay RAM : l intrieur de l mulateur, la RAM est mappe dans l espace d adressage du processeur de la cible pour remplacer sa mmoire ROM ou FLASH. On peut ainsi tlcharger rapidement du code tester en Overlay RAM sans reprogrammer la mmoire ROM de la carte cible. Point d arrt matriel : stoppe l excution du programme sans affecter le contexte du processeur. Point d arrt logiciel : insertion dans le code d un appel vers une routine de debug. Il y a un problme si le code est en mmoire externe ROM car pas d criture possible.
ENSEIRB Les Systmes embarqus. Linux embarqu - 119 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES
L mulateur ICE est l outil roi pour la mise au point matrielle et logicielle. Il fournit toutes les fonctionnalits de debug ncessaires. Le contrle du processeur est garanti quel que soit l tat matriel du systme cible. Il connat les instructions en cache et il filtre les activits de prefetch du processeur.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
L mulateur ICE cote trs cher. Il est fabriqu pour un type de processeur donn. Si l on utilise un nouveau processeur, il faudra mettre jour l mulateur ICE. Problme de la connectique, du prix et de la fragilit de la tte : adaptation pourvoir si processeur CMS. Il ne supporte pas toujours toutes les variantes d un processeur donn (microcontrleur). Les gens pensent que l mulateur ICE est difficile utiliser.
ENSEIRB Les Systmes embarqus. Linux embarqu - 124 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
Le systme cible doit tre conu pour supporter la tte de l mulateur ICE. Un mulateur ICE ne fonctionne pas toujours la frquence maximale du processeur. Quand on branche l mulateur ICE, on introduit une charge diffrente de celle du processeur. On peut masquer ou crer des problmes. La charge introduite peut rduire le bruit induit et l ensemble marche dans un environnement bruit. On enlve l mulateur ICE et plus rien ne marche. Cela peut tre le contraire. L mulateur ICE est donc intrusif.
ENSEIRB Les Systmes embarqus. Linux embarqu - 125 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
JTAG
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Le JTAG (Joint Test Action Group) a t originellement cr pour le BIST : Built In Self Test (autotests de circuits lectroniques). C est un standard IEEE (1149.1) qui permet originellement de tester des circuits lectroniques pour l industrie des cartes PC. Le JTAG possde 3 entits : le contrleur TAP (Test Access Port). Machine 16 tats. Un registre dcalage d instructions. Un registre dcalage de donnes.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Le JTAG forme une boucle srie interconnectant les broches d E/S des circuits surveiller/analyser (un point d entre, un point de sortie). La boucle peut tre active (criture) et/ou passive (lecture). On rcupre ainsi un flux de donnes srie plus ou moins important. On va donc balayer priodiquement les composants JTAG (boundary scan). Chaque bit du registre dcalage de donnes du JTAG correspond la valeur instantane d une broche du circuit. On peut lire sa valeur courante ou lui affecter une nouvelle valeur (criture).
ENSEIRB Les Systmes embarqus. Linux embarqu - 128 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Each JTAG cell sniffs the state of the corresponding output bit of the IC
JTAG Connector
JTAG bit stream in JTAG bit stream out PC Board Bit stream forms one long shift-register ENSEIRB Les Systmes embarqus. Linux embarqu - 129 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Le contrleur TAP possde 4 broches : TCK : horloge (Test ClocK). TMS : mode test de contrle du TAP (Test Mode Select). TDI : entre donne srie (Test Data In). TDO : sortie donne srie (Test Data Out).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Program Counter - PC
Register R2
Processor Core
Register Rn
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Register R1
AVANTAGES
Le debugger JTAG est un debugger on chip (OCD On Chip Debugger). On peut mettre des points d arrt, faire du pas pas, regarder la mmoire, changer une valeur en mmoire, tlcharger du code Le JTAG est un standard ouvert et non propritaire comme le BDM. Il est adapt aux composants monts en surface. Il est bon march.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES
Il n utilise pas beaucoup de broches car il met en uvre un protocole srie. Il permet d observer des entres et positionner des sorties sans utiliser la logique du systme. Il permet de rduire les points de tests sur le systme. Il ne marche qu avec un processeur le supportant. Si un processeur supporte le JTAG pour le debug, rajouter toujours le connecteur JTAG sur le PCB (on ne sait jamais) ou le connecteur BDM !
ENSEIRB Les Systmes embarqus. Linux embarqu - 136 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES
Il peut tre utilis aussi pour la programmation de mmoire flash embarque sur le systme. Il supporte ventuellement des point d arrt matriels simples. Une broche spciale suspend l activit du CPU dans l extension JTAG.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
Il peut tre lent : chaque bit doit tre dcal dans le registre dcalage. La boucle peut tre grande (>10000 bits). Il n a pas toujours de points d arrt hard. Il n y a pas de points d arrt complexes comme avec l mulateur ICE. Il n y a pas d Overlay RAM.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
BDM
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Le BDM (Background Debug Monitor) est un debugger on chip (OCD On Chip Debugger) propritaire dvelopp par Motorola pour ses processeurs CPU32 (683xx, ColdFire). Il utilise un connecteur 10 ou 26 broches sur le systme cible. Un logiciel de debug sur l hte dialogue via la liaison BDM avec le debugger OCD en envoyant des commandes de debug de (16+1) bits mis en srie.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
A15-A12
PST $5 : dbut de l excution d un branchement valide PST $9 : dbut d un transfert de 2 octets sur le port DDATA (adresse de branchement ici soit $1000) PST $0 : suite transfert
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
DEBUG
Les signaux du BDM DSCLK, DSI et DSO forment une liaison srie synchrone pour passer des commandes de debug (DSI) et de rcuperer des informations (DSO). Les commandes de debug et les donnes changes forment des mots de 17 bits : 16 bits : commande, paramtre, donne. 1 bit : contrle/tat. Non utilis et laiss 0.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
DEBUG
Liste des commandes de debug :
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
DEBUG
Commande READ :
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AVANTAGES
Le BDM est bon march. C est un OCD (On Chip Debugger). Le BDM a les avantages de mise au point d un monitor (on Chip) et offre en plus beaucoup des fonctionnalits d un mulateur ICE. Comme la logique BDM est l intrieur du processeur, on peut voir toute l activit CPU et les accs aux caches.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INCONVENIENTS
Il n y a pas de points d arrt complexes. Il n a pas toujours de points d arrt hard. Il n y a pas d Overlay RAM.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SIMULATEUR
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SIMULATEUR
Le simulateur (ISS Instruction Set Simulator) est un logiciel excut par le systme hte de dveloppement pour simuler un processeur cible particulier. La principale difficult est de simuler les priphriques rels du systme cible. Les simulateurs sont plutt rservs de petits processeurs (microcontleur) : MPLAB pour le simulateur PIC Microchip.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENVIRONNEMENT DE DEVELOPPEMENT
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Dvelopper et mettre au point une application pour un systme embarqu est un art difficile matriser pour une application allant de la simple superboucle (boucle plus interruptions) jusqu un ensemble de processus coopratifs excuts par un systme d exploitation embarqu. On a gnralement un environnement de dveloppement crois avec : Une machine hte (host) pour le dveloppement et la mise au point. Un systme cible ou target dans lequel on va tlcharger l application puis l excuter dans la phase de mise au point. La mise au point fera appel aux outils prcdents : mulateurs ICE ou ROM, BDM, JTAG, moniteur.
ENSEIRB Les Systmes embarqus. Linux embarqu - 160 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENVIRONNEMENT DE DEVELOPPEMENT
On a un environnement de dveloppement crois :
host
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENVIRONNEMENT DE DEVELOPPEMENT
On va dvelopper et tester l application sur une plateforme standard (PC) avec des outils logiciels conviviaux afin de faciliter le debug. On aura un compilateur crois sur l hte pour avoir un code objet excutable par le processeur de la cible. On aura un debugger crois sur l hte pour mettre au point l application excute par le processeur de la cible.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENVIRONNEMENT DE DEVELOPPEMENT
Source Listing Source Listing Create User Library (optional) Librarian
C or C++ Compiler
Assembler
User Library
Include Files
Link Map
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENVIRONNEMENT DE DEVELOPPEMENT
Si l on travaille en langage volu (langage C), on teste au niveau du source en langage volu (source level debugging). Le debugger crois (au niveau source) sera coupl avec un quipement de debug (ICE, mulateur ROM, BDM, JTAG...). Il doit supporter le mode trace en Temps Rel pour capturer le traitement d une interruption (ISR) sans ralentir le systme.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Avant de commencer quoi que ce soit, il convient d abord de prparer le terrain quand on doit dvelopper le firmware. Il est important de savoir de quels outils on a besoin et s assurer qu il sont compatible avec le systme debugger. Les points ne pas ngliger : Etre impliqu dans la conception du systme. Comprendre et matriser le hardware du systme et tre sympa avec le designer. Avoir une copie de tous les documents. Etre sr que le matriel marche. Commencer doucement (mais srement). Regarder ce que l on vient de concevoir.
ENSEIRB Les Systmes embarqus. Linux embarqu - 166 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
MAITRISER LE HARDWARE
Etablir une bonne relation entre les gens du matriel et du logiciel, ne pas se jeter la balle : c est pas le soft qui plante, c est le hardnon c est pas le hard qui plante, c est le soft Passer un peu de temps avec le gens du hardware, poser des questions. Ne pas passer son temps les espionner . Rester humble. Avoir une copie des schmas.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
COMMENCER DOUCEMENT
Faire de petits pas. Ne pas se lancer dans un norme programme mais procder par de petits programmes de tests pour tester un fonctionnalit bien particulire. Points vrifier : Est-ce que le programme est bien mapp en mmoire ? Est-ce que la procdure de reset du CPU est bien comprise ? Est-ce que le fichier objet est dans le bon format ? Est-ce que le programmateur est bien configur ? Est-ce que le partitionnement de la mmoire de boot adresses paires/impaires est bien ralis ? Est-ce que le matriel marche rellement ?
ENSEIRB Les Systmes embarqus. Linux embarqu - 171 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
COMMENCER DOUCEMENT
Rechercher des exemples de code sur le site du fondeur du processeur. S abonner aux user groups adquats. Rechercher des informations sur Internet.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Aprs le prambule prcdent, il est possible de toucher au matriel. En cours d criture du logiciel (firmware), il y a nanmoins des tests matriels faire quelquefois quand on dcouvre des bugs matriels ou un firmware qui ne fait pas ce que l on veut. Il est important de faire alors appel l quipe hardware pour confirmation et correction. Les procdures suivantes sont importantes valider.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
POINTS A VERIFIER
Vrifier les tensions d alimentation : Utiliser un voltmtre. Utiliser un oscilloscope. Prsence de bruit sur les alimentations ? Vrifier la prsence d une horloge valide : Utiliser un oscilloscope : prsence d une horloge sur le CPU, bonne frquence ? Vrifier la bonne assertion des Chip Select au boot (reset).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
POINTS A VERIFIER
Utiliser une loupe pour vrifier la bonne soudure des broches : pas de soudures froides, faux contacts. Faire attention aux dcharges ESD. Utiliser un bracelet anti statique. Ecrire une simple boucle installe au vecteur de reset pour vrifier la bonne assertion du Chip Select de la mmoire ROM (68000, installer au vecteur 0). S aider au besoin d un analyseur logique : LOOP JUMP LOOP
ENSEIRB Les Systmes embarqus. Linux embarqu - 177 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
POINTS A VERIFIER
Utiliser une led comme test (avec le programme tester) si l on n a pas d analyseur logique ou d oscilloscope (ce qui serait surprenant !). Jouer sur la rapidit du clignotement, led allume ou teinte. Une fois ce point acquis, crire 3 routines : led_on() led_blink_slow() led_blink_fast() et s en servir comme routines de debug. Si l on a plus de leds, on peut indiquer un tat de progression dans la phase de boot (3 leds soit 8 tats).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
POINTS A VERIFIER
Tester la SRAM externe (patterns $55 et $AA comme tests grossiers). Tester la liaison srie (programme d cho). Initialiser le contrleur de DRAM. Et si tout va bien alors : programmer en langage volu de type C. Utiliser un compilateur crois C qui offre les routines C ANSI d E/S et modifier le getchar() et putchar() pour coller son hardware. On a accs alors son printf() prfr pour un debug simple...
ENSEIRB Les Systmes embarqus. Linux embarqu - 179 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
POINTS A VERIFIER
Faire attention aux donnes C initialises au reset du systme. Elles doivent donc tre mise en mmoire non volatile. On ne peut donc pas les modifier en cours d excution d un programme. Regarder la documentation du compilateur crois et notamment la section chargeur (loader) en analysant plus particulirement le fichier ASM crts.s.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Il ne suffit pas savoir programmer, il faut savoir bien programmer ! Un systme embarqu doit tre robuste et son code bien crit. Le langage de prdilection pour le dveloppement logiciel est le langage C. Le langage C est un langage de haut niveau mais proche du matriel. Cette partie met le doigt sur certains points de la programmation en langage C auxquels il faudra faire trs attention.
ENSEIRB Les Systmes embarqus. Linux embarqu - 182 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
GENERALITES
Se mfier des options d optimisation du compilateur. Bien traiter les interruptions utilises par le systme en renseignant les vecteurs concerns dans la table des vecteur du processeur. Mise en place de la routine d interruption ISR (Interrupt SubRoutine). Renseigner toute la table des vecteurs mme pour les interruptions non utilises (ISR dummy).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CLASSES DE STOCKAGE
Pour un systme embarqu, on est concern par la faon dont le compilateur (C) va stocker les variables. On doit garder le contrle du placement/mapping mmoire. La classe de stockage d une variable peut tre : auto : auto int a; Classe de stockage par dfaut pour une fonction. Stockage sur la pile. Variable dtruite (dsalloue) en fin d excution de la fonction.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CLASSES DE STOCKAGE
La classe de stockage d une variable peut tre : register : register int a; Stockage de la variable dans un registre du processeur. Accs la variable trs rapide. Limitation par le nombre de registres de donnes. static : static int a; Contraire de auto. Dans le cas d une telle variable de fonction, elle existe durant toute la dure d existence de la fonction. Si c est une variable globale, elle existe durant toute la dure d excution du programme.
ENSEIRB Les Systmes embarqus. Linux embarqu - 185 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CLASSES DE STOCKAGE
La classe de stockage d une variable peut tre : extern : extern int a; Variable dfinie dans un autre fichier source. Variable importe. Utilis durant la phase d dition de liens pour rsoudre les rfrences croises.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
MODIFICATEURS D ACCES
Il existe 2 modificateurs d accs une variable : const : const int a=10; La valeur de la variable ne peut pas tre change par le programme. A placer en mmoire ROM. volatile : volatile char a; La valeur de la variable peut changer d elle-mme en cours d excution du programme. Registre d E/S mapp en mmoire. Zone mmoire servant de buffer par un priphrique externe (contrleur DMA).
ENSEIRB Les Systmes embarqus. Linux embarqu - 187 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Le code assembleur gnr est alors : mov ptr, #0x1234 loop mov a, @ptr bz loop On a alors le comportement attendu !
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L ENVIRONNEMENT
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
DEVELOPPEMENT VS PRODUCTION
En phase de dveloppement, on a disposition des outils : Qui permettent un tlchargement rapide. Qui permettent de tlcharger le noyau Linux. Qui permettent de tlcharger l application par NFS. Qui permettent de dvelopper, de tester sur l hte puis de porter sur la cible. En phase de production, le bootloader, le noyau et son root File System sont roms en mmoire FLASH : Taille totale ? Comment mettre jour (correction de bugs) ?
ENSEIRB Les Systmes embarqus. Linux embarqu - 201 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
QUOI DEVELOPPER ?
On doit dvelopper : Le systme lectronique (procdure classique). Le bootloader. Le portage du noyau. Les pilotes de priphriques. L application. L intgration du tout.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
DEVELOPPEMENT DU BOOTLOADER
Dveloppement du bootloader : En utilisant les sources ventuels fournis avec la carte si on l a achete. En utilisant un bootloader open source : U-boot, RedBoot, Colilo Se l crire soi-mme. Le bootloader est en mmoire FLASH. Il prend en charge l initialisation de base du systme, les autotests, la dcompression de l image+root FS stocks en mmoire FLASH ou tlcharg (liaison srie ou rseau). Il peut avoir des fonctions de debugger (moniteur).
ENSEIRB Les Systmes embarqus. Linux embarqu - 203 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PORTAGE DU NOYAU
Il est important de comprendre comment marche le noyau et notamment la procdure de boot. Il faut choisir le portage correspondant au type de processeur de la cible. Il faut modifier ventuellement les sources du noyau (fichiers ASM) pour coller au hardware de la carte cible.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
DEVELOPPEMENT DE L APPLICATION
Il est important de voir s il n existe pas dj une application existante collant son besoin. Dans le cas ventuel, la porter sur sa cible. Dans le meilleur des cas, cela se traduira par une simple recompilation croise. Choisir de prfrence des applications open source. Considrer le dveloppement d une interface graphique (GUI Graphical User Interface) si besoin : systme de type Xwindow. Frame buffer. Microwindows, Qt/embedded...
ENSEIRB Les Systmes embarqus. Linux embarqu - 206 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTEGRATION SYSTEME
Il faudra veiller : Evaluer la taille mmoire consomme (RAM, FLASH) Prendre en compte la faible empreinte mmoire : Chargement du noyau en RAM ou XIP (eXecute In Place). Root File System en RAM ou FLASH. Type du systme de fichiers : ext3, JFFS2 pour un systme embarqu. Bibliothques : statiques ou dynamiques. Bibliothques libc light (Clibc).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CHAPITRE 4 : LA CONNECTIVITE IP
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
La connectivit IP met en uvre diffrents protocoles Internet qu il convient de prsenter (de faon gnrale). Qui fait quoi ? Une introduction rseau sera donne pour mieux comprendre l imbrication des diffrents protocoles IP. Internet est un rseau de transmission de donnes et est bas en partie sur le modle OSI des systmes ouverts qu il faut introduire.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Le modle OSI est le modle dinterconnexion des systmes ouverts (OSI) de lOrganisation de Standardisation Internationale (ISO) (norme ISO 7498 en 1983). Le modle OSI est une base de rfrence pour identifier et sparer les diffrentes fonctions dun systme de communication (vue de lesprit, modle logique). Un rseau de communication est bas sur une structure en couches.
OSI : Open System Interconnexion ISO : International Standardisation Organism
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Le modle OSI est un modle hirarchique plusieurs couches ou niveaux : Une couche est cre quand un niveau dabstraction est ncessaire. Chaque couche exerce une ou plusieurs fonctions prcises. Le choix des frontires entre chaque couche doit limiter le flux de donnes changes. Le nombre de couches doit tre suffisant pour viter de faire cohabiter dans une mme couche des fonctions trop diffrentes. MODELE OSI A 7 COUCHES
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Le modle OSI ne propose pas une architecture de rseau universelle. Le modle OSI dcrit seulement ce que chaque couche doit raliser. LISO a quand mme propos des normes (protocoles) pour ces couches (HDLC, LAP-B...) reprises par l UIT-T. Chaque couche assure un ensemble de fonctions spcifiques : Chaque couche utilise les services de la couche immdiatement infrieure pour rendre son tour un service la couche immdiatement suprieure. Une entit est llment actif dune couche (matriel, logiciel). Les entits dune mme couche sur 2 noeuds diffrents sont des entits paires ou homologues.
ENSEIRB Les Systmes embarqus. Linux embarqu - 213 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
N - PDU couche (N) (N-1) - PCI couche (N-1) (N-1) - PDU (N-1) - SDU N - SAP
PDU : Protocol Data Unit SDU : Service Data Unit PCI : Protocol Control Information SAP : Service Access Point
couche (N - 2)
Application du principe dencapsulage des donnes passes dun niveau un autre (poupes russes) : Encapsulage des donnes vers les niveaux infrieurs (mission). Dsencapsulage des donnes vers les niveaux suprieurs (rception). Diminution du dbit utile.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
noeud A 7 6 5 4 3 2 1 application reprsentation session transport rseau liaison physique
AH RH SH TH RH DH donnes donnes
donnes
donnes
donnes
donnes DT
donnes
donnes
SUPPORT PHYSIQUE
Le modle OSI possde 7 couches : F Couches 1 4 : couches basses charges dassurer un transport optimal des donnes. F Couches 5 7 : couches hautes charges du traitement des donnes (reprsentation, cryptage...).
ENSEIRB Les Systmes embarqus. Linux embarqu - 215 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Couche 1 ou couche physique : F Mode de reprsentation des donnes (bits) ou codage. F Spcifications mcaniques et lectriques. F Synchronisation, dtection erreur bit. Couche 2 ou couche liaison de donnes : F Assure un premier niveau de contrle de la transmission en offrant un service de transmission scuris. F Structuration des donnes sous forme de trames. F Dtection et correction (par retransmission) des erreurs. et non corriges par le niveau 1 (utilisation de codes dtecteur/ correcteur derreur CRC pour erreur trame).
CRC : Code de Redondance Cyclique
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Couche 3 ou couche rseau : F Routage et acheminement des donnes formates en paquets travers les diffrents noeuds du rseau (notion dadresse). F Gestion de la congestion dans le rseau. Couche 4 ou couche transport : F Gestion du dialogue entre les 2 noeuds actifs. F Formatage des donnes sous forme de messages adapts au niveau 3. F Deux modes de connexion : - mode connect : connexion de bout en bout scuris avec multiplexage de voies possible (ex : TCP) . - mode non connect : service datagramme non fiable (ex : UDP).
ENSEIRB Les Systmes embarqus. Linux embarqu - 217 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Couche 5 ou couche session : F Structuration du dialogue entre la session tablie (break...). Couche 6 ou couche reprsentation : F Reprsentation des donnes manipules par les 2 applications communicantes (format, compression, cryptage...). Couche 7 ou couche application : F Interface entre lapplication de lutilisateur et le service de communication. F Dfinition dapplications normalises (messagerie...).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Interconnexion
Ncessit dajouter des lments dans un rseau de communication : F Extension du rseau (plus de noeuds, plus long). F Connexion vers un autre type de rseau.
Diffrents types dquipements mis en uvre suivant le niveau du modle OSI considr.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
application reprsentation session transport rseau liaison physique
Interconnexion
physique
physique
Rpteur ou amplificateur (repeater) : F Amplification du signal pour augmenter la distance. F Conversion de signaux (RS-485 vers fibre optique).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
application reprsentation session transport rseau liaison physique
Interconnexion
liaison physique
liaison physique
Pont (Bridge) : F Conversion de signaux (couche 1) et de format des trames du niveau liaison (couche 2).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
application reprsentation session transport rseau liaison physique
Interconnexion
Routeur (router) : F Conversion de format des paquets et notamment des adresses. F Routage des paquets suivant adresse entrante vers des liens prdfinis (sous-rseau ou subnetwork) (routeur IP). F Systme intelligent (diminution du dbit).
ENSEIRB Les Systmes embarqus. Linux embarqu - 222 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Critres de classification
On peut classer un rseau suivant diffrents critres : F Distance entre les lments les plus loigns. F Dbit maximum. F Nombre maximum de nuds. F Protocoles mis en uvre (mthode daccs au mdium). F Topologie. Les diffrentes topologies possibles sont : F Anneau (ring). F Etoile (star). F Bus. F Arbre (tree). F Quelconque.
ENSEIRB Les Systmes embarqus. Linux embarqu - 223 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
Mthodes daccs au mdium
Importance fondamentale de la couche liaison de donnes. Division en 2 sous-couches : reprsentation 6 F Sous-couche LLC (Logical Link Control) : session 5 transport * Filtrage des messages. 4 rseau 3 * Recouvrement des erreurs bit / trame. LLC 2 * Notification de surcharge (overrun). MAC F Sous-couche MAC (Medium ACcess) : physique 1 * Mise en trame, gestion mission / rception. * Dtection / signalisation erreur bit. * Arbitrage : gestion des accs simultans sur le mdium car collisions possibles (temps de latence). * Importance de la topologie.
Les Systmes embarqus. Linux embarqu - 224 application 7
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
matre 1er 2me 3me Mthodes daccs au mdium
Accs par polling : F Un noeud matre consulte priodiquement les noeuds esclaves par un message de polling leur donnant le droit dmettre. F Systme centralis (Matre/Esclave). F Point faible : matre. F Peu efficace. F Communication entre esclaves possible via le matre.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
matre
Sync
Accs par multiplexage temporel (Time Division Multiple Access) : F Emission dun mot de synchronisation par le noeud matre. F Emission des donnes par tous les noeuds un Intervalle de Temps prcis (IT). F Taille des donnes fixe. F Meilleur efficacit que le polling .
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
jeton 1 2
Accs jeton sur anneau (Token Ring) : F Topologie en anneau. F Circulation dune trame particulire (jeton) de noeud en noeud quand pas dmission. F Le noeud dsirant mettre sur le mdium garde le jeton, met sa trame puis rend le jeton. F Connexion point point, dterminisme. F Problmes si mdium rompu, perte ou duplication de jeton. F Variante : bus jeton.
ENSEIRB Les Systmes embarqus. Linux embarqu - 227 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
noeud 1 noeud 2 noeud 3 collision
Accs CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) : F Les noeuds attendent un blanc avant dmettre. F Chaque trame possde un identificateur (peut tre lidentificateur du noeud). F On distingue le bit dominant du bit rcessif. F Accs multiples possibles. F En cas de contention, larbitrage se fait sur les bits de lidentificateur (Bitwise Contention) (OU cbl). F Introduction de priorits. F Efficacit importante. F Larbitrage introduit une longueur max du rseau : time_bit > 2 t_prop_bus = 2 l_bus/v
ENSEIRB Les Systmes embarqus. Linux embarqu - 228 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RAPPELS RESEAU
noeud 1 noeud 2 noeud 3
(ex : Ethernet)
collision
Accs CSMA/CD (Carrier Sense Multiple Access/Collision Detection) : F Les nuds attendent un blanc avant dmettre. F Si plusieurs missions simultanes, dtection de la collision. F Accs multiples possibles. F En cas de contention, larbitrage se fait par dure dattente alatoire pour chaque nud en collision. F Problme si charge leve. F Peu dterministe (risque de blocage).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SMTP
NFS
HTTP
FTP
Application Layer
UDP
TCP
Transport Layer
ICMP IP
Internet Layer
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ADRESSAGE
Chaque ordinateur (ou systme embarqu) est repr de faon unique par une adresse Internet ou adresse IP. C est une adresse sur 32 bits (4 octets). L adresse est indispensable dans tout rseau de communication ! Notation dcimale pointe de 4 nombres entiers : (1 par octet : nombre entre 0 et 255). Ex : 147.210.18.138 Une adresse IP comprend 2 champs : <id. rseau> <id. machine>
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ADRESSAGE
Le premier octet code la classe de rseau. Ce dcoupage en classe permet de cataloguer les diffrents rseaux. Classe A pour les trs grands rseaux de plus de 216 =65536 ordinateurs. Classe B pour les rseaux de 65536 ordinateurs maximum. Classe C pour les rseaux de 256 ordinateurs maximum. On trouve principalement en France des rseaux de classe B et C. La gestion des adresses est faite par INTERNIC. En France, c est l INRIA.
ENSEIRB Les Systmes embarqus. Linux embarqu - 235 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ADRESSAGE
Certaines combinaisons sont rserves : ex : <id. rseau> <id. machine 0> : sert identifier le rseau luimme. ex : 147.210.18.0 ex : <id. rseau> <id. machine 255> : broadcast. ex : 147.210.18.255 Certaines plages d adresses sont rserves : intranet : rseau dordinateurs proches non relis l Internet mondial. ...
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
DNS
gov
com
edu
org
fr
es
de
www
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
IP, ARP, RARP MAC(CSMA/CD), SLIP, PPP Ethernet, V.24, RTC, xDSL RNIS, radio, courant porteur
(R)ARP : (Reverse) Address Resolution Protocol CSMA/CD : Carrier Sense Medium Access/ Collision Detect MAC : Medium ACCess PPP : Point to Point Protocol (RFC 1548) SLIP : Serial Link IP (RFC 1055)
RTC : Rseau tlphonique Commut RNIS : Rseau Numrique Intgration de Services xDSL : x Digital Subscriber Line
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Type donnes (2 octets) Adresse matrielle source : 6 octets Adresse matrielle destination : 6 octets Dlimiteur de dbut de trame : 1 octet Prambule : 7 octets
ENSEIRB Les Systmes embarqus. Linux embarqu - 242 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PPP
Couche rseau
IP
NCP
PPP
PAP
donnes authentification
LCP
ngociation
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
FF
03
paquet PPP
FCS
7E
: $7E. : $FF (adresse de diffusion). : $03 = Unumbered Info. : donnes. : Frame Check Sequence (CRC). : flag de fin de trame HDLC.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Padding
...
ENSEIRB Les Systmes embarqus. Linux embarqu - 252 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PROTOCOLE IP
version : 4 bits : version 4 IPv4 (version 6 IPng en cours) longueur entte : 4 bits (combien de mots de 32 bits) ToS : 8 bits (priorit + prfrences sur la qualit) longueur totale : 2 octets (taille en octets donc taille < 65536 octets) identification, drapeaux et dplacement de fragment : 4 octets dure de vie : 1 octet (en nombre de routeurs traverss) protocole : 1 octet (protocole de plus haut niveau utilis)
6 : TCP 17 : UDP 1 : ICMP
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ROUTAGE IP
Le routage est l opration d aiguiller chaque datagramme IP vers son destinataire. Cette opration est ralise par un routeur IP. Si l change se fait entre 2 machines connectes sur le mme rseau, il suffit dencapsuler (voire de fragmenter) le datagramme IP dans la trame de niveau liaison. Quand on passe par plusieurs rseaux, il faut savoir comment envoyer le datagramme vers sa destination finale. On utilise des tables de routage dans chaque routeur IP qui possde aussi une route par dfaut. Des algorithmes de routage sont alors mis en uvre.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ICMP
Si une passerelle dtecte un problme sur un datagramme IP, elle le dtruit et met un message ICMP pour informer lmetteur initial. Les messages ICMP sont vhiculs lintrieur de datagrammes IP et sont routs comme nimporte quel datagramme IP sur Internet. Une erreur engendre par un message ICMP ne peut donner naissance un autre message ICMP (vite leffet cumulatif).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PROTOCOLE UDP
0 Port UDP source 16 31 Port UDP dest. Checksum UDP
Donnes ... Les ports source et destination contiennent les numros de port utiliss par UDP pour dmultiplexer les donnes destines aux applications en attente de les recevoir. Le port source est facultatif (gal zro si non utilis). On dfinit ainsi des applications clientes et des applications serveurs (programmation client/serveur).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PROTOCOLE UDP
Pour accder un service Internet on est ainsi oblig de prciser : L adresse matrielle de la machine appele. L adresse IP de la machine appele. Le numro de port du service contact. Il en va de mme pour la machine appelante. Ceci est valable pour TCP.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PROTOCOLE UDP
UDP multiplexe et dmultiplexe les datagrammes IP en fonction du numros de port. Lorsque UDP reoit un datagramme, il vrifie que celui-ci est un des ports actuellement actifs (associ une application) et le dlivre l'application responsable (mise en queue). Si ce n'est pas le cas, il met un message ICMP port unreachable, et dtruit le datagramme IP. Ceci est valable pour TCP.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PROTOCOLE UDP
Certains ports sont rservs (well-kown port assignements) :
No port 7 11 13 37 42 53 67 68 69 123 161 Mot-cl ECHO USERS DAYTIME TIME NAMESERVER DOMAIN BOOTPS BOOTPC TFTP NTP SNMP Description Echo Active Users Daytime Time Host Name Server Domain Name Server Boot protocol server Boot protocol client Trivial File transfert protocol Network Time Protocol Simple Network Management prot.
D'autres numros de port (non rservs) peuvent tre assigns dynamiquement aux applications (>1024).
ENSEIRB Les Systmes embarqus. Linux embarqu - 264 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PROTOCOLE TCP
Segment : unit de transfert du protocole TCP : tablir une connexion TCP. Handshake par mission de 3 segments TCP. transfrer les donnes. mettre des acquittements. fermer les connexion TCP. 0
10
16
24 Port destination
31
Port source
Numro de squence Numro dacquittement N * 32bits HLEN rserv Codes Checksum fentre pointeur urgence padding
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PROTOCOLE TCP
Certains ports sont rservs (well-kown port assignements) :
No port 21 23 25 37 42 43 53 79 80 110 111 Mot-cl FTP TELNET SMTP TIME NAMESERVER NICNAME DOMAIN FINGER HTTP POP3 SUNRPC Description] File Transfer [Control] Telnet Simple Mail Transfer Time Host Name Server Who Is Domain Name Server Finger WWW Post Office Protocol - Version 3 SUN Remote Procedure Call
D'autres numros de port (non rservs) peuvent tre assigns dynamiquement aux applications (>1024).
ENSEIRB Les Systmes embarqus. Linux embarqu - 267 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L API sockets
Les sockets : interface client/serveur (API) utilise lorigine dans le monde UNIX et TCP/IP. Existe aujourdhui du micro (winsock) au Mainframe. L API sockets est le standard de fait pour la programmation rseau Internet. Il existe d autres APIs de programmation rseau : Streams, TLI, RPC, XDR, propritaires Les applications client/serveur ne voient les couches de communication qu travers lAPI sockets (abstraction) .
ENSEIRB Les Systmes embarqus. Linux embarqu - 268 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L API sockets
Dans l environnement UNIX, les sockets sont traites de la mme manire que les fichiers : on a donc des appels systmes d ouverture (qui permet d avoir un descripteur de rfrence), de lecture, d criture, de contrle et de fermeture.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L API sockets
Protocole Applicatif
Application cliente
Application serveur
API Socket
API Socket
UDP
TCP
UDP
TCP
IP
IP
Physique
ENSEIRB
Physique
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L API sockets
Les sockets permettent dtablir un lien de communication en mode connect ou non connect sur un rseau Internet. Les sockets structurent une application : soit en mode client. soit en mode serveur. Les sockets permettent dchanger des donnes entre ces applications.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L API sockets
SERVEUR socket bind listen accept read write close
ENSEIRB
MODE CONNECTE
CLIENT
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L API sockets
SERVEUR socket bind recvfrom sendto requte
MODE NON CONNECTE
rponse close
ENSEIRB Les Systmes embarqus. Linux embarqu - 273 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L API sockets
L API sockets permet d changer des octets entre une application cliente et une application serveur. En mode connect, on tablit un flux octets (stream) non structur. Les donnes changes passent en clair sur le rseau. Elles ne sont pas cryptes. L aspect confidentialit des donnes changes est apparue trs tard dans le monde des tlcoms. Pour changer des donnes cryptes (mode scuris), on a dvelopp une nouvelle API : SSL (Secure Socket Layer). Toutes les applications rseau dveloppes utilisent l API sockets (volontairement ou non)...
Les Systmes embarqus. Linux embarqu - 274 -
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Transfert de fichiers dune machine une autre. TFTP est plus sommaire (UDP) que FTP (TCP). TFTP permet de tlcharger le noyau d un OS d une machine diskless par exemple.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PLUS D INFORMATIONS
Les RFC (Request For Comment), normes des protocoles Internet (gratuit) : http://www.rfc-editor.org/
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
BILAN
Les protocoles Internet sont indpendants des supports de transmission utiliss. Les supports de transmission prfrentiels sont : Ethernet. Liaison srie. Pour chaque support de transmission est dfinie une trame au niveau liaison : Ethernet : trame Ethernet. Liaison srie : trame SLIP, PPP...
ENSEIRB Les Systmes embarqus. Linux embarqu - 285 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
BILAN
Il convient d implanter le protocole de niveau liaison sous forme matrielle ou logicielle : Ethernet : CSMA/CD (par matriel). Liaison srie : SLIP, PPP (par logiciel). Cette configuration est choisie pour un accs Internet par le RTC. Il convient ensuite d implanter les protocoles IP en fonction des besoins du systme lectronique pour assurer la connectivit IP...
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
BILAN
Application
SMTP
SNMP
HTTP
FTP
Application Layer
UDP
TCP
Transport Layer
ICMP IP
Internet Layer
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONNECTIVITE IP MINIMALE
En fonction des particularits du systme lectronique, on choisira : IP en mode raw : simple, pour un petit systme . Pas de multiplexage (pas de numro de port), pas d interactivit, efficace. Dveloppement du protocole simple, bas niveau, sans tat. UDP/IP : simple, pour un petit gros systme. Multiplexage possible (par numro de port), pas d interactivit, efficace. Dveloppement du protocole simple, bas niveau, sans tat. TCP/IP : compliqu, pour un moyen gros systme. Multiplexage possible (par numro de port), interactivit, peu efficace. Dveloppement du protocole complexe, bas niveau, avec tats. Dans tous les cas, les donnes changes sont non structures (octets).
ENSEIRB Les Systmes embarqus. Linux embarqu - 288 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONNECTIVITE IP MINIMALE
En marge de ces possibilits de connectivit IP bas niveau, il est fortement conseill d embarquer les protocoles de contrle et de supervision suivants : ICMP : permet de voir si le systme lectronique est actif par un ping . Dveloppement du protocole simple, bas niveau, sans tat. ARP (RARP) : pour que le systme lectronique puisse rcuprer une adresse matrielle. Dveloppement du protocole simple, bas niveau, sans tat. IP ou UDP/IP ou TCP/IP coupls avec les outils ICMP/ARP suffisent pour mettre en place une connectivit IP dans un quipement. UDP/IP est plus performant que TCP/IP si l on a des contraintes Temps Rel respecter.
ENSEIRB Les Systmes embarqus. Linux embarqu
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
- 289 -
CONNECTIVITE IP MINIMALE
IP ou UDP/IP ou TCP/IP coupls avec les outils ICMP/ARP suffisent pour mettre en place une connectivit IP dans un quipement. UDP/IP est plus performant que TCP/IP si l on a des contraintes Temps Rel respecter.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONNECTIVITE IP : SMTP
L utilisation d un serveur SMTP embarqu est aussi employe pour le tlcontrle du systme lectronique. Le systme peut envoyer un mail pour alerter un oprateur (qui peut tre relay vers son portable GSM). L action est l initiative du systme.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
source : SMAR
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Offre PROFINET
ENSEIRB Les Systmes embarqus. Linux embarqu - 308 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Avec une intgration sur silicium de plus en plus importante, les solutions logicielles d'hier deviennent des solutions matrielles aujourd'hui avec le gain en rapidit d'excution et de dcharge pour le processeur qui en dcoule. Il semble que l'volution des solutions matrielles de connectivit IP se fasse au dtriment des solutions logicielles pour le grand bien du concepteur !
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
volution du logiciel Couche 7 : Application.
HTTP
FTP
NFS
BOOTP
Couche 4 : Transport.
ICMP
TCP
UDP
ARP
RARP
IP
Interface Matrielle
Mdium
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Au niveau mdium, on utilise pour la mise en place de la connectivit IP principalement : liaison Ethernet IEEE 802.3 10/100BaseT avec implmentation matrielle de la sous couche MAC CSMA/CD. liaison srie RS.232/V.24 avec encapsulage des datagrammes IP dans des paquets PPP ou plus simplement en utilisant le protocole SLIP. liaison GSM : utilisation d un module lectronique GSM qui permet d envoyer des emails. autres liaisons radiolectriques : dveloppement important du Wireless Internet. courant porteur.
ENSEIRB Les Systmes embarqus. Linux embarqu - 312 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
La solution idale reste la liaison Ethernet IEEE 802.3 pour des questions de cots, performances et d infrastructure. Le systme avec sa connectivit IP est directement connect au rseau local de l installation. L accs l Internet est ralis par un routeur IP. Le routeur peut se rsumer un modem RTC intgr un PC pour se connecter un fournisseur d accs. L autre solution couramment utilise est d utiliser une liaison RS.232/V.24 avec PPP et modem RTC .
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SOLUTIONS MATERIELLES
Les solutions utilisant une liaison Ethernet IEEE 802.3 10/100BaseT sont prsentes ici. Il s agit de circuits lectroniques d accs qu il faut intgrer dans son design. On utilisera ensuite les drivers (suivant l OS) pour servir de base l implmentation des protocoles IP.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Drivers fournis
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Drivers fournis Prix des drivers Prix du composant Support aprs vente
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Fonctionnalits
Drivers fournis
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SOLUTIONS LOGICIELLES
Contrairement ce que l'on pourrait croire, il existe peu de briques logicielles implmentant les protocoles et services Internet (IP, UDP, TCP) disponibles au niveau source, gratuits ou sous licence GPL. En fait, l'implmentation de ces protocoles est toujours lie un systme d'exploitation lourd qui est priori non facilement embarquable. On trouve ainsi au niveau source (en langage C) les protocoles IP que l'on nommera TCP/IP globalement pour les OS (Operating System) UNIX BSD, FreeBSD, NetBSD et Linux sous licence GPL.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SOLUTIONS LOGICIELLES
Avec l'apparition de projets Linux embarqu, on peut avoir Linux sur une plateforme matrielle et une connectivit naturelle Internet Il ne semble pas envisageable de modifier les sources TCP/IP pour s'affranchir de l'OS sous-jacent car les deux sont intiment lis (on y fait appel des appels systmes propres l'OS). Il faut dans cette optique prendre les protocoles IP et l OS Il existe donc peu d'implmentations de protocoles IP non lies un OS (gnralement de type UNIX).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SOLUTIONS LOGICIELLES
On peut citer 2 piles TCP/IP en libre possdant beaucoup de restrictions d'usage : Projet WATTCP (www.wattcp.com) : pile TCP/IP crite en langage C disponible gratuitement au niveau source tournant sous DOS avec le driver PKTDRVR pour un accs Internet par PPP (Cf annexe). KA9QNOS (http://people.qualcomm.com/karn/code/ka9qnos/) (d'un radioamateur la base du packet radio) : pile TCP/IP crite en langage C disponible gratuitement au niveau source tournant sous DOS pour un accs Internet par PPP. Le contrleur de liaison srie doit tre de la famille Zilog Z8530.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Adresse web Solution Interfaces Besoin d'un RTOS Implmentation niveau HTTP Qualit de la documentation Prix
www.treck.com Logicielle Produit de la socit Allegro Oui par Treck Real-Time TCP/IP Non, mise en uvre d'un RTOS possible Oui version 1.1 Support de HTML version 2.0 4.0 Trs bonne 5000 $ si < 2000 units 10000 $ si pas de royalty
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Besoin d'un RTOS Implmentation niveau IP Implmentation niveaux TCP, UDP Autres protocoles Interface de programmation Processeurs tests Qualit de la documentation Facilit de programmation Drivers fournis Prix
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Adresse web Solution Interfaces Besoin d'un RTOS Implmentation niveau HTTP Qualit de la documentation Prix
www.iniche.com Logicielle Oui par Treck Real-Time TCP/IP Non, mise en uvre d'un RTOS possible Oui version 1.1 Support de HTML version 2.0 ? 18000 $ avec TCP/IP revendeur : Emulations www.emulations.fr
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
SOLUTIONS MIXTES
D'autres solutions mixtes (matriel et logiciel) existent et permettent toutes une connectivit IP immdiate Internet gnralement par liaison srie. Ces solutions utilisent un processeur (microcontrleur) dont des broches d E/S sont ddies la mise en place de la connectivit IP (liaison srie, contrle d une interface Ethernet). La connectivit IP est intgre en dur dans le processeur ou apparat comme une bibliothque de services (fonctions) lier avec son application.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Adresse web Solution Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Drivers fournis Prix des drivers Prix du composant
www.connectone.com Matrielle Circuit iChip PLCC 68 broches Non Accs par modem jusqu' V.90 PPP Oui Oui SMTP support Oui Bonne Bonne Non 50$ (< 100) revendeurs : Impact Memec
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Adresse web Solution Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Drivers fournis Prix des drivers Prix du composant
www.seiko-usa-ecd.com Matrielle Circuit iChip S-7600A QFP 48 broches Non Accs par modem PPP Oui Oui Oui Kit de dveloppement disponible Trs bonne Trs bonne 199$ (< 100)
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Drivers fournis Prix des drivers Prix du composant
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP
Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Besoin d'un RTOS Interface de programmation Support Prix
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Besoin d'un RTOS Interface de programmation Support Prix
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Besoin d'un RTOS Interface de programmation Support Prix
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Interface de programmation Support Prix
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
NIOS D ALTERA
Loffre SoPC Excalibur dAltera permet la flexibilit de programmation des PLD (Programmable Logic Device) avec les performances de temps de traitement dun processeur embarqu sur silicium pour rpondre au besoin dun court TTM.
Logic
Memory
HighPerformance I/O
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
NIOS D ALTERA
200
ARM Core
MIPS Core
100
Performance (MIPs)
50
20
Core
Soft Core
Hard Cores
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
NIOS D ALTERA
BUS BUS
NIOS System
UART Timer PIO
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
NIOS D ALTERA
Software Development Tools RedHat GNUPro Toolkit (Compiler, Debugger) Nios Ethernet Development Kit (TCP/IP Stack)
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
NIOS D ALTERA
Loffre SoPC Excalibur/NIOS dAltera complte du portage Linux (Clinux) sur NIOS de Microtronix permet davoir une vritable plateforme de Codesign. Une interface Ethernet IEEE 802.3 10BaseT (utilisant le composant CS8900A) permet davoir naturellement une connectivit IP sous Clinux.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PLUS D INFORMATIONS
Plus d informations : http://www.enseirb.fr/~kadionik/embedded/embedded.html http://www.enseirb.fr/~kadionik/embedded/connectivite_ip/connec tivite_ip.html http://www.enseirb.fr/~kadionik/embedded/uclinux/uclinux.html
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INTRODUCTION
Quelques exemples de mises en uvre de la connectivit IP l ENSEIRB sont donns maintenant travers 4 projets : tlinstrumentation : projet europen RETWINE (REmoTe Worldwide Instrumentation NEtwork). tlmesure : MEDICIS (Mesure DIstance de CIrcuitS). carte 68HC11ETHER : carte microcontrleur 68HC11 avec Internet embarqu. Ces 3 projets mettent en uvre la connectivite IP travers une liaison Ethernet.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
UNIX
Bus GPIB
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
.LST File (signal list) .BIT File FPGA programming .PAD File pin description .DAT File (data file) VHDL component VHDL function librarie FPGA circuit MEDICIS Client MEDICIS Server
COMPARISON
Simulation For
Real Measurement display (ModelSim)
MEASUREMENT
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RS.232 link Workstation with simulation/synthesis tools workstation MEDICIS Java application
Ethernet LAN
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Cble Ethernet
Rseau Ethernet
RAM L
Bus d'adresse 16
CS8900
Bus de donnes
RAM H
Altra ROM H
68HC11 E1
Port A
Port E RS232
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Implmentation logicielle :
Tche principale
Gestion IP et ARP
C/OS II
Sem5
Application UDP
Trame mise
Gestion HTTP
Gestion TELNET
Donnes_application
Performance : 100 kb/s (datagramme IP de 1518 octets) pour un processeur 8 MHz (/4) !
ENSEIRB Les Systmes embarqus. Linux embarqu - 387 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Connectivit IP minimale Connectivit IP de confort Interaction minimale Interaction de confort Besoin dun OS/RTOS
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
92%
92%
88%
Linux
Windows
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LE MARCHE DE L EMBARQUE
Panorama du march de l embarqu en 2001.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LE MARCHE DE L EMBARQUE
Panorama du march de l embarqu en 2002. Fin 2002, linux embarqu devient la principale plateforme de l embarqu !
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LE MARCHE DE L EMBARQUE
Croissance de Linux embarqu :
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
IL FAUT DONC UN PROCESSEUR 32 BITS AVEC MMU (OU A DEFAUT 32 BITS SANS MMU AVEC Clinux)
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Linux est complt des outils/logiciels GNU (Gnu is Not UNIX). Linux est disponible sous forme de distributions : Debian, RedHat, Mandrake, SuSE, Slackware... Linux est utilis avec une interface graphique comparable Microsoft Windows : Gnome, KDE
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Ce point est une ( r )volution dans le domaine de l embarqu o les outils (OS, IDE) sont chers et o l on paye en plus des royalties non ngligeables sur chaque produit conu avec.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Le dveloppement n est pas contrl par un petit groupe de dveloppeurs donc pas de despotisme possible. Il est possible de gagner de l argent avec le logiciel libre (formation, assistance).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
L OPEN SOURCE
L open source : accs aux sources du logiciel. L open source permet : Une interoprabilit entre applications et les diffrentes plateformes. La formation par analyse des sources. L accs aux sources permet d optimiser des parties de code pour des performances accrues. Les ides et algorithmes deviennent des standards et sont disponibles tous sans brevet. Des distributeurs dveloppent et vendent leurs fonctionnalits au dessus de logiciels open source. Le terme open source est plus vendeur que logiciel libre.
ENSEIRB Les Systmes embarqus. Linux embarqu - 423 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LOGICIEL LIBRE
Dfinition technique (free software) d aprs la FSF (Free Software Foundation) : Users have the freedom to : (1) run the software, for any purpose; (2) study how the program works and adapt it to their needs; (3) redistribute copies; (4) improve the program and release improvements to the public Access to source code is necessary for (2) and (4) so Free can include Open Source
ENSEIRB Les Systmes embarqus. Linux embarqu - 424 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LOGICIEL LIBRE
En consquence, le logiciel libre peut tre modifi, utilis et mme vendu. Vendre un logiciel libre correspond ajouter un service, un bonus : Outils dinstallation, de packaging de logiciels. Aide, support, formation. Adaptation de logiciel un besoin spcifique. Driver dun matriel sous forme dun module Linux (founiture du fichier objet .o). Des amliorations dun logiciel libre peuvent tre proposes par tous sous forme dune nouvelle release.
ENSEIRB Les Systmes embarqus. Linux embarqu - 425 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Mise disposition du code source. Les modifications apportes au programme doivent tre clairement indiques et dates (Changelog). Un programme sous GPL reste un programme sous GPL.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AUTRES LICENCES
Il existe d autres types de licences : MIT. BSD. X11, XFree86. Netscape. W3C.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
AUTRES LICENCES
ENSEIRB
Les Systmes embarqus. Linux embarqu Source: Free Software Foundation - 432 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LINUX ET LA PORTABILITE
Linux (et ses applications) est fortement portable. Une mme application peut tre utilise (porte) sur : Un nombre important de processeurs : x86, Alpha, ARM, StrongARM, MIPS, PowerPC, SPARC, m68k... Un nombre important de plateformes ou BSP (Board support Package). Un nombre important d interfaces physiques avec le driver adquat. Linux est donc capable d excuter la mme application du PDA l ordinateur de bureau. Linux est un systme d exploitation de choix pour les systmes embarqus. On parle de Linux embarqu.
ENSEIRB Les Systmes embarqus. Linux embarqu - 437 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LINUX EMBARQUE
Linux embarqu est une adaptation du noyau Linux un systme embarqu. Suivant les capacits du systme, on ne retrouve qu une partie des fonctionnalits du noyau : Moins de services disponibles. Moins de mmoire requise (< 8 Mo). Boot depuis une mmoire ROM. Pas de clavier ou de souris requis. Logiciels spciaux pour piloter les priphriques du systme (cran LCD, flash disk, Disk On Chip DOC, touch screen).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
LINUX EMBARQUE
Une version de Linux embarqu peut tre spcialement configure pour coller une plateforme ou application prcise : Linux embarqu pour routeur IP. Linux embarqu sur PDA. Linux embarqu pour microcontrleur sans MMU. Linux embarqu sur processeur 80286 et infrieur. ...
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
2-4 Mo 4-16 Mo FLASH FLASH MIPS Hitachi SH x86 PowerPC Ardoise Internet Carte unit centrale System on Chip (SoC) Routeur Dcodeur Stockage en rseau Imprimante en rseau
CompactPCI
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
http://www.metrowerks.com/embedded/
ENSEIRB Les Systmes embarqus. Linux embarqu - 448 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Little Board (5.75 x 8.0 in.) -- complete systems on a single compact board, expandable with plug-on function modules ISA "slot boards" (full-length, 13.8 x 4.8 in.; half-length, 7.1 x 4.8 in.) -- IBM PC plug-in cards which could function as standalone SBCs backplanes) PC/104 modules (3.6 x 3.8 in.) -- compact, rugged, self-stacking modules featuring a reliable pin-and-socket board-to-board expansion bus
ENSEIRB Les Systmes embarqus. Linux embarqu - 452 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PC/104-Plus -- PCI added to PC/104 EBX -- PC/104-Plus added to Little Board Cartes au format industriel VME, VXI, PXI...
ENSEIRB Les Systmes embarqus. Linux embarqu - 453 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CodeWarrior Development Studio, Embedded Linux Edition CodeWarrior quality tools for increased productivity in the development of applications designed to run the embedded Linux OS.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Projet similaire Embedded Linux Workshop ELW : Outil de gnration dun Linux embarqu (OS+FS). http://elw.sourceforge.net/
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PARTIE 3 : BILAN
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Clinux ELW Embedded Debian Project, PeeWeeLinux LRP Montavista/Professional Edition Metrowerks/Creation Suite for Linux LynuxWorks/Bluecat Complexit de mise en uvre minimale
ENSEIRB Les Systmes embarqus. Linux embarqu - 489 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PRESENTATION DE Clinux
Clinux est originellement un driv du noyau Linux 2.0 pour les microcontrleurs sans MMU (Memory Management Unit) (fvrier 1998). Clinux se prononce "you-see-linux : C pour microcontrleur.
Clinux a t port en premier lieu sur le microcontrleur Motorola MC68328 DragonBall. Le premier systme sous Clinux a t un ordinateur de poche 3Com PalmPilot using.
ENSEIRB Les Systmes embarqus. Linux embarqu - 495 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PRESENTATION DE Clinux
La maintenance de Clinux est assure au dpart par Rt-Control, Toronto, Canada, rachet par Lineo, Inc puis Arcturus Networks ! Tous les portages Clinux suivant le type du processeur sont sous licence GPL. C est un logiciel libre. http://www.uclinux.org
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PRESENTATION DE Clinux
Clinux est port sur les processeurs suivants : Motorola DragonBall (M68EZ328), M68328, M68EN322, ColdFire, QUICC (Quad Integrated Communications Controller). ARM7TDMI. MC68EN302. Axis ETRAX. Intel i960. PRISMA.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Clinux vs Linux
Labsence de MMU impose quelques limitations dusage par rapport lenvironnement Linux : La mmoire virtuelle nexiste pas. Lappel systme fork() n'est pas support. Il faudra utiliser alors une implmentation de lappel systme vfork() dUNIX BSD (le processus parent est suspendu jusqu ce que le processus fils appelle exec() ou exit() ) . Lappel systme exec() ne peut pas charger actuellement une image binaire suprieure 256 Ko. La taille de la pile est fixe pour chaque processus .
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CARACTERISTIQUES DE Clinux
API compatible avec Linux. Taille du noyau infrieure 512 Ko. Taille du noyau et commandes Linux infrieures 900 Ko. Clinux possde une pile TCP/IP complte ce qui assure une connectivit IP au systme embarqu sous Clinux ! Clinux supporte les systmes de fichiers NFS, SMB, ext2, MSDOS, et FAT16/32 et flash disk JFFS2 (MTD).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CARACTERISTIQUES DE Clinux
1997 : Clinux est bas sur le noyau Linux version 2.0.33. Fvrier 1998 : Clinux est mis jour avec le noyau Linux version 2.0.34. 1998 : Clinux est mis jour avec le noyau Linux version 2.0.38. C est la version la plus employe (note 2.0). Fin 2000, Clinux est mis jour avec le noyau Linux version 2.4.17. 2001 : la bibliothque C standard GNU libc utilise par Clinux est rcrite et dulcore pour prendre moins de place en mmoire : bibliothque uClibc (http://www.uclibc.org/).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Le kit Cacademix est un kit uCsimm avec un livre d exercices rserv l enseignement pour 295 USD.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
--- 192.9.203.1 ping statistics --4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.0/2.5/10.0 ms
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Use 0 0
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
Configuration rseau :
# ifconfig eth0 192.168.0.232 # route add -net 192.168.0.0 netmask 255.255.255.0 Where the units IP address is set to 192.168.0.232 on a network address of 192.168.0.0, and setting the netmask to be 255.255.255.0. You may also want to set up a gateway route if you have a local router : # route add default gw 192.168.0.1
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
Ports srie :
The mcfserial.c driver supports both internal UARTs of the ColdFire processors. Baud rates up to at least 115200 can be generated . You should also be able to use any parity, data bit and stop bit combinations. There is a simple callout program for manual serial port use, called tip. It is similar to cu or the usual tip, only cut down a little. You can talk directly to attached modems with something like: # tip -s 57600 /dev/cua1
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
NFS :
NFS is configured into the kernel by default on most platforms. If not you will need to configure the Linux kernel build to include it. To mount NFS filesystems from the network, just do something like: # /bin/mount -n -t nfs X.X.X.X:/YYYY /mnt Note that you must use a specific path to mount (eg /bin/mount) since the sash shell has a built in mount (but it is not NFS capable). It is really nice being able to mount your development systems files, and run new binaries directly after compiling!
ENSEIRB Les Systmes embarqus. Linux embarqu - 541 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
SMB Windows :
The SMB filesystem is not configured into the kernel by default, so you will need to re-configure the Linux kernel to include it. To mount a file share then you would use something like: # /bin/smbmount //MACHINE/SHARENAME / mnt -n -c MACHINE -I X.X.X.X -U username -P passwd where MACHINE is the system that you want to mount from, SHARENAME is the name of an exported share from the machine, X.X.X.X is the IP address of the MACHINE system, and username/passwd is an authorized network user.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
Serveurs WWW :
There is currently 3 different web servers ported to uClinux/ColdFire. The simplest is the uClinux web server, httpd. It can only deliver static pages. The Boa web server is a light weight nearly full featured web server. It has cgi-bin and authentication support. It is also single tasking - not spawning off multiple processes to handle simultaneous requests. Boa's memory footprint is extremely small (about 85k when running). I highly recommend using this one. The thttpd web server has also been ported to uClinux/ColdFire. It also has cgi-bin and authentication support. It does however spawn off multiple processes to support multiple connections, and it has a much larger memory foot print (about 150k when running).
ENSEIRB Les Systmes embarqus. Linux embarqu - 543 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
Debug du noyau par GDB : Il faut utiliser le cble BDM (Background Debugger Module) fourni avec la carte connecter sur la carte ColdFire et le port parallle du PC hte. Sur le PC hte, on a besoin : Du driver Linux pour piloter le module BDM. La version patche de GDB (Gnu DeBugger) pour le support du BDM. Le fichier d initialisation de GDB pour le processeur ColdFire 5407.
ENSEIRB Les Systmes embarqus. Linux embarqu - 544 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
Debug d une application par GDB :
A gdbserver port exists now for debugging user applications over the network. You will need a cross gdb for debugging with this setup. To debug an application remotely: 1. On uClinux/ColdFire "gdbserver :3000 app" 2. On host system "gdb app.gdb" 3. At gdb command prompt enter "target remote IP:3000"
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
Debug d une application par GDB :
This procedure uses port TCP port 3000, you can use any un-used port you like. IP is the IP address of the uClinux/ColdFire hardware. Providing the application was compiled with debugging enabled (gcc g option) you will get full symbolic and source level debugging. This is enabled automatically if the kernel "Full Symbolic/Source level debuging" flag is enabled in the "Kernel Hacking" section of the config.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONFIGURATION DE Clinux
Support du bus PCI :
Some ColdFire boards have PCI buses on them. uClinux/ColdFire supports the PCI buses on both these boards, simply enable the PCI bus support option when configuring your kernel build. The kernel PCI support will scan the PCI bus at system startup, and will find any PCI devices present. The kernel will also assign memory and interrupt resources to the found devices. To find out what the system has found and assigned on the PCI bus use the /proc/pci device. Simply do : # cat /proc/pci
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE ENSEIRB
Intgration d un serveur web et d un agent SNMP sur carte ColdFire sous Clinux pour un contrle par Internet pour le tlcontrle et tlmaintenance d un systme lectronique.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE ENSEIRB
Implmentation matrielle : Carte Motorola ColdFire M5407C3 pour dveloppement et tests.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE ENSEIRB
Implmentation logicielle : Serveur web boa. Programmes CGI (crits en langage C) pour piloter les priphriques de la carte (leds des fins de tests). Extension de l agent SNMP NET-SNMP pour piloter les priphriques de la carte (leds des fins de tests).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE ENSEIRB
Implmentation logicielle (agent SNMP) :
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
EXEMPLE ENSEIRB
Implmentation logicielle (serveur web boa) :
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RESSOURCES Clinux
Le site officiel : http://www.uclinux.org Le site des utilisateurs ucdot.org : http://www.ucdot.org/ Le site the uclinux directory : http://home.at/uclinux/ Le portage Clinux sur ColdFire : http://www.uclinux.org/ports/coldfire/ La bibliothque uClibc : http://www.uclibc.org/ La page de l auteur : http://www.enseirb.fr/~kadionik/embedded/embedded.html
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RESSOURCES Clinux
Plus d informations : http://www.enseirb.fr/~kadionik/embedded/embedded.html Linux Magazine. Le projet Clinux. P. Kadionik. Fvrier 2002. http://www.enseirb.fr/~kadionik/embedded/uclinux/ Linux Magazine. Administrez facilement votre rseau. P. Kadionik. Octobre 2002. http://www.enseirb.fr/~kadionik/embedded/snmp/
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PARTIE 1 : INTRODUCTION
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ISR
Interrupt Interrupt
ISR
Interrupt
ISR
time
OK
MAUVAIS
<n
ISR
time
n: dlai maximum
ENSEIRB Les Systmes embarqus. Linux embarqu - 566 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
start
start
time
tche tche
Linux
start
tche tche
start
tche
start
tche
start
time
RTOS
OK
<n
start
tche tche
MAUVAIS
<n
start
tche
OK
<n
start
tche
OK
<n
start
time
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
#define LPT 0x378 int ioperm(); int main(int argc, char **argv) { setuid(0); if (ioperm(LPT, 1, 1) < 0) { perror("ioperm()"); exit(-1); } ENSEIRB Les Systmes embarqus. Linux embarqu - 569 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Linux standard
ENSEIRB Les Systmes embarqus. Linux embarqu - 580 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
VERITABLE RTOS
Avantages : simplicit, monolithique, fait pour le TR, petit overhead. Inconvnients : fonctionnalits limites. Exemples : VxWorsks, QNX, eCos, pSOS, VRTX, C/OS II...
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Extension TR
Hardware
ENSEIRB Les Systmes embarqus. Linux embarqu - 586 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PATCH DU NOYAU
Il existe deux principaux patchs permettant d'amliorer les performances du noyau Linux 2.4 au niveau du temps de latence en diminuant la taille des sections du noyau non premptibles : Patch Preempt Kernel Patch Low Latency
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PATCH DU NOYAU
Le patch Preempt Kernel est maintenu par Robert M. Love et soutenu par MontaVista : http://www.tech9.net/rml/linux Le principe du patch est de rendre le noyau totalement premptible et de protger les donnes du noyau par des mutexs ou spinlocks. A chaque fois qu un vnement apparat et rend un processus de plus forte priorit prt, le noyau prempte le processus courant et excute le processus de plus forte priorit.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PATCH DU NOYAU
Ce mcanisme de premption ne doit pas tre mis en oeuvre : lors du service d une interruption (interruption handling) lors de la prise d un verrou spinlock, writelock, ou readlock (verrou utilis pour le SMP : Symmetric Multi Processing) lors de l excution de l ordonnanceur lui-mme lors de l excution du processing Bottom Half (BH) Voir http://www.linuxdevices.com/articles/AT4185744181.html pour plus de dtails.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PATCH DU NOYAU
Le patch Low Latency est maintenu par Andrew Morton : http://www.zip.com.au/~akpm/linux/schedlat.html Le principe est un peu diffrent car au lieu d'opter pour une stratgie systmatique du noyau tout premptif, les dveloppeurs du patch ont prfr effectuer une analyse du noyau afin d'ajouter des points de premption obligatoire (appel de schedule()) subtilement placs dans les sources du noyau afin de casser des boucles d'attente trop longues.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONCLUSION
Les patchs prcdents permettent d'amliorer les temps de latence sur le noyau Linux standard mais le concept se rapproche plus d'une amlioration de la qualit de service que du temps rel dur. La ractivit est maintenant de l ordre de quelques dizaines quelques centaines de s au lieu de quelques dizaines quelques centaines de ms voire plus pour un noyau Linux standard ! Des mesures faites par Metrowerks l aide du Latency Benchmark de Systems Software Labs montrent que dans 99,5 % des cas le temps de latence est infrieur 200 s pour les 2 patchs (voir le whitepaper Linux as a Real-Time operating System de Metrowerks).
ENSEIRB Les Systmes embarqus. Linux embarqu - 595 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
CONCLUSION
Cela est voir comme une solution intermdiaire o la mise en uvre et la programmation restent simples pour dvelopper des applications TR. Une fusion des deux patchs est envisageable dans le futur noyau 2.6.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Networking
Tornado II embedded development platform
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Solution commerciale TR compatible Linux. Systme TR. LynuxWorks Systems (ex Lynx). http://www.lynxos.com/
LynxOS is unique in the real-time embedded software marketplace. It is a hard RTOS that combines performance, reliability, openness, and scalability together with patented technology for real-time event handling. Flexible scalability makes the LynxOS well suited for applications ranging from large and complex
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
kernel preemption
+ Unlimited process priorities + Enhanced schedulers + Priority schedulable interrupt handlers and Soft IRQs + High Availability/Carrier Grade features + POSIX Message Queues o Lowest-latency
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RTAI
Solution libre dextension TR de Linux. Systme TR. Universit de Milan en Italie. http://www.aero.polimi.it/~rtai/ Mise en place d une couche d abstraction Mise en service sous forme de modules Linux : 3 entits/modules de base : Dispatcher dinterruptions entre tches TR ou noyau Linux. Ordonnanceur TR. FIFOS de communication.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
HISTOIRE DE RTLinux
RTLinux a t dvelopp originellement par un chercheur de luniversit de New Mexico avec laide dun tudiant : Victor Yodaiken et Michael Barabanov. D abord sous licence GPL, un brevet (US Patent No. 5,995,745) a t dpos sur le principe de fonctionnement de RTLinux, ce qui est incompatible avec la notion de logiciel libre. Une entreprise prive FSMLabs a t cre pour distribuer RTLinux. Devant le toll gnral, FSMLabs dcide de distribuer une version GPL OpenRTLinux et une version commerciale RTLinux/PRO plus complte
ENSEIRB Les Systmes embarqus. Linux embarqu - 620 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
HISTOIRE DE RTLinux
Non GPL
RTLinux V3 PROfessionnel
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
HISTOIRE DE RTLinux
RTLinux V 1 : Noyau Linux 2.0.x. Pas de support SMP (Symmetric Multi Processor). API simple de prs 15 fonctions. RTLinux V2 : Noyau Linux 2.2.x. SMP. API style POSIX. RTLinux V3 : Noyau Linux 2.2.19 &2.4.40 (26/11/2001). Version GPL et PRO.
ENSEIRB Les Systmes embarqus. Linux embarqu - 622 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
FONCTIONNALITES DE RTLinux
Mise en service sous forme de modules Linux. Les tches TR sont charges comme des modules Linux. Linux apparat comme la tche de fond. RTLinux propose une API simple pour une programmation TR. LAPI POSIX thread est supporte pour lcriture de tches TR. Les tches TR sont priodiques. Il ny a pas de support de tches apriodiques ! Les communications entre processus Linux et les tches TR se font par des FIFOS. Le dernire version stable supporte les processeurs x86, PowerPC et Alpha.
ENSEIRB Les Systmes embarqus. Linux embarqu - 623 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PRINCIPES DE RTLinux
Une couche logicielle est mise en place entre le noyau Linux et le contrleur dinteruptions afin de prvenir les masquages dinterruptions depuis Linux (condition requise pour des performances TR). Les macros et instructions ASM CLI, STI et IRET sont remplaces par leur version dmulation logicielle correspondante. Linux apparat comme la tche TR de fond de plus faible priorit. Toute tche TR est premptible. Tout handler dinterruption (ISR) ne peut pas tre ralenti par des oprations non TR.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
TACHES RTLinux
Une tche TR RTLinux apparat comme un module Linux. Elle est charge dynamiquement en mmoire. Toutes les tches sont donc dans le mme espace dadressage (espace noyau) et sont excutes en mode privilgi. On peut donc planter trs facilement le systme en cas de mauvaise programmation (comme un mauvais module Linux). Le changement de contexte de tche se fait sur les registres entiers du processeur par dfaut (pas de sauvegarde des registres FPU). Allocation de ressource (mmoire par kmalloc() ) de faon statique la cration de la tche TR.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
TACHES RTLinux
Process 1
Process n
Linux Kernel
RT Task 1
RT Task n
RT ISR 1 RT ISR n
RTLinux Executive
Hardware (CPU)
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ORDONNANCEUR RTLinux
Lordonnanceur (scheduler) est un module Linux charger en mmoire. Par dfaut, lordonnanceur est bas sur le traitement des priorits fixes des tches TR leur cration. La tche TR de plus forte priorit prte est excute. Il y a dautres politiques dordonnancement possibles (chargement du module Linux correspondant : ordonnanceur EDF (Earliest Deadline First) : ordonnanceur bas sur les priorits de tches o la tche TR prte ayant une deadline la plus proche sera excute. Ordonnanceur RM (Rate Monotonic) : ordonnanceur statique pour tches priodiques o la tche ayant la plus petite priode se verra assigner la plus forte priorit.
ENSEIRB Les Systmes embarqus. Linux embarqu - 627 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
IPC RTLinux
Les Communications Inter Processus IPC se font par des FIFOS RT. Les buffers des FIFOS RT sont allous dans lespace noyau. Le nombre maximal de FIFOS est fixe (fix la compilation du noyau). Une FIFO est unidirectionnelle. Pour des communications bidirectionnelles, il en faut donc 2.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
IPC RTLinux
Des IPC par mmoire partage sont possibles entre processus Linux et tches RTLinux. Il convient de charger le module mbuff et de travailler avec le priphrique /dev/mbuff. Un processus Linux peut mapper une zone mmoire alloue dans lespace noyau dans son propre espace dadressage. La mmoire alloue dans lespace noyau nest pas forcment physiquement contigue. Elle ne peut tre swappe.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
IPC RTLinux
FIFOS vs mmoire partage : Queue data, no protocol needed to prevent overwrites. Message boundaries not maintained. Support blocking for synchronization, no polling required. Fifos are point-to-point channels. Maximum number of fifos statically defined.
ENSEIRB
No queuing of data. Need to follow explicit protocol. Can write structured data into memory. Need to poll for synchronization. Can have any number of tasks sharing memory. Physical memory is the only limit.
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RT Fifo User Process RT Fifo X Windows Linux Kernel RT Process Display Disk Network Peripheral Device
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RTLinux vs RTAI
Compatibilit de l API : RTLinux implmente l API POSIX 1003.13 "minimal realtime operating system". RTAI a sa propre API drive de RTLinux V1. Pas trop de cohrence dans l API. On peut faire la mme chose avec diffrentes primitives. RTAI maintient une compatibilit avec l API RTLinux V1. Il existe un module pour implmenter POSIX 1003.1c. (PThreads) et 1003.1b (Pqueues). Processeurs : RTLinux : i386, PPC, ARM. RTAI : i386, MIPS, PPC, ARM, m68k-nommu.
ENSEIRB Les Systmes embarqus. Linux embarqu - 638 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RTLinux vs RTAI
Etat de dveloppement : RTLinux : version 3.1 (Mai 2001). Il y a des bugs connus. Noyau Linux support : 2.2.19, 2.4.4 (non officiel 2.4.18, pas de SMP). RTAI : noyau Linux 2.4.18. Debug : RTLinux : au niveau source avec GDB et DDD avec support SMP. Traage du noyau et des vnements de l application. RTAI : kgdb, au niveau source par liaison srie avec un hte. Outil Linux Trace Toolkit (LTT).
ENSEIRB Les Systmes embarqus. Linux embarqu - 639 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RTLinux vs RTAI
Gestion mmoire : RTLinux : par dfaut, la mmoire doit tre alloue avant le lancement de la tche. Pas d allocation dynamique. Mmoire partage entre RTLinux et Linux gre par le module non POSIX mbuff (mbuff_alloc(), mbuff_free()). RTAI : allocation dynamique de la mmoire non TR (rt_malloc(), rt_free()). Mmoire partage RTLinux /Linux gre par le module MBUFF (mbuff_alloc(), mbuff_free()) ou le module non POSIX SHMEM (rtai_malloc(), rtai_free(), rtai_kmalloc(), rtai_kfree()).
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RTLinux vs RTAI
IPC : RTLinux : FIFOS non POSIX (vu comme un pipe UNIX). RTAI : FIFOS non POSIX. Mailbox quivalent une FIFO o l on peut y lire/crire des messages structurs. Remote Procedure Calls (RPC) entre 2 tches (net_rpc entre 2 tches TR de 2 machines distantes). Les IPC sont trs riches (contrairement RTLinux, ce qui est une des raisons du dveloppement de RTAI) redondants et incompatiblesC est le point faible de RTAI !
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
RTLinux vs RTAI
Synchronisation : RTLinux : Mutex POSIX. Smaphores POSIX. RTAI : Mutex POSIX. Smaphores POSIX et smaphores RTAI (rtf_sem_init(), rtf_sem_wait() ). Temps Rel en mode utilisateur : RTLinux : signaux TR. Une interruption matrielle peut tre traite par un handler en mode user space. On ne peut pas utiliser dans le handler des appels systme Linux ou RTLinux. Implment dans RTLinux/Pro. RTAI : module LXRT permet d utiliser les services RTAI en mode user space.
ENSEIRB Les Systmes embarqus. Linux embarqu - 642 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INSTALLATION DE RTLinux
Tlchargement depuis le serveur FTP anonyme ftp.fsmlabs.com de RTLinux/Free : Fichier rtlinux-3.1.tar.gz. Dcompactage : # tar zxvf rtlinux-3.1.tar.gz # mv rtlinux-3.1 /usr/src/ Vrification des versions des patchs Linux pour RTLinux : kernel_patch-2.2.19. kernel_patch-2.4.4.
ENSEIRB Les Systmes embarqus. Linux embarqu - 644 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INSTALLATION DE RTLinux
Tlchargement depuis le serveur FTP anonyme ftp.kernel.org du noyau Linux : Fichier linux-2.4.4.tar.bz2. Dcompactage : # bunzip2 linux-2.4.4.tar.bz2 # tar xvf linux-2.4.4.tar # mv linux /usr/src/
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INSTALLATION DE RTLinux
Patch du noyau Linux : # cd /usr/src/linux # patch p1 < /usr/src/rtlinux-3.1/kernel_patch2.4.4 Compilation du noyau Linux patch : # make config / menuconfig / xconfig # make dep # make bzImage # make modules # make modules_install # cp arch/i386/boot/bzImage /boot/rtzImage-2.4.4
ENSEIRB Les Systmes embarqus. Linux embarqu - 646 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INSTALLATION DE RTLinux
Configuration de LILO (LInux LOader). Edition du fichier /etc/lilo.conf :
Image=/boot/vmlinuz-2.4.18-0.13 label=linux Initrd=/boot/initrd-2.4.18-0.13.img read-only root=/dev/hda2 Image=/boot/rtzImage-2.4.4 label=rtlinux initrd=/boot/initrd-2.4.18-0.13.img read-only root=/dev/hda2
Installation : # lilo
ENSEIRB Les Systmes embarqus. Linux embarqu - 647 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INSTALLATION DE RTLinux
Compilation de RTLinux et installation : # cd /usr/src/rtlinux-3.1 # ln sf ../linux linux # make config ou menuconfig ou xconfig # make # make devices # make install
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
INSTALLATION DE RTLinux
Reboot de la machine. Choisir le noyau Linux TR rtlinux. Installation des modules RTLinux : # modprobe -a rtl rtl_time rtl_sched rtl_posixio rtl_fifo Notes : Exemples : dans /usr/rtlinux/examples. Documentation RTLinux: dans /usr/src/rtlinux-3.1/doc.
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
(# rmmod my_program)
Lancement de l application HELLO : # rtlinux start my_program # rtlinux stop my_program # rtlinux status my_program
ENSEIRB Les Systmes embarqus. Linux embarqu - 658 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
PARTIE 6 : BILAN
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
Ractivit qq 10-100 ms
Patch kpreempt Patch low lat Montavista Metrowerks TimeSys BlueCat RT Montavista RTLinux, RTAI
ENSEIRB
qq 100 s
qq 10 s
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
BlueCat RT Installation de modules Linux spcifiques Montavista API spcifique ou POSIX RTLinux, RTAI COMPLEXE
ENSEIRB Les Systmes embarqus. Linux embarqu - 670 -
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
REFERENCES BIBLIOGRAPHIQUES
Embedded Systems. Firmware Demystified. E. Sutter. Editions CMP Books The Art of Designing embedded Systems. J. Ganssle. Editions Butterworth-Heinemann
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs
REFERENCES BIBLIOGRAPHIQUES
ENSEIRB
pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs