Vous êtes sur la page 1sur 338

ENSEIRB

Les Systmes Embarqus Linux pour l embarqu

Patrice KADIONIK
ENSEIRB

email http

: kadionik@enseirb.fr : http://www.enseirb.fr/~kadionik

Les Systmes embarqus. Linux embarqu -1-

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

Les Systmes embarqus. Linux embarqu -2-

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHAPITRE 0 : INTRODUCTION

ENSEIRB

Les Systmes embarqus. Linux embarqu -3-

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

Les Systmes embarqus. Linux embarqu -4-

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

Les Systmes embarqus. Linux embarqu -5-

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHAPITRE 1 : LES SYSTEMES EMBARQUES AUJOURD HUI. LE BESOIN D EMBARQUER INTERNET

ENSEIRB

Les Systmes embarqus. Linux embarqu -6-

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 1 : CARACTERISTIQUES D UN SYSTEME EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu -7-

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

IMPORTANCE DU MARCHE DE L EMBARQUE


Les systmes (numriques) embarqus ont vu leur importance progresser au rythme de limportance prise par les microprocesseurs. 1971 : premier microprocesseur 4 bits 4004 dIntel 92,5 kHz vendu 200 $. Le succs a t l tout de suite. Juin 1978 : premier processeur x86 8086 4,77 MHz (technologie 3 m, 29000 transistors), bus d adresse 20 bits 9,1 Mo/s, bus de donnes 16 bits. Juin 1979 : 8088 intgr dans le premier IBM-PC en 1981. Motorola, Zilog, TI ont embot le pas Le march des microprocesseurs est un march qui crot de faon exponentielle.
ENSEIRB Les Systmes embarqus. Linux embarqu -8-

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

IMPORTANCE DU MARCHE DE L EMBARQUE


Deux lois empiriques sont vrifies depuis 30 ans (en plus de la loi de Moore) : Loi de JOY : la puissance CPU en MIPS double tous les 2 ans. Loi de RUGE : on a besoin dune Bande Passante de 0,3 1 Mb/s par MIPS. Le march du microprocesseur a aussi tir le march des systmes embarqus (et des tlcommunications !).

ENSEIRB

Les Systmes embarqus. Linux embarqu -9-

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

IMPORTANCE DU MARCHE DE L EMBARQUE


Grce aux progrs de lintgration sur silicium, on est pass rapidement du processeur 4 bits au : processeur 8 bits. processeur 16 bits. processeur 32 bits. processeurs 64 bits. Il ne faut pas croire que le march du microprocesseur se rsume celui du PC via les processeurs x86.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 10 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

IMPORTANCE DU MARCHE DE L EMBARQUE


La figure suivante dmontre le contraire (anne 1999) :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 11 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

IMPORTANCE DU MARCHE DE L EMBARQUE


Il a t vendu 108 millions de processeurs x86 pour le march du PC contre 1,4 milliard de processeurs 8 bits pour le march des systmes embarqus (appel aussi march de lembarqu) ! On voit ainsi que 5 % des processeurs vendus sont pour le march du PC. Dans 85 % des cas, Microsoft Windows est utilis. Pour 95 % des autres processeurs vendus, on utilisera gnralement un autre systme dexploitation (OS : Operating System). On trouvera ici dans 60 % des cas un OS propritaire ; beaucoup optent pour des OS libres comme Linux pour limiter les cots
ENSEIRB Les Systmes embarqus. Linux embarqu - 12 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN PROCESSEUR POUR L EMBARQUE


Embedded Processor System Requirement I/O Control Feature Benefit I/O Ports with bit-level Efficient control of external control devices Direct interface to actuators, switches and digital status signals Peripheral Communication Serial Ports : SPI, IC, Hardware support for Microwire, UART, CAN expansion & external device networking and communications Precision control of motors Sophisticated timers and Low software overhead and actuators PWM peripherals Quickly resolve complex Conditional jumps Efficiently implement software program control Bit test instructions control oriented algorithms flow Interrupt priority control Fast response to external External interrupts with Program control events multiple priority levels immediately redirected on event occurrence with minimal overhead Conversion of sensor data Analog-to-Digital (A/D) Hardware support for Converters external sensors

Microcontroller

ENSEIRB

Les Systmes embarqus. Linux embarqu - 13 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN PROCESSEUR POUR L EMBARQUE

Embedded Processor

System Requirement Software Filters

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

Feature Multiply/Accumulate Unit Zero-overhead loops High-speed serial ports

ENSEIRB

Les Systmes embarqus. Linux embarqu - 14 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN PROCESSEUR POUR L EMBARQUE


Besoin Taille RAM Taille ROM/FLASH Processeurs Miniature <0,1 Mo 0,1-0,5 Mo Petit 0,14 Mo 0,52 Mo Moyen 2-8 Mo Haut de gamme 8-32 Mo PC embarqu 16-64 Mo xx Mo Embarqu haute disponibilit > x Mo Go-To Pentium PowerPC

Caractristiques matrielles Exemples dapplications

DragonBall 68K Mcore ColdFire ARM MMU optionnelle

Camra numrique PDA Tlphone

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

Commutateur tlphonique Routeur haute performance Serveur central

ENSEIRB

Les Systmes embarqus. Linux embarqu - 15 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SYSTEME EMBARQUE : DEFINITION


Un systme embarqu peut tre dfini comme un systme lectronique et informatique autonome ne possdant pas des entres/sorties standards comme un clavier ou un cran d'ordinateur (PC). Le systme matriel et lapplication sont intimement lis et noys dans le matriel et ne sont pas aussi facilement discernables comme dans un environnement de travail classique de type PC.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 16 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SYSTEME EMBARQUE : DEFINITION

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

SYSTEME EMBARQUE : DEFINITION

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

Les Systmes embarqus. Linux embarqu - 18 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES 4 TYPES DE SYSTEMES EMBARQUES


General Computing Application similaire une application de bureau mais empaquete dans un systme embarqu. jeu vido, set- top box. Control Systems Contrle de systmes en Temps Rel. Moteur dautomobile, process chimique, process nuclaire, systme de navigation arien. Signal Processing Calcul sur de grosses quantits de donnes. Radar, Sonar, compression vido. Communication & Networking Transmission dinformation et commutation. Tlphone, Internet. ENSEIRB Les Systmes embarqus. Linux embarqu - 19 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXEMPLES DE SYSTEMES EMBARQUES


Office systems and mobile equipment Answering machines Copiers Faxes Laptops and notebooks Mobile Telephones PDAs, Personal organisers Still and video cameras Telephone systems Time recording systems Printer Microwave Building systems Air conditioning Backup lighting and generators Building management systems CTV systems Fire Control systems Heating and ventilating systems Lifts, elevators, escalators Lighting systems Security systems Security cameras Sprinkler systems Manufacturing and Process Control Automated factories Bottling plants Energy control systems Manufacturing plants Nuclear power stations Oil refineries and related storage facilities Power grid systems Power stations Robots Switching systems Water and sewage systems

ENSEIRB

Les Systmes embarqus. Linux embarqu - 20 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXEMPLES DE SYSTEMES EMBARQUES


Transport Aeroplanes Trains Buses Marine craft Jetties Automobiles Air Traffic Control Signalling Systems Radar Systems Traffic Lights Ticketing machines Speed cameras, Radar speed detectors Communications Telephone systems Cable systems Telephone switches Satellites Global Positioning System Other equipment Automated teller systems Credit card systems Medical Imaging equipment Domestic Central Heating control VCRs

ENSEIRB

Les Systmes embarqus. Linux embarqu - 21 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXEMPLE : WIRELESS

Telematics System for Automobiles Hand-held GPS Units


ENSEIRB Les Systmes embarqus. Linux embarqu - 22 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXEMPLE : GUIDAGE MISSILE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 23 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXEMPLE : ROBOTIQUE

Spider robot constructed with LEGO Mindstorms Components

ENSEIRB

Les Systmes embarqus. Linux embarqu - 24 -

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

Les Systmes embarqus. Linux embarqu - 25 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CARACTERISTIQUES D UN SYSTEME EMBARQUE


Fonctionnement en Temps Rel : Ractivit : des oprations de calcul doivent tre faites en rponse un vnement extrieur (interruption matrielle). La validit d un rsultat (et sa pertinence) dpend du moment o il est dlivr. Rater une chance va causer une erreur de fonctionnement. Temps Rel dur : plantage. Temps Rel mou : dgradation non dramatique des performances du systme. Beaucoup de systmes sont multirate : traitement d informations diffrents rythmes.
ENSEIRB Les Systmes embarqus. Linux embarqu - 26 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CARACTERISTIQUES D UN SYSTEME EMBARQUE


Faible encombrement, faible poids : Electronique pocket PC , applications portables o l on doit minimiser la consommation lectrique (bioinstrumentation...). Difficult pour raliser le packaging afin de faire cohabiter sur une faible surface lectronique analogique, lectronique numrique, RF sans interfrences. Faible consommation : Batterie de 8 heures et plus (PC portable : 2 heures).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 27 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CARACTERISTIQUES D UN SYSTEME EMBARQUE


Environnement : Temprature, vibrations, chocs, variations d alimentation, interfrences RF, corrosion, eau, feu, radiations. Le systme n volue pas dans un environnement contrl. Prise en compte des volutions des caractristiques des composants en fonction de la temprature, des radiations...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 28 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CARACTERISTIQUES D UN SYSTEME EMBARQUE


Fonctionnement critique pour la scurit des personnes. Sret : Le systme doit toujours fonctionner correctement. Sret faible cot avec une redondance minimale. Sret de fonctionnement du logiciel Systme oprationnel mme quand un composant lectronique lche. Choix entre un design tout lectronique ou lectromcanique.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 29 -

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

CARACTERISTIQUES D UN SYSTEME EMBARQUE

SYSTEME EMBARQUE TYPIQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 31 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CARACTERISTIQUES D UN SYSTEME EMBARQUE


Cycle de vie dun systme embarqu :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 32 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LE TEMPS REEL


Gnralement, un systme embarqu doit respecter : des contraintes temporelles fortes (Hard Real Time). on y trouve enfoui un systme d'exploitation ou un noyau Temps Rel (Real Time Operating System, RTOS). Le Temps Rel est un concept un peu vague. On pourrait le dfinir comme : "Un systme est dit Temps Rel lorsque l'information aprs acquisition et traitement reste encore pertinente".

ENSEIRB

Les Systmes embarqus. Linux embarqu - 33 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LE TEMPS REEL


Cela veut dire que dans le cas d'une information arrivant de faon priodique (sous forme dune interruption priodique du systme), les temps d'acquisition et de traitement doivent rester infrieurs la priode de rafrachissement de cette information. Pour cela, il faut que le noyau ou le systme Temps Rel soit dterministe et premptif pour toujours donner la main durant le prochain tick la tche de plus forte priorit prte.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 34 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LE TEMPS REEL


Une confusion classique est de mlanger Temps Rel et rapidit de calcul du systme donc puissance du processeur (microprocesseur, microcontrleur, DSP). On entend souvent : tre temps Rel, cest avoir beaucoup de puissance : des MIPS, des MFLOPS .

ENSEIRB

Les Systmes embarqus. Linux embarqu - 35 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES (RT)OS ET LES SYSTEMES EMBARQUES AUJOURD HUI


La question d utiliser un systme d exploitation Temps Rel ou non ne se pose plus aujourd hui pour des raisons videntes : Simplifications de l criture de l application embarque. Portabilit. Evolutivit. Matrise des cots. Le systme d exploitation peut tre mme maison : encore dans 50 % des cas !
ENSEIRB Les Systmes embarqus. Linux embarqu - 36 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES (RT)OS ET LES SYSTEMES EMBARQUES AUJOURD HUI


Application Application Task Task Task ISRs Application Middleware File System Drivers Java Networking

superboucle Main Loop ISRs Annes 70


ENSEIRB

Kernel Annes 80-90

Kernel

Aujourdhui
- 37 -

Les Systmes embarqus. Linux embarqu

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES (RT)OS ET LES SYSTEMES EMBARQUES AUJOURD HUI


La superboucle n est pas prime aujourd hui mais reste rserve aux petits systmes (8 bits). Le choix doit tre bien sr le bon choix pour minimiser les cots du systme. On n oublie pas les bonne recettes du pass !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 38 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LINUX


Linux depuis presque 3 ans est en train de conqurir un domaine o on ne lattendait pas vraiment : lunivers des systmes embarqus. Pourquoi retrouve-t-on Linux dans lembarqu ? Tout dabord pour ses qualits quon lui reconnat maintenant dans lenvironnement plus standard du PC grand public : Libre, disponible gratuitement au niveau source : pas de royalties reverser. Ouvert. Diffrentes distributions proposes pour coller au mieux un type dapplication.
ENSEIRB Les Systmes embarqus. Linux embarqu - 39 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LINUX


Pourquoi retrouve-t-on Linux dans lembarqu ? Tout dabord pour ses qualits quon lui reconnat maintenant dans lenvironnement plus standard du PC grand public : Stable et efficace. Aide rapide en cas de problmes par la communaut Internet des dveloppeurs Linux. Nombre de plus en plus important de logiciels disponibles. Connectivit IP en standard.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 40 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LINUX


Linux a aussi dautres atouts trs importants pour les systmes embarqus : Portage sur processeurs autres que x86 : PowerPC, ARM, MIPS, 68K, ColdFire Taille du noyau modeste compatible avec les tailles de mmoires utilises dans un systme embarqu (<500 Ko). Diffrentes distributions proposes suivant le domaine : routeur IP, PDA, tlphone Support du chargement dynamique de modules qui permet doptimiser la taille du noyau. Migration rapide et en douceur pour un spcialiste Linux Linux embarqu ; ce qui rduit les temps de formation (et les cots).
ENSEIRB Les Systmes embarqus. Linux embarqu - 41 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LINUX


On a en fait entendu parler pour la premire fois officiellement de Linux embarqu une exposition Linux World en 1999 o les socits Motorola, Force et Ziatech ont prsent un systme CompactPCI fonctionnant sous Linux. En 2000 a t cr le consortium Linux embarqu (Embedded Linux Consortium) dont le but est de centraliser et de promouvoir les dveloppements de solutions Linux embarqu. Ce consortium regroupe des diteurs de distribution Linux, des diteurs de systmes Temps Rel propritaires (comme WindRiver pour VxWorks) et des fabricants de composants. Il compte actuellement plus de 100 membres.
ENSEIRB Les Systmes embarqus. Linux embarqu - 42 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LINUX


Les distributions Linux embarqu ont une part de march grandissante face des distributions propritaires gnralement Temps Rel comme VxWorks, pSOS, QNX o lon est dabord oblig de payer pour accder la plateforme de dveloppement puis de payer des royalties pour chaque systme (ou cible) que lon commercialise ensuite. Il est noter que lon observe une volution de ce systme page de certains face la menace Linux.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 43 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES SYSTEMES EMBARQUES ET LINUX


Linux embarqu supporte aussi diffrentes extensions Temps Rel qui mettent en place une couche dabstraction logique entre matriel, interruptions et Linux. Linux et lensemble des processus sont gnralement considrs comme la tche de fond excute quand il y a rien de Temps Rel faire On peut citer comme extensions Temps Rel : La distribution RTLinux et sa distribution Mini RTLinux pour lembarqu. La distribution RTAI.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 44 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 2 : QUAND LE MATERIEL REJOINT LE LOGICIEL

ENSEIRB

Les Systmes embarqus. Linux embarqu - 45 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CODESIGN : QUAND LE MATERIEL REJOINT LE LOGICIEL


La capacit de conception de systmes numriques permet aujourdhui de tout intgrer dans un mme composant (concept du single chip). On travaille donc au niveau systme et non plus au niveau porte lmentaire ou schmatique. On parle de systme sur silicium SoC (System on Chip) ou SoPC (System on Programmable Chip). Ceci est li la loi empirique de Moore qui dit que pour une surface de silicium donn, on double le nombre de transistors intgrs tous les 18 mois !
ENSEIRB Les Systmes embarqus. Linux embarqu - 46 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CODESIGN : QUAND LE MATERIEL REJOINT LE LOGICIEL

Technologie Complexit

1998 0,25 m 1 M de portes

1999 0,18 m 2-5 M Loi de Moore

2001 0,15 m 5-10 M

ENSEIRB

Les Systmes embarqus. Linux embarqu - 47 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CODESIGN : QUAND LE MATERIEL REJOINT LE LOGICIEL


1997 Technology Cost Design cycle Complexity Application 350nm $1.5-2.0billion 18-12mo 200-500k Cellar phone, DVDs 1998 250nm $2-3billion 12-10mo 1-2M Wireless PDAs 1999 180nm $3-4billion 10-8mo 4-6M Internet appliances 2002 130nm $4+ billion 8-6mo 10-25M Ubiquitous computing

ENSEIRB

Les Systmes embarqus. Linux embarqu - 48 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CODESIGN : QUAND LE MATERIEL REJOINT LE LOGICIEL

ENSEIRB

Les Systmes embarqus. Linux embarqu - 49 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CODESIGN : QUAND LE MATERIEL REJOINT LE LOGICIEL


1M-10K

C-Code System C Application Compilers (FIR) Intellectual Property Behavioral VHDL/Verilog RTL
Schematics

100K-1M Usable Gates (K)

10-100K

1K-5K

Equations
1 1991 1993 1995 1997 1999 2001 2003 2005

ENSEIRB

Les Systmes embarqus. Linux embarqu - 50 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CODESIGN : QUAND LE MATERIEL REJOINT LE LOGICIEL


On utilise maintenant des langages de description du matriel (VHDL, Verilog) pour synthtiser et aussi tester les circuits numriques. On a ainsi une approche logicielle pour concevoir du matriel. Avec laugmentation de lintgration, les systmes numriques se sont complexifis alors que la mise sur le march doit tre la plus rapide possible : Prise en compte du Time To Market (TTM). Rutilisation de choses dj ralises (Design Reuse).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 51 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CODESIGN : QUAND LE MATERIEL REJOINT LE LOGICIEL


On a ainsi vu apparatre la notion de blocs IP (Intellectual Property) qui est possible par lutilisation des langages de description du matriel. On achte des blocs IP comme on achte un circuit intgr : interface CAN. DCT. Interface MAC IEEE 802.3 10BaseT qui est la condition ncessaire pour assurer la connectivit IP sur rseau Ethernet.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 52 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 3 : CONNECTIVITE IP : LE BESOIN DE SYSTEMES COMMUNICANTS

ENSEIRB

Les Systmes embarqus. Linux embarqu - 53 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE INTERNET : UNE INTRODUCTION


La connectivit Internet permet de raccorder tout systme lectronique (systme embarqu) au rseau Internet. On parle aussi de connectivit IP (Internet Protocol). Ajouter une connectivit IP un systme lectronique permet de le contrler distance de n importe o dans le monde : par une application rseau. plus simplement par le web en utilisant un navigateur Internet (Netscape, Internet Explorer).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 54 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE INTERNET : UNE DEFINITION


Cette ultime (?) tape est l aboutissement du contrle distance d un systme lectronique : par un terminal VT100 80x24 caractres reli par une liaison srie RS.232/V.24 . par une application graphique sur un PC reli par une liaison srie. par une application graphique X11 sur un PC ou une station de travail reli par une liaison Ethernet (ou par un bus de terrain). par une application graphique de type navigateur web sur un quipement de contrle (PC, station de travail, ordinateur de poche, tlphone portable) reli l Internet.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 55 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE INTERNET : UNE DEFINITION


La connectivit IP demande d embarquer une suite de protocoles Internet sur le systme lectronique pour pouvoir tre mise en uvre. On parle alors de protocoles Internet embarqus (sur le systme) ou plus simplement d Internet embarqu. La suite des protocoles IP embarquer est moins ou moins importante en fonction du service implanter : contrle par une application rseau spcifique. contrle par le web. envoi d emails.
ENSEIRB Les Systmes embarqus. Linux embarqu - 56 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : UN PREMIER BILAN


La connectivit IP permet de raccorder tout systme lectronique (systme embarqu) au rseau Internet. Elle met en uvre une suite protocoles Internet que l on doit embarquer sur le systme. Avec une frontire de plus en plus floue entre matriel et logiciel, on voit apparatre maintenant de vritables offres de codesign. En consquence, l ajout de la connectivit IP qui se faisait en grande partie en logiciel a tendance maintenant tre remplace par son homologue matriel (utilisation d un bloc IP).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 57 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : UN PREMIER BILAN


La connectivit IP permet de contrler un quipement lectronique de n importe o dans le monde. Cet quipement peut sont tour prvenir un oprateur n importe o dans le monde. La connectivit IP prsume inconsciemment l utilisation d interfaces graphiques modernes et banalises (navigateur web) en adquation avec les besoins (de confort) actuels des clients. C est en fait l aboutissement d un lent processus de modernisation du tlcontrle allant de la liaison srie RS.232/V.24 dporte sur un terminal VT100 l applet Java excute par un navigateur web interrogeant un serveur web embarqu !
ENSEIRB Les Systmes embarqus. Linux embarqu - 58 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : UN PREMIER BILAN


Explosion du march de l Internet embarqu
1,000,000,000 utilisateurs 100,000,000 10,000,000 1,000,000 100,000
Government & Research Worldwide Web Email

The Internet Will Be Used to Communicate:


People to People People to Devices, and Devices to Devices

Internet Users
Today

Wireless / Mobile Internet

Embedded Internet

10,000 1,000 100

1980

1985

1990

1995

2000

2005

2010

Source: Motorola, Network Wizards,Motorola, Microsoft, The State of the Net

ENSEIRB

Les Systmes embarqus. Linux embarqu - 59 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : UN PREMIER BILAN


Importance croissante du Wireless Embedded Internet
Bil $ 140 120 100 80 60 40 20 0 90 91 92 93 94 95 96 97 98 99 '00 '01 '02 '03 '04 '05
% of SC Market Wireless Wired

% of SC Market 40 36 32 28 24 20 16 12

Communications Semiconductor Market


Source: Motorola, WSTS, SPS & Dataquest

ENSEIRB

Les Systmes embarqus. Linux embarqu - 60 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHAPITRE 2 : IMPORTANCE DU CODESIGN DANS L EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 61 -

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

APPROCHE TRADITIONNELLE DE DEVELOPPEMENT D UN SYSTEME EMBARQUE


1. Choix du matriel (composants lectroniques, processeur) pour le systme embarqu. 2. Donner le systme ainsi conu aux programmeurs. 3. Les programmeurs doivent raliser un logiciel qui colle au matriel en n exploitant que les ressources offertes.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 63 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

COMPLEXITE GRANDISSANTE D UN SYSTEME EMBARQUE


Les systmes embarqus sont de plus en plus complexes. Il est de plus en plus difficile de penser une solution globale optimise du premier jet. Il est de plus en plus difficile de corriger les bugs . Il est de plus en plus difficile de maintenir le systme au cours du temps (obsolescence des composants). En consquence, l approche traditionnelle de dveloppement d un systme embarqu doit voluer...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 64 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MOINS DE TEMPS POUR LE DEVELOPPEMENT


Dans l lectronique embarque, le temps de conception devient de plus en plus rduit (pour diminuer les cots, gagner un appel d offre). Le temps dveloppement de l lectronique dans l industrie automobile est passe de 3 5 ans 1 3 ans. Et le systme doit toujours tre toujours aussi sr et robuste.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 65 -

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

L INTERET DE L EMPLOI D UN PROCESSEUR


L usage d un processeur facilite la ralisation du systme dans la majorit des cas. Il se peut aussi que le processeur soit surdimensionn par rapport la fonctionnalit logique implmenter par logiciel. L usage de circuits logiques programmables FPGA (ou des ASIC) est alors intressante dans ce cas. L usage d un processeur spcialis comme un microcontrleur ou un DSP peut aussi rduire considrablement le surdimensionnement et le nombre de composants lectroniques.
ENSEIRB Les Systmes embarqus. Linux embarqu - 67 -

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

Les Systmes embarqus. Linux embarqu - 68 -

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

Les Systmes embarqus. Linux embarqu - 69 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LA QUADRATURE DU CERCLE ET LE CONCEPTEUR DE SYSTEME EMBARQUE


Concevoir un systme embarqu remplissant toutes les contraintes prcdemment nonces demande au concepteur des comptences multidisciplinaires : Comptences hardware et software : microprocesseur, microcontrleur, DSP, FPGA, codesign, VDHL, assembleur, E/S, C, RTOS, rseau, UML, Linux, Java... Connaissance des systmes numriques. Savoir travailler en quipe avec des ingnieurs d autres disciplines. Comprendre le besoin du client et savoir aussi l identifier !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 70 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LA QUADRATURE DU CERCLE ET LA METHODOLOGIE DE CONCEPTION


Une mthodologie dans la phase de conception du systme doit tre utilise : La mthodologie mise en uvre permet d tre sr de ne pas oublier une tape. Des outils de CAO et d aide la conception peuvent tre utiliss : automatisation et vrification en cours de conception. Traabilit des tapes de conception du systme. Matrise des contraintes : temps de conception, consommation, cot...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 71 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES ETAPES DE CONCEPTION D UN SYSTEME

Contraintes Spcifications Architecture Design Intgration systme


ENSEIRB Les Systmes embarqus. Linux embarqu - 72 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

METHODOLOGIE TOP-DOWN ET BOTTOM-UP

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

Les Systmes embarqus. Linux embarqu - 73 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

METHODOLOGIE TOP-DOWN ET BOTTOM-UP

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

Les Systmes embarqus. Linux embarqu - 74 -

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

Conception traditionnelle dbut

Codesign (flot concurrent) dbut

HW

SW HW SW Ralise par le mme groupe dingnieurs en coopration

Ralise par des groupes dingnieurs indpendants


ENSEIRB

Les Systmes embarqus. Linux embarqu - 76 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES ETAPES DANS LE CODESIGN

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

LES ETAPES DANS LE CODESIGN


Description systme Partitionnement HW/SW Synthse Software Intgration systme

Modlisation Reprsentation unifie Synthse Hardware Evaluation et tests HW/SW

ENSEIRB

Les Systmes embarqus. Linux embarqu - 78 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CODESIGN HARDWARE/SOFTWARE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 79 -

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

CODESIGN ET SYSTEMES EMBARQUES : UN BILAN


Les systmes embarqus tant de plus en plus complexes, un mthodologie rigoureuse de conception doit tre maintenant mise en uvre. Le codesign fait partie intgrante de cette mthodologie. Cela est maintenant possible grce des niveaux d intgration sur silicium trs importants des circuits logiques programmables qui peuvent aujourd hui embarquer des processeurs. L apparition de modules IP, vritables circuits lectroniques sous forme logicielle ( le java bean de l lectronique ) n a fait qu accentuer l importance du codesign et du design reuse.
ENSEIRB Les Systmes embarqus. Linux embarqu - 81 -

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

Les Systmes embarqus. Linux embarqu - 82 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 1 : INTRODUCTION

ENSEIRB

Les Systmes embarqus. Linux embarqu - 83 -

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

Les Systmes embarqus. Linux embarqu - 86 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 2 : LES OUTILS POUR LA MISE AU POINT D UN SYSTEME EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 87 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

INTRODUCTION

ENSEIRB

Les Systmes embarqus. Linux embarqu - 88 -

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

Les Systmes embarqus. Linux embarqu - 89 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

L OSCILLOSCOPE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 90 -

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

Les Systmes embarqus. Linux embarqu - 91 -

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

Les Systmes embarqus. Linux embarqu - 93 -

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

Les Systmes embarqus. Linux embarqu - 95 -

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

Les Systmes embarqus. Linux embarqu - 98 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE MONITEUR ROM

ENSEIRB

Les Systmes embarqus. Linux embarqu - 99 -

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

Les Systmes embarqus. Linux embarqu - 100 -

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

Les Systmes embarqus. Linux embarqu - 101 -

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: before instruction n-1 instruction n instruction n+1 .


Want to set breakpoint here

Code image in memory: after instruction n-1 trap vector to debugger entry point instruction n+1 instruction n

Debugger inserts trap vector in place of instruction

Moved to the debugger database for safe keeping

ENSEIRB

Les Systmes embarqus. Linux embarqu - 102 -

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

Les Systmes embarqus. Linux embarqu - 103 -

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

Les Systmes embarqus. Linux embarqu - 104 -

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

Les Systmes embarqus. Linux embarqu - 105 -

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

Les Systmes embarqus. Linux embarqu - 107 -

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

Les Systmes embarqus. Linux embarqu - 110 -

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

Les Systmes embarqus. Linux embarqu - 111 -

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

Les Systmes embarqus. Linux embarqu - 113 -

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

Les Systmes embarqus. Linux embarqu - 115 -

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

Les Systmes embarqus. Linux embarqu - 116 -

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

Les Systmes embarqus. Linux embarqu - 117 -

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

Les Systmes embarqus. Linux embarqu - 118 -

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

TRACES TEMPS REEL


L mulateur ICE permet de tracer l activit du processeur (comme l analyseur logique). Il admet des triggers complexes pour le lancement d une acquisition (trace pour la surveillance d une interruption) et dsassemble le code captur stock dans une mmoire tampon circulaire. Si l on possde la table des symboles, on peut remonter au fichier source directement.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 120 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TRACES TEMPS REEL


Example of Real Time Trace from HP64700 emulator

ENSEIRB

Les Systmes embarqus. Linux embarqu - 121 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TRACES TEMPS REEL


The user interface software has access to the linker symbol table Can intersperse C or C++ source lines with assembly language execution

ENSEIRB

Les Systmes embarqus. Linux embarqu - 122 -

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

Les Systmes embarqus. Linux embarqu - 123 -

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

Les Systmes embarqus. Linux embarqu - 126 -

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

Les Systmes embarqus. Linux embarqu - 127 -

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

Les Systmes embarqus. Linux embarqu - 130 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

INTRODUCTION

ENSEIRB

Les Systmes embarqus. Linux embarqu - 131 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

INTRODUCTION

ENSEIRB

Les Systmes embarqus. Linux embarqu - 132 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEBUG PAR LE JTAG


Il est possible de mettre au point un systme par le JTAG : la norme JTAG a t tendue par certains fondeurs pour cela. On lie tous les registres internes et les blocs fonctionnels importants par une boucle JTAG. On a donc un debugger simple sur silicium (on chip). On autorise la lecture comme l criture dans les registres. On peut rajouter des registres de debug spcifiques accessibles par le JTAG.
ENSEIRB Les Systmes embarqus. Linux embarqu - 133 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEBUG PAR LE JTAG


Clock in JTAG in JTAG out

Program Counter - PC

Status Bus Interface

Register R2

Processor Core

Register Rn

SPECIAL REGISTER SET

Data Bus Interface

ENSEIRB

Les Systmes embarqus. Linux embarqu - 134 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Addr Bus Interface

Register R1

JTAG Control State Machine

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

Les Systmes embarqus. Linux embarqu - 135 -

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

Les Systmes embarqus. Linux embarqu - 137 -

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

Les Systmes embarqus. Linux embarqu - 138 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

BDM

ENSEIRB

Les Systmes embarqus. Linux embarqu - 139 -

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

Les Systmes embarqus. Linux embarqu - 140 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

INTRODUCTION

ENSEIRB

Les Systmes embarqus. Linux embarqu - 141 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PORTS DDATA ET PST


Le BDM permet de contrler le processeur et de le tracer en Temps Rel. Le debug par le BDM doit tre valid (signal MTMOD=1 (Motorola Test MODe) pour le ColdFire). Les 4 bits de sortie (port DDATA) DDATA0 DDATA3 correspondent aux donnes de debug tandis que les 4 bits de sortie PST0 PST3 (port PST) correspondent l tat du processeur. Ces bits sont positionns chaque excution d une instruction par le processeur.
ENSEIRB Les Systmes embarqus. Linux embarqu - 142 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PORTS DDATA ET PST


Le port DDATA inclut 2 registres de 32 bits de stockage pour capturer l activit sur le bus interne (adresse et donne). Ces 2 registres de 32 bits forment des FIFO lues par paquets de 4 bits. L excution du processeur (dans le cas du ColdFire) est affecte quand il y a 2 donnes de 32 bits valides dans les FIFO. Il doit attendre qu une des FIFO soit vide sur le port DDATA. S il n y a qu une FIFO valide, alors le processeur travaille pleine vitesse. Cette attente n apparat bien sr quand on est en mode BDM (MTMOD=1).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 143 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PORTS DDATA ET PST

ENSEIRB

Les Systmes embarqus. Linux embarqu - 144 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PORTS DDATA ET PST


Exemple d activit sur les ports PST et DDATA lors de l excution par un ColdFire (compatible avec le jeu d instructions du 68020) : JMP $1000 (adresse courte sur 16 bits) PST DDATA $5 $0 $9 $0 $0 A3-A0 A7-A4 A11-A8

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

Les Systmes embarqus. Linux embarqu - 145 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PORTS DDATA ET PST


Dans le cas du processeur ColdFire (Voir le manuel utilisateur du 5206), les bits PSTx sont positionns 0100 ($4) lors de l excution de l instruction PULSE ou WDDATA. Cela permet ainsi de gnrer un trigger depuis le code excut pour lancer une trace en Temps Rel. L instruction PULSE gnre une marque de temps (trigger). L instruction WDDATA permet en plus de passer une donne 32 bits quelconque sur le port DDATA.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 146 -

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

Les Systmes embarqus. Linux embarqu - 147 -

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

Les Systmes embarqus. Linux embarqu - 148 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEBUG
Commande READ :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 149 -

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

Les Systmes embarqus. Linux embarqu - 150 -

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

Les Systmes embarqus. Linux embarqu - 151 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SIMULATEUR

ENSEIRB

Les Systmes embarqus. Linux embarqu - 152 -

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

Les Systmes embarqus. Linux embarqu - 153 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX DES OUTILS

ENSEIRB

Les Systmes embarqus. Linux embarqu - 154 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX DES OUTILS


Le bon sens doit avant guider l ingnieur dans le choix des outils de debug utiliser. On part gnralement des outils les plus simples aux outils les plus sophistiqus : L oscilloscope : vrification des horloges, signaux critiques L analyseur logique : reset, vrification des bus d adresses et de donnes, accs mmoire. L mulateur ROM, ICE : couplage avec le logiciel. Debug au niveau source. On peut ensuite embarquer un moniteur en ROM pour le lancement de l application finale ou faire des tests en cours de production.
ENSEIRB Les Systmes embarqus. Linux embarqu - 155 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX DES OUTILS


Fonctionnalit Event triggers Overlay RAM Points darrt hard Points darrt complexes Time stamps Accs non intrusif Cot Emulateur ICE BDM ROM Moniteur Analyseur logique ROM Emulateur

Oui Oui Oui Oui Oui Oui Trs cher

Certains Non Certains Non Non Oui Bon march

Non Non Non Non Non Non Bon march

Oui Non Non Oui Oui Oui Cher

Non Oui Certains Non Non Non Bon march

ENSEIRB

Les Systmes embarqus. Linux embarqu - 156 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX DES OUTILS


Fonctionnalit Debug au niveau source Tlchargement code Pas pas Points darrt Display/modifs registres Regarder variables Traces TR Emulateur ICE BDM ROM Moniteur Analyseur logique ROM Emulateur

Oui Oui Oui Oui Oui Oui Oui

Oui Oui Oui Oui Oui Oui Certains

Oui Oui Oui Oui Oui Oui Non

Certains Non Non Non Oui Oui Oui

Oui Oui Oui Oui Oui Oui Non

ENSEIRB

Les Systmes embarqus. Linux embarqu - 157 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 3 : LA MISE AU POINT MATERIELLE D UN SYSTEME EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 158 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

ENVIRONNEMENT DE DEVELOPPEMENT

ENSEIRB

Les Systmes embarqus. Linux embarqu - 159 -

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

Liaison srie liaison rseau Ethernet target

ENSEIRB

Les Systmes embarqus. Linux embarqu - 161 -

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

Les Systmes embarqus. Linux embarqu - 162 -

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++ Source File

C or C++ Compiler

Assembly Source File

Assembler

Relocatable Object Module

User Library

Include Files

Library Directory Listing Linker Command File

Device Programmer Absolute Object Module Linker Relocatable Object Module

Target Development System

Link Map

ENSEIRB

Les Systmes embarqus. Linux embarqu - 163 -

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

Les Systmes embarqus. Linux embarqu - 164 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TRUCS ET ASTUCES POUR UNE BONNE MISE AU POINT. AVANT DE COMMENCER

ENSEIRB

Les Systmes embarqus. Linux embarqu - 165 -

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

ETRE IMPLIQUE DANS LA CONCEPTION


Vrifier que le composant sur lequel dmarre (boot) le systme est reprogrammable : pas de dsoudage faire, interface JTAG pour le reprogrammer Le systme doit inclure un mcanisme de communication entre le logiciel de boot (firmware) et l humain : leds, port srie, connecteur spcial non quip dans la version finale pour limiter le cot du produit fini, JTAG, BDM...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 167 -

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

Les Systmes embarqus. Linux embarqu - 168 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

AVOIR UNE COPIE DES DOCUMENTS


On doit connatre plus que les schmas. Avoir les datasheets de tous les circuits utiliss dans le systme (travailler sur papier). Vrifier s il existe pas d errata pour chaque datasheet surtout quand un circuit rcent est utilis. Il est bien sr possible alors de dcouvrir des bugs.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 169 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

ETRE SUR QUE LE MATERIEL MARCHE


Si le systme est neuf, s assurer que les tests lectriques lmentaires ont t faits : Court-circuits. Tests de continuit. Pas de faux contacts. Soudures froides. Savoir comment brancher l alimentation.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 170 -

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

Les Systmes embarqus. Linux embarqu - 172 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

REGARDER CE QUE L ON A CONCU


Faire des dumps hexadcimal des fichiers objets. Consulter le fichier de mapping mmoire. Vrifier le mapping mmoire : Vrifier les sections de code : .text Vrifier les sections de donnes initialises : .data Vrifier les sections de donnes non initialises : .bss (Bloc Starting by Symbol)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 173 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TRUCS ET ASTUCES POUR UNE BONNE MISE AU POINT. DANS L ACTION

ENSEIRB

Les Systmes embarqus. Linux embarqu - 174 -

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

Les Systmes embarqus. Linux embarqu - 175 -

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

Les Systmes embarqus. Linux embarqu - 176 -

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

Les Systmes embarqus. Linux embarqu - 178 -

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

Les Systmes embarqus. Linux embarqu - 180 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 4 : LA MISE AU POINT LOGICIELLE D UN SYSTEME EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 181 -

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

Les Systmes embarqus. Linux embarqu - 183 -

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

Les Systmes embarqus. Linux embarqu - 184 -

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

Les Systmes embarqus. Linux embarqu - 186 -

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

MODIFICATEUR D ACCES VOLATILE


Le modificateur d accs volatile est utiliser obligatoirement : Pour l accs des registres de priphriques mapps en mmoire. Variables globales modifies par une ISR. Variables globales dans une application multi-tche.
Source : Introduction to the Volatile Keyword.N.Jones, Embedded Systems Programming. http://www.embedded.com/story/OEG20010615S0107

ENSEIRB

Les Systmes embarqus. Linux embarqu - 188 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VOLATILE : MAUVAISE PROGRAMMATION


Exemple : scrutation active d un registre d tat d un priphriques 8 bits. Le registre d tat 8 bits est l adresse 0x1234. Scrutation active du registre d tat jusqu ce qu il soit non nul.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 189 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VOLATILE : MAUVAISE PROGRAMMATION


unsigned char * ptr = (unsigned char *) 0x1234; // Wait for register to become non-zero while (*ptr == 0) ; // Do something else Cela risque de ne pas marcher ds que le compilateur optimise le code. Le code gnr pourrait tre : mov ptr, #0x1234 mov a, @ptr loop bz loop
ENSEIRB Les Systmes embarqus. Linux embarqu - 190 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VOLATILE : MAUVAISE PROGRAMMATION


Le compilateur C voit qu il a dj la valeur courante de la variable. Il n y a aucun besoin d aller la relire puisque c est la toujours mme valeur (la valeur d une case mmoire ne change pas d elle mme !). Il gnre alors une boucle infinie. On ne sort donc pas de le boucle ! D o un BUG en run time !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 191 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VOLATILE : BONNE PROGRAMMATION


volatile unsigned char * ptr = (volatile unsigned char *) 0x1234;

Le code assembleur gnr est alors : mov ptr, #0x1234 loop mov a, @ptr bz loop On a alors le comportement attendu !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 192 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 5 : EXEMPLE ILLUSTRE : MISE AU POINT LOGICIELLE D UN SYSTEME LINUX EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 193 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE : LES ETAPES


1. Dveloppement du bootloader. 2. Portage du noyau Linux. 3. Dveloppement des drivers spcifiques. 4. Dveloppement de l application finale. 5. Intgration du tout.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 194 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

L ENVIRONNEMENT

ENSEIRB

Les Systmes embarqus. Linux embarqu - 195 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE SYSTEME HOTE OU HOST


Utilisation d un PC ou une station de travail comme host sous Linux en gnral ( dfaut sous Windows avec Cygwin). Connexion par liaison srie (ou par rseau Ethernet maintenant) avec le systme embarqu cible ou target : minicom, hyperterminal Partage de fichiers avec la cible par montage NFS si la cible a une interface rseau Ethernet. Dveloppement crois sur l hte avec tous les composants logiciels ncessaires.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 196 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE SYSTEME CIBLE OU TARGET


Utilisation d une carte CPU qui excute Linux. On a besoin d y intgrer diffrents composants logiciels : une boot ROM contenant un bootloader chargeant le noyau Linux en mmoire et puis l excutant. Un noyau Linux (compress). Une image disque d un systme de fichiers Linux contenant les programmes applicatifs, bibliothques partages, modules Linux, fichiers de script...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 197 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TELECHARGEMENT DANS LA CIBLE


Utilisation d un quipement particulier pour le tlchargement dans la cible en phase de dveloppement (en final, tout sera rom ) : ICE, JTAG, BDM On flashera en premier en mmoire FLASH le bootloader. Le bootloader pourra ensuite tlcharger le noyau et l image du systme de fichiers par la liaison srie ou par le rseau (TFTP) (et le mettre en mmoire FLASH au final). Le systme de fichiers (root File System) peut tre ventuellement mont par NFS au lancement du noyau Linux de la cible...
ENSEIRB Les Systmes embarqus. Linux embarqu - 198 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

ENVIRONNEMENT DE DEVELOPPEMENT CROISE


Environnement de dveloppement crois sous Linux. On utilisera les outils GNU : gcc, binutils. ld, as, nm, obcopy, strip, ar Ces outils permettent de crer une image binaire du noyau et du systme de fichiers (root file System) sur l hte. On pourra utiliser un atelier de gnie logiciel (IDE : Integrated Design Environment) : Kdevelop, Metrowerks Code Warrior...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 199 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

ENVIRONNEMENT DE DEVELOPPEMENT CROISE


Utilisation du debugger GNU ou GDB. Debug par la liaison srie ou par le rseau. On a sur la cible un programme serveur gdbserver qui attend les ordres d une application cliente excute par l hte. On bnfie alors d un interface graphique conviviale sur l hte qui permet de debugger au niveau source : utilisation d un front end gdb comme DDD (Data Display Debugger). On pourra aussi mettre profit les outils de base Linux sur l hte pour la gestion du projet : make, CVS (Current Version System)...
ENSEIRB Les Systmes embarqus. Linux embarqu - 200 -

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

Les Systmes embarqus. Linux embarqu - 202 -

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

Les Systmes embarqus. Linux embarqu - 204 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT DES DRIVERS


Il est souhaitable de choisir des composants qui sont supports par Linux lors de la phase de conception du systme. Lors de la phase de configuration du noyau, on choisira les drivers appropris. On pourra ventuellement les modifier pour coller au mapping mmoire de la cible. Si l on doit crire un nouveau driver pour un matriel spcifique, il est prfrable de partir d un driver existant similaire. Il faudra faire le choix entre dvelopper un driver statique li au noyau ou un driver dynamique (module Linux) charg en mmoire par le noyau la demande.
ENSEIRB Les Systmes embarqus. Linux embarqu - 205 -

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

Les Systmes embarqus. Linux embarqu - 207 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHAPITRE 4 : LA CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 208 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 1 : RAPPELS SUR LA NOTION DE RESEAU

ENSEIRB

Les Systmes embarqus. Linux embarqu - 209 -

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

Les Systmes embarqus. Linux embarqu - 210 -

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

Les Systmes embarqus. Linux embarqu - 211 -

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

Les Systmes embarqus. Linux embarqu - 212 -

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

Les Systmes embarqus. Linux embarqu - 214 -

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

noeud B application reprsentation session transport rseau liaison physique 7 6 5 4 3 2 1

donnes

donnes

message paquet trame bits

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

Les Systmes embarqus. Linux embarqu - 216 -

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

Les Systmes embarqus. Linux embarqu - 218 -

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

Les Systmes embarqus. Linux embarqu - 219 -

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

application reprsentation session transport rseau liaison physique

Rpteur ou amplificateur (repeater) : F Amplification du signal pour augmenter la distance. F Conversion de signaux (RS-485 vers fibre optique).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 220 -

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

application reprsentation session transport rseau liaison physique

Pont (Bridge) : F Conversion de signaux (couche 1) et de format des trames du niveau liaison (couche 2).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 221 -

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

rseau liaison physique

rseau liaison physique

application reprsentation session transport rseau liaison physique

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

esclave1 esclave2 esclave3

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

Les Systmes embarqus. Linux embarqu - 225 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RAPPELS RESEAU
matre

Mthodes daccs au mdium

esclave1 esclave2 esclave3

Sync

matre Escl 1 Escl 2 Escl 3 Sync temps

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

Les Systmes embarqus. Linux embarqu - 226 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RAPPELS RESEAU
jeton 1 2

Mthodes daccs au mdium

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

Mthodes daccs au mdium

(ex : bus de terrain)

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

Mthodes daccs au mdium

(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

Les Systmes embarqus. Linux embarqu - 229 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 2 : RAPPEL SUR LES PROTOCOLES INTERNET

ENSEIRB

Les Systmes embarqus. Linux embarqu - 230 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

ARCHITECTURE DU RESEAU INTERNET


Architecture en 4 couches : mdium (1 et 2 du modle OSI). rseau IP (sans connexion) (3 du modle OSI). transport TCP (avec connexion) ou UDP (sans connexion) (4 du modle OSI). application (5, 6 et 7 du modle OSI). Fonctionnalit majeure : Interconnexion de rseaux htrognes.
TCP : Transmission Control Protocol UDP : User Datagram Protocol IP : Internet Protocol

ENSEIRB

Les Systmes embarqus. Linux embarqu - 231 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

ARCHITECTURE DU RESEAU INTERNET


Application

Internet Server Software

SMTP

NFS

HTTP

FTP

Application Layer

UDP

TCP

Transport Layer

ICMP IP

Internet Layer

PPP Ethernet Modem UART

Network Access Layer Physical Layer

ENSEIRB

Les Systmes embarqus. Linux embarqu - 232 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

ARCHITECTURE DU RESEAU INTERNET


Les protocoles Internet sont indpendants du support de transmission ou mdium choisi : Ethernet : le plus commun. Liaison srie (pour accs Internet par le RTC). Liaison radio : GSM, BLR : on parle de Wireless Internet. Cette technologie est jeune et en cours de dveloppement Courant porteur. Cette indpendance par rapport au mdium en fait son intrt et son universalit. On peut donc interconnecter des rseaux htrognes par Internet. On dit que l on met IP sur tout (IP over ATM, IP over FR). C est LE standard de fait.
ENSEIRB Les Systmes embarqus. Linux embarqu - 233 -

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

Les Systmes embarqus. Linux embarqu - 234 -

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

Les Systmes embarqus. Linux embarqu - 236 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DNS (Domain Name System RFC 1034)


Les humains prfrent les noms symboliques (chane de caractres) aux adresses IP : rle du DNS. DNS : correspondance entre un nom symbolique et une adresse IP. Le DNS est un espace hirarchis de noms symboliques. Chaque nud a un nom dau plus 63 caractres (la racine a un nom nul).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 237 -

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

u-bordeaux enseirb ixl labri

www

ENSEIRB

Les Systmes embarqus. Linux embarqu - 238 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

COUCHE LIAISON INTERNET


C est l quivalent des couches 1 et 2 du modle OSI. Les protocoles Internet au dessus ne voient pas les spcificits propres chaque mdium. Les protocoles IP sont indpendants du support de transmission. Le but est : envoyer/recevoir des datagrammes IP. envoyer/recevoir des requtes ARP/RARP.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 239 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

COUCHE LIAISON INTERNET


rseau liaison physique

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

Les Systmes embarqus. Linux embarqu - 240 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

COUCHE LIAISON INTERNET


On retrouve diffrents mdiums : Ethernet, le plus rpandu. La mthode d accs (MAC) est de type CSMA/CD. Liaison srie (et couplage un modem RTC). On utilise dans ce cas des protocoles spcifiques : SLIP, PPP... Liaison radio : (Wireless Internet). Exemple : GSM 2G : on dispose d un canal de transmission de donnes 9600 b/s (V.24). Le dbit est faible ! Courant porteur. Pour chaque mdium, on trouve dfinie au niveau liaison une trame : trame Ethernet, trame SLIP, trame PPP Cette trame possde une taille maximale.
ENSEIRB Les Systmes embarqus. Linux embarqu - 241 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

COUCHE LIAISON ETHERNET


Trame Ethernet IEEE 802.3 : Contrle (4octets)

Donnes (0-1500 octets)

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

SLIP (Serial Line IP RFC 1055)


Protocole trs simple. Permet dmettre des datagrammes IP entre 2 ordinateurs relis par une liaison srie. Les datagrammes IP sont mis sur la ligne avec un octet de sparation END : END code 0xC0. si END dans les donnes : ESC ESC_END ( 0x0D, 0xDC). si ESC dans les donnes : ESC ESC_ESC (0x0D, 0xDD). Pas de dtection d'erreurs. Pas de ngociation (adresse IP, taille des paquets, protocole transport).
0xC0 Datagramme IP 0xC0

ENSEIRB

Les Systmes embarqus. Linux embarqu - 243 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CSLIP (RFC 1144)


Similaire SLIP avec la compression des enttes IP +TCP dite Van Jacobson (RFC 1144). L entte TCP/IP fait 40 octets sans compression !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 244 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PPP (Point to Point Protocol RFC 1661)


Mthode standard pour transporter des datagrammes de protocoles diffrents sur des liaisons point point (V.24, RNIS, X.25...). Les composants de PPP sont : Une mthode pour encapsuler les datagrammes (paquet PPP). Encapsulation du paquet PPP dans une trame HDLC simplifie. Un protocole de contrle de liaison de donnes. tablir, configurer, et tester la liaison de donnes. Une famille de protocoles de contrle du niveau rseau : tablir, configurer les diffrents protocoles de la couche rseau (adresse IP dynamique).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 245 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PPP
Couche rseau

IP

Compression d entte CHAP

NCP

PPP
PAP
donnes authentification

LCP
ngociation

Couche liaison Couche physique ENSEIRB

Adaptation au support physique

Les Systmes embarqus. Linux embarqu - 246 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PPP : ENCAPSULATION HDLC 7E


FF

03

paquet PPP

FCS

7E

flag address control paquet PPP FCS $7E

: $7E. : $FF (adresse de diffusion). : $03 = Unumbered Info. : donnes. : Frame Check Sequence (CRC). : flag de fin de trame HDLC.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 247 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROTOCOLE IP (Internet Protocol RFC 791)


C est le cur du fonctionnement des protocoles Internet. Assure un mode sans connexion et un service non fiable (sans garantie) de dlivrance des datagrammes IP. Les datagrammes IP peuvent tre perdus, dupliqus, retards, altrs ou dsordonns (analogie avec le service postal). Les principales fonctionnalits du protocole IP : dfinition du datagramme IP. service de transport non fiable des datagrammes IP. routage dans le rseau Internet des datagrammes IP.
ENSEIRB Les Systmes embarqus. Linux embarqu - 248 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROTOCOLES ARP ET RARP (Address Resolution Protocol RFC 826 ET 903)


Comme le protocole IP (avec ses adresses IP) peut tre utilis sur des supports de transmission diffrents (Ethernet, liaison srie, radio) ayant leur propre adresse physique, il faut tablir des correspondances biunivoques entre les adresses IP et les adresses matrielles. Exemple : rseau Ethernet : adresse Ethernet sur 48 bits. Pour envoyer un datagramme IP sur rseau Ethernet, on a besoin des adresses IP et Ethernet.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 249 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROTOCOLES ARP ET RARP


ARP (Address Resolution Protocol) fournit une correspondance dynamique entre une adresse IP et une adresse matrielle. RARP (Reverse Address Resolution Protocol) ralise le contraire. Lors de la demande de transmission du premier datagramme IP : envoi dune requte ARP avec ladresse IP du destinataire sur le rseau Internet pour rcuprer son adresse matrielle. la requte nest reconnue que par le bon destinataire qui renverra alors son adresse matrielle dans un datagramme ARP en rponse.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 250 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROTOCOLES ARP ET RARP


Datagramme ARP :
0 8 16 24 31

Type de matriel LGR-MAT LGR-PROT

Type de protocole Opration

Adresse matriel metteur (octets 0-3)


Adresse Mat metteur (octets 4,5) Adresse IP metteur (octets 4,5) Adresse IP metteur (octets 0,1) Adresse Mat cible (octets 0,1)

Adresse Matriel cible (octets 2,5) Adresse IP cible (octets 0-3)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 251 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROTOCOLE IP (Internet Protocol RFC 791)


Entte de 20 octets minimum. Donnes (< 65536 octets).
0 4 8 16 19 24 31

VERS HLEN Type de service Identification Dure de vie Protocole Flags

Longueur totale Offset fragment

Somme de contrle Header

Adresse IP Source Adresse IP Destination

Options IP (ventuellement) Donnes

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

header checksum : 2 octets adresses IP source/destination : 4 octets options (+ bourrage 4 octets)


ENSEIRB Les Systmes embarqus. Linux embarqu - 253 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

FRAGMENTATION DES DATAGRAMMES IP


Les datagrammes sont encapsuls dans des trames de niveau 2 (liaison) qui ont leur propre taille maximale. Comme il y a interconnexion de rseaux htrognes par les protocoles Internet, il impossible de connatre la taille maximale dune trame. Il y a donc ncessit de fragmenter les datagrammes IP (<65536 octets) en cours de transmission dans le rseau Internet.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 254 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

FRAGMENTATION DES DATAGRAMMES IP


Pour chaque rseau travers par un datagramme IP, il existe ainsi un MTU (Maximum Transfert Unit). Si taille_data_IP < MTU, encapsulation immdiate dans une trame correspondant au type de rseau travers. sinon, fragmentation (en multiple de 8 octets). S il y a fragmentation, cest le destinataire final qui rassemble (mme si l on passe par des rseaux MTU plus grand). On code dans le champ offset fragment, la position du fragment par rapport au datagramme IP initial.
ENSEIRB Les Systmes embarqus. Linux embarqu - 255 -

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

Les Systmes embarqus. Linux embarqu - 256 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

ICMP (Internet Control Message Protocol RFC 792)


Le protocole ICMP permet denvoyer des messages de contrle ou derreur vers dautres machines ou routeurs. ICMP rapporte les messages derreur lmetteur initial. Beaucoup derreurs sont causes par lmetteur, mais dautres sont dues des problmes dinterconnexion rencontrs sur Internet : machine destination dconnecte. dure de vie du datagramme expire (TTL=0). congestion de routeurs intermdiaires.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 257 -

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

Les Systmes embarqus. Linux embarqu - 258 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROTOCOLES TCP ET UDP


Les protocoles de niveau transport TCP et UDP utilisent IP comme service rseau. TCP procure un service de transport de donnes en mode connect fiable (alors que IP ne lest pas). UDP procure un service de transport de donnes en mode non connect ou datagramme non fiable (comme IP).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 259 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROTOCOLE UDP (User Datagram Transport RFC 768)


UDP achemine les donnes de l utilisateur en utilisant le service IP en mode datagramme non fiable. Pas daccus de rception (pas de vrification possible de la bonne rception). Pas de rordonnancement des messages. Pas de contrle de flux. Cest lapplication de grer les pertes, duplications, retards, dsquencement UDP permet cependant de distinguer plusieurs applications destinatrices des donnes reues sur la mme machine par lintermdiaire d un mot de 16 bits appel numro de port.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 260 -

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

Longueur message 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

Les Systmes embarqus. Linux embarqu - 261 -

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

Les Systmes embarqus. Linux embarqu - 262 -

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

Les Systmes embarqus. Linux embarqu - 263 -

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

PROTOCOLE TCP (Transport Control Protocol RFC 793)


TCP procure un service en mode connect et fiable : garantie de non perte de donnes ainsi que de l'ordre. Il permet de transfrer un flux doctets non structur. tablissement pralable dune connexion (mode connect). Lunit dinformation transmise est le segment. Le segment rsulte de la fragmentation ou de la concatnation de donnes transmises par lapplication.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 265 -

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

Options ventuelles Donnes . . .


ENSEIRB Les Systmes embarqus. Linux embarqu - 266 -

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

Les Systmes embarqus. Linux embarqu - 269 -

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

Les Systmes embarqus. Linux embarqu - 270 -

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

Les Systmes embarqus. Linux embarqu - 271 -

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

socket connexion requte rponse connect write read close


- 272 -

Les Systmes embarqus. Linux embarqu

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

CLIENT socket sendto

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

PARTIE 3 : LES APPLICATIONS INTERNET

ENSEIRB

Les Systmes embarqus. Linux embarqu - 275 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TELNET ET RLOGIN (RFC 854)


Ces commandes permettent un utilisateur de se connecter un ordinateur distant. Les deux utilisent TCP. telnet est aussi un client pour se connecter tout serveur en mode connect (TCP). rlogin ne fonctionne quentre 2 machines UNIX. rlogin fait partie de la famille des commandes UNIX r (rsh, rcp). On a chaque fois un client et un serveur pour les applications Internet.
ENSEIRB Les Systmes embarqus. Linux embarqu - 276 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

NFS (Network File System RFC 3010)


NFS permet de rendre transparente lutilisation de fichiers de systmes de fichiers rpartis sur diffrentes machines. NFS utilise UDP mais les nouvelles versions utilisent TCP. NFS est utile quand le systme ne dispose pas de systme de fichiers local (station diskless, systme embarqu).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 277 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

FTP (File Transfer Protocol RFC 959)


FTP permet le transfert de fichiers dune machine une autre. FTP ncessite la connexion de lutilisateur avec un nom et un mot de passe. Si lutilisateur nest pas reconnu, pas de connexion. Il existe des serveur FTP anonymes : nom d utilisateur anonymous avec son email comme mot de passe.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 278 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TFTP (Trivial FTP RFC 1350)


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

Les Systmes embarqus. Linux embarqu - 279 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SMTP (Simple Mail Transfer Protocol RFC 821)


SMTP permet dchanger des courriers lectroniques entre un expditeur et un ou plusieurs destinataires. SMTP utilise TCP. Ladresse est de la forme : nom@domaine. SMTP effectue une remise diffre du courrier (en cas de non disponibilit temporaire du destinataire).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 280 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

World Wide Web : HTTP (HyperText Transfer Protocol RFC 1945)


HTTP est le protocole de communication et d change de documents multimdia du web . HTTP permet dchanger des documents hypertextes contenant des donnes sous la forme de texte, dimages fixes ou animes et de sons. Un serveur web est crit en utilisant l API sockets pour lequel on structure le flux d octets non structur au dpart sous forme de lignes de commandes ASCII : c est le protocole HTTP ! On utilise toujours le concept d application client/serveur : navigateur (Netscape)/serveur web (Apache, boa, thttpd).
ENSEIRB Les Systmes embarqus. Linux embarqu - 281 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SNMP (Simple Network Management Protocol RFC 1157)


SNMP est le standard de fait dans l administration de rseau. Il a supplant le standard international de l IUT-T dans ce domaine. SNMP permet aussi de contrler distance des matriels. Il est bti autour du concept client/serveur : agent/manager SNMP. SNMP utilise UDP et les transferts de donnes entre agent et manager sont non scuriss !
ENSEIRB Les Systmes embarqus. Linux embarqu - 282 -

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/

Quelques RFC traduites en franais : http://www.guill.net/reseaux/Rfc.html

ENSEIRB

Les Systmes embarqus. Linux embarqu - 283 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 4 : LES PROTOCOLES INTERNET POUR LA CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 284 -

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

Les Systmes embarqus. Linux embarqu - 286 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

BILAN
Application

Internet Server Software

SMTP

SNMP

HTTP

FTP

Application Layer

UDP

TCP

Transport Layer

ICMP IP

Internet Layer

PPP Ethernet Modem UART

Network Access Layer Physical Layer

ENSEIRB

Les Systmes embarqus. Linux embarqu - 287 -

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

Les Systmes embarqus. Linux embarqu - 290 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PREMIERE AMELIORATION


Pour faciliter le dveloppement des applications rseau, il est prfrable d avoir disponible l API sockets. L API sockets assure une portabilit au niveau source des applications et une rduction du temps de dveloppement. On travaille toujours sur des octets ou un flux d octets non structur. Il convient de dvelopper des applications UDP ou TCP s excutant sur le systme traitant ces octets. L utilisation d un OS ou un RTOS embarqu sur le systme est prfrable.
ENSEIRB Les Systmes embarqus. Linux embarqu - 291 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : AUTRES AMELIORATIONS


On prfrera au dessus de UDP ou TCP utiliser des protocoles qui vont structurer les donnes si les performances du systme le permettent pour assurer une connectivit IP haut niveau. Le flux d octets non structur est gnralement structur sous forme de chanes de caractres ASCII. Cela va permettre d acclrer le dveloppement et la mise au point de l application serveur embarquer dans le systme.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 292 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : AUTRES AMELIORATIONS


Les protocoles couramment utiliss pour cela sont : HTTP : mise en place d une application serveur web embarque sur le systme. SMTP : mise en place d une application serveur de emails embarque sur le systme pour l envoi de courriers lectroniques SNMP : mise en place d une application serveur/agent SNMP embarque sur le systme.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 293 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : SERVEUR WEB


L utilisation d un serveur web embarqu est trs employe pour le tlcontrle du systme lectronique. Le contrle du systme se fait avec n importe quel navigateur web. L interactivit est possible en utilisant l interface CGI (Common Gateway Interface) qui permet de faire excuter une fonction/application par le systme sur une requte du navigateur web. L action est l initiative de l oprateur.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 294 -

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

Les Systmes embarqus. Linux embarqu - 295 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : AGENT SNMP


L utilisation d un agent SNMP embarqu est moins courante pour le tlcontrle du systme lectronique. Le contrle du systme se fait avec un manager SNMP (Openview de HP). Le manager SNMP est moins standard qu un navigateur web pour le grand public... L action est l initiative du systme (Trap SNMP) ou de l oprateur (Get, Set SNMP).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 296 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : AUTRES AMELIORATIONS


Les autres protocoles/services de l Internet peuvent tre vus comme des services de confort : NFS : montage de partitions NFS sur la machine de dveloppement pour faciliter la mise au point. telnet : connexion distance sur le systme pour mise au point in situ. ftp : serveur ftp embarqu pour tlcharger des mises jour, configurations dans le systme. ...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 297 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : LES QUESTIONS AVANT LE (BON) CHOIX


Les choix oprer vont dpendre de diffrents critres : systme lectronique simple ou performant ? accs rseau filaire, radio (mobilit) ? profil mtier : concepteur de cartes lectroniques, intgrateur de systme, utilisateur final ? solution cl en main, dveloppement from scratch ? cots ? solution propritaire, logiciels/matriels libres ? dlais (TTM) ? comptence en interne ?
ENSEIRB Les Systmes embarqus. Linux embarqu - 298 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 5 : LES BUS DE TERRAIN ET LA CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 299 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RESEAU DE TERRAIN ET CONNECTIVITE IP


Un BUS / RESEAU DE TERRAIN est : le terme gnrique dun nouveau rseau de communication numrique ddi l automatisme et au contrle de process. un rseau bidirectionnel, multibranche (multidrop), srie reliant diffrents types dquipements dautomatisme : E/S dportes. Capteur / Actionneur. Automate programmable. Calculateur. Un rseau de terrain peut tre vu comme un rseau de communication entre quipements dports dans un zone gographique limite. La connectivit IP n a pas t prise en compte au dpart !
ENSEIRB Les Systmes embarqus. Linux embarqu - 300 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

source : SMAR

Passage de la boucle de courant analogique 4-20 mA au bus de terrain

ENSEIRB

Les Systmes embarqus. Linux embarqu - 301 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RESEAU DE TERRAIN ET CONNECTIVITE IP


Un bus de terrain est bas sur la restriction du modle OSI 3 couches : Couche physique. Couche liaison de donnes. Couche application. Cette modlisation est respecte par les standards de fait et internationaux.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 302 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RESEAU DE TERRAIN ET CONNECTIVITE IP


Couches 3 6 vides : Pas de besoin dinterconnexion avec un autre rseau (pas de connectivit IP possible priori !). Gain en performance car on a besoin d tre dans la majorit des cas dterministe.
application 7 6 5 4 3 LLC 2 MAC physique 1

Bus de terrain et modle OSI


ENSEIRB Les Systmes embarqus. Linux embarqu - 303 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RESEAU DE TERRAIN ET CONNECTIVITE IP


Pour mmoire, les rseaux de terrain les plus utiliss sont : CAN, SDS, Devicenet. Profibus. WorldFIP. Interbus. Lonworks.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 304 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RESEAU DE TERRAIN ET CONNECTIVITE IP


Deux solutions techniques sont envisages pour assurer la connectivit IP : Solutions qui encapsulent les trames du bus de terrain dans une trame Ethernet (sur Ethernet) ou paquet TCP/UDP. Solutions qui utilisent des machines passerelles entre les 2 rseaux.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 305 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RESEAU DE TERRAIN ET CONNECTIVITE IP


Un exemple : PROFINET de PROFIBUS. PROFINET est : F Bas sur l utilisation de technologies standards tablies et rpandues (TCP/IP). F Bas sur une approche objet : objet COM/DCOM de Microsoft, manipulation d objets l aide de Microsoft OLE et ActiveX. F Vendeur indpendant. F Intgrable PROFIBUS sans modification. F Ouvert pour l intgration d autres systmes.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 306 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RESEAU DE TERRAIN ET CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 307 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RESEAU DE TERRAIN ET CONNECTIVITE IP

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

PARTIE 6 : CONNECTIVITE IP : SOLUTION MATERIELLES ET LOGICIELLES

ENSEIRB

Les Systmes embarqus. Linux embarqu - 309 -

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

Les Systmes embarqus. Linux embarqu - 310 -

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

Couche 3 : Rseau. Couche 2 : Liaison.

ARP

RARP

IP

Interface Matrielle

Couche 1 : Physique. volution du matriel

Mdium

ENSEIRB

Les Systmes embarqus. Linux embarqu - 311 -

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

Les Systmes embarqus. Linux embarqu - 313 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POINT 1 : SOLUTIONS MATERIELLES POUR LA CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 314 -

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

Les Systmes embarqus. Linux embarqu - 315 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MATERIELLES : CS8900A


CIRRUS LOGIC propose un circuit d'interface IEEE 802.3 : le CS8900A. C est le circuit le plus utilis !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 316 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MATERIELLES : CS8900A


Adresse web Solution Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Fonctionnalits Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation www.cirrus.com Matrielle Circuit CS8900A TQFP 100 broches 802.3 10BaseT, 10Base2, 10Base5 full duplex Oui (CSMA/CD) Non Non Interface ISA Modes I/O et MEM DMA Oui Excellente Oui Oui Microsoft Windows Linux PSOS, VxWorks SCO Gratuit 61,10 F HT (par 10) revendeur : MEMEC Oui Hotline, SOS par mail Cirrus propose gratuitement de qualifier tout design base du circuit CS8900A

Drivers fournis

Prix des drivers Prix du composant

Support aprs vente

ENSEIRB

Les Systmes embarqus. Linux embarqu - 317 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MATERIELLES : RTL8019AS


REALTEK propose un circuit d'interface 802.3 : le RTL8019AS.
Adresse web Solution Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Fonctionnalits Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation www.realtek.com.tw Matrielle Circuit RTL8019AS PQFP 100 broches 802.3 10BaseT, 10Base2, 10Base5 full duplex Oui Non Non Interface ISA Modes I/O Oui Bonne Oui Oui Microsoft Windows Linux SCO Gratuit ? Non

Drivers fournis Prix des drivers Prix du composant Support aprs vente

ENSEIRB

Les Systmes embarqus. Linux embarqu - 318 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MATERIELLES : LANCE


AMD, leader dans les circuits d'interface rseau propose lui aussi des circuits d'interface IEEE 802.3 bas sur son clbre circuit LANCE 7990 : les circuits de la srie 79C9xx. Le circuit intressant dans cette srie est le 79C940 ou circuit MACE (Media Access Controller for Ethernet). Il a t spcialement conu pour les applications embarques 16 bits.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 319 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MATERIELLES : LANCE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 320 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MATERIELLES : LANCE


Adresse web Solution www.amd.com Matrielle Circuit Am79C940 TQFP 80 broches et PLCC 84 broches 802.3 10BaseT, 10Base2, 10Base5 full duplex Oui Non Non Modes I/O DMA FIFOs en Rx et Tx Mode sleep Oui Trs bonne Oui Oui Microsoft Linux VxWorks SCO Gratuit ? revendeurs : Arrow, Avnet, Tekelec Oui par mail

Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Fonctionnalits

Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation

Drivers fournis

Prix des drivers Prix du composant Support aprs vente

ENSEIRB

Les Systmes embarqus. Linux embarqu - 321 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MATERIELLES : DP83905


National Semiconductor a aussi un circuit d'interface IEEE 802.3 : le circuit DP83905.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 322 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MATERIELLES : DP83905


Adresse web Solution Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP Fonctionnalits Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Drivers fournis Prix des drivers Prix du composant Support aprs vente www.national.com Matrielle Circuit DP83905 TQFP 160 broches 802.3 10BaseT, 10Base2, 10Base5 full duplex Oui Non Non Modes I/O RAM en plus en externe Non Moyenne Moyenne Non Compatible NE2000 9,5 $ (par 1000) revendeurs : Arrow, Avnet Non

ENSEIRB

Les Systmes embarqus. Linux embarqu - 323 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POINT 2 : SOLUTIONS LOGICIELLES POUR LA CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 324 -

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

Les Systmes embarqus. Linux embarqu - 325 -

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

Les Systmes embarqus. Linux embarqu - 326 -

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

Les Systmes embarqus. Linux embarqu - 327 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : TRECK


La socit TRECK propose une pile TCP/IP et ses sources. Ses produits sont optimiss et produisent des codes rapides, petits, rentrants et ROMables. A travers ses produits, on a accs TCP/IP, UDP, PPP, ARP, ICMP, DHCP, SMTP et les services ftp, telnet tftp et serveur Web. Les codes ont t tests avec les processeurs PowerPC, 68K, ARM, 320C32 et x86.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 328 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : TRECK


Il n'y a pas obligation d'utiliser un noyau temps rel (Real Time Operating System RTOS) mais l'intgration des produits Treck avec un RTOS est toujours possible (par exemple C/OS II). Les drivers pour piloter les contrleurs Ethernet sont aussi disponibles et notamment pour les 3 solutions matrielles retenues suivantes : CS8900, Am79C940 et DP83905. Treck peut aussi dvelopper le driver pour d'autres contrleurs Ethernet. Les produits Treck intressants sont : Treck Real-Time TCP/IP. Treck RomPager Embedded Web Server (de la socit Allegro). Treck RomPager Light Embedded Web Server.
ENSEIRB Les Systmes embarqus. Linux embarqu - 329 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : TRECK


Produit Treck Real-Time TCP/IP :
Adresse web Solution Interfaces Ethernet 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 www.treck.com Logicielle Oui par driver d'interface aux principaux contrleurs (ex : CS8900, Am79C940 et DP83905) Non, mise en uvre d'un RTOS possible UC/OS II support Oui Oui ARP, ICMP Oui Sockets BSD PowerPC, 68K, ARM, x86, 320C32 Trs bonne Trs bonne, programmation sockets oui 10000 $ si < 2000 units 20000 $ si pas de royalty

ENSEIRB

Les Systmes embarqus. Linux embarqu - 330 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : TRECK


Produit Treck RomPager Embedded Web Server :

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

Les Systmes embarqus. Linux embarqu - 331 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : RTIP


La socit EBSnet propose des produits logiciels assurant une connectivit Internet et notamment une pile TCP/IP et ses sources : produit RTIP. A travers RTIP, on a accs TCP/IP, UDP, PPP, ARP, ICMP, RARP, BOOTP. Un serveur Web embarqu est aussi propos. Les sources ont t tests avec les processeurs PowerPC, 68K, ARM, x86 Les drivers pour piloter les contrleurs Ethernet sont aussi disponibles et notamment pour les 2 solutions matrielles suivantes : CS8900, Am79C96x.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 332 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : RTIP


Adresse web Solution Interfaces Ethernet www.etcbin.com Logicielle Oui par driver d'interface aux principaux contrleurs (ex : CS8900, Am79C96x) Oui mise en uvre d'un RTOS possible UC/OS II support Oui Oui ARP, ICMP Oui Sockets BSD PowerPC, 68K, ARM, x86 Trs bonne Trs bonne, programmation sockets Oui 8250 $ pour RTIP 2200 $ pour le serveur web pas de royalty

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

Les Systmes embarqus. Linux embarqu - 333 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : INTERNICHE


La socit INTERNICHE TECHNOLOGIES propose une pile TCP/IP et ses sources. A travers ses produits, on a accs TCP/IP, UDP, PPP, ARP, ICMP, DHCP, SMTP et serveur Web. Il n'y a pas obligation d'utiliser un noyau temps rel mais l'intgration des produits INTERNICHE avec un RTOS est toujours possible (par exemple uC/OS II) Les produits INTERNICHE intressants sont : Portable TCP/IP. WebPort.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 334 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : INTERNICHE


Produit INTERNICHE TCP/IP :
Adresse web Solution Interfaces Ethernet 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 www.iniche.com Logicielle Oui par driver d'interface Non, mise en uvre d'un RTOS possible UC/OS II support Oui Oui ARP, ICMP, BOTP Oui Sockets BSD ARM ? Trs bonne, programmation sockets ? 18000 $ avec WebPort revendeur : Emulations www.emulations.fr

ENSEIRB

Les Systmes embarqus. Linux embarqu - 335 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS LOGICIELLES : INTERNICHE


Produit INTERNICHE WebPort :

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

Les Systmes embarqus. Linux embarqu - 336 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POINT 3 : SOLUTIONS MIXTES POUR LA CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 337 -

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

Les Systmes embarqus. Linux embarqu - 338 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : ICHIP


La socit CONNECT ONE propose pour assurer une connectivit IP des produits bass sur un circuit spcifique qu'ils ont cr et commercialisent : circuit iChip. Ce circuit assure une connectivit Internet par l'intermdiaire d'un modem connect RTC via le protocole PPP. L'interface hte est du type UART en utilisant des commandes ASCII AT conformes la norme HAYES. Leur produit permet en fait de recevoir, mettre des emails et des pages HTML. Le circuit iChip implmente ainsi les protocole PPP, IP, UDP, TCP et SMTP.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 339 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : ICHIP

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

Les Systmes embarqus. Linux embarqu - 340 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : S7600A


La socit SEIKO propose un circuit pour assurer une connectivit Internet : circuit S-7600A appel aussi iChip. Ce circuit assure une connectivit Internet par l'intermdiaire d'un modem connect RTC via le protocole PPP. L'interface hte est compatible avec la famille 68K de Motorola et x86 d'Intel. Un kit de dveloppement est propos pour dvelopper des applications ainsi qu'une carte d'valuation.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 341 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : S7600A

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

Les Systmes embarqus. Linux embarqu - 342 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : SCENIX


La socit SCENIX propose des microcontrleurs RISC de la famille SX permettant une connectivit Internet en utilisant des broches d'E/S. SCENIX introduit le concept de priphriques virtuels (Virtual Peripheral) qui se prsentent sous forme de bibliothques logicielles utilisant une ou plusieurs broches d'E/S du microcontrleur. Comme prcdemment, on assure une connectivit Internet par l'intermdiaire d'un modem connect RTC via le protocole PPP.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 343 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : SCENIX


Adresse web Solution Interfaces Ethernet Implmentation niveau MAC Implmentation niveau IP Implmentation niveaux TCP, UDP www.scenix.com Matrielle et logicielle Microcontrleurs SX Non Accs par modem PPP Ajout dune interface Ethernet possible Oui Oui SMTP, HTTP supports suivant le choix du microcontrleur Oui Trs bonne Trs bonne revendeur : A2M -

Schmas de principe d'utilisation Qualit de la documentation Facilit de programmation Drivers fournis Prix des drivers Prix du composant

ENSEIRB

Les Systmes embarqus. Linux embarqu - 344 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : EZ80


Le produit eZ80 de Zilog est une volution du clbre Z80 auquel on a rajout une connectivit IP. Le CPU n'implmente pas d'interface Ethernet IEEE 802.3. Elle est ralise par l'ajout d'un circuit externe. La carte d'valuation eZ80 utilise le circuit CS8900A prsent prcdemment. L'intrt rside dans les protocoles Internet fournis pour le eZ80 IP, TCP, UDP, ARP, RARP, ICMP, PPP, HTTP, DHCP/BOOTP, SLIP, SMTP, SNMP, Telnet, TFTP. utilitaire de configuration. convertisseur HTML to C. driver Ethernet (CS8900). compilateur C
ENSEIRB Les Systmes embarqus. Linux embarqu - 345 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : EZ80

ENSEIRB

Les Systmes embarqus. Linux embarqu - 346 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS MIXTES : EZ80


Adresse web Solution Description du matriel www.zilog.com/ez80/ Mixte microprocesseur Z80 (version eZ80190) 50 MHz processor, multiply and accumulate engine, 16 Mbyte linear addressing, 3.3V operation, 2 DMA channels, Universal ZiLOG Interface (selectable UART, I2C, SPI), 6 PRTs with prescalers 8KB SRAM, 32-bit GPIO with interrupt support, On-chip oscillator, Optimized pipeline architecture, ZiLOG Debug Interface (ZDI) non la carte d'valuation utilise le circuit CS8900A Non Oui Oui ARP, RARP, ICMP, PPP, HTTP DHCP/BOOTP, IGMP, SLIP, SMTP, SNMP, Telnet, TFTP Oui Trs bonne Trs bonne Non non oui Revendeur en France : Futur Electronics carte d'valuation disponible

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

Les Systmes embarqus. Linux embarqu - 347 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POINT 4 : SOLUTIONS CLE EN MAIN POUR LA CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 348 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN


Cette partie prsente des solutions cl en main alliant la fois matriel et logiciel. Il n y a pas de dveloppement matriel, l essentiel se rsume au dveloppement de son application logicielle... On trouvera en fait deux sortes de produits : serveur web embarqu permettant de contrler des E/S. La connectivit Internet assure un contrle distance de ces E/S via un navigateur client. systme dexploitation Linux allg embarqu sur une plateforme matrielle utilisant gnralement un microcontrleur. La connectivit IP est assure pleinement par Linux o les piles de protocoles Internet sont intiment lies au noyau.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 349 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN


Linux embarqu : Il est clair que cet OS, fiable, disponible au niveau source sous licence GPL se prte plus quaucun autre des portages sur des plateformes autres que des PC. Cette solution est une voie davenir dans l embarqu avec en plus une extension Temps Rel possible (RTlinux, RTAI). L'adresse web collectant les projets linux embarqu est www.linuxembedded.com .

ENSEIRB

Les Systmes embarqus. Linux embarqu - 350 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : PICOWEB


La socit LIGHTNER ENGINEERING propose un serveur web embarqu appel PICOWEB sur une carte possdant un accs IEEE 802.3 10BaseT. Cest un systme autonome autorisant une connectivit Internet via TCP/IP et HTTP. La partie matrielle est construite autour dun microcontrleur ATMEL AT90S8515 possdant 8 Ko de mmoire flash, 512 octets dEEPROM et 512 octets de RAM aussi que 32 E/S.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 351 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : PICOWEB


Sur la carte est intgr un contrleur Ethernet REALTEK ainsi quun circuit UART. Le dialogue entre un systme hte et PICOWEB se fait dailleurs par la liaison srie de lUART, ce qui permet ainsi un dialogue entre un navigateur web et lhte. On peut aussi contrler distance les E/S restantes du microcontrleur non utilises par PICOWEB.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 352 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : PICOWEB


LIGHTNER ENGINEERING propose les schmas de son produit PICOWEB (sous licence) ainsi quune version allge avec le logiciel au niveau objet (version breadboard) gratuite pour des utilisations non commerciales. Un kit de dveloppement complet comprend une carte PICOWEB et est disponible pour 149 $. Une licence est acqurir (9 $ lunit) pour chaque produit bas sur PICOWEB vendu. Une licence grand volume est possible.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 353 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : PICOWEB

ENSEIRB

Les Systmes embarqus. Linux embarqu - 354 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : PICOWEB


Adresse web Solution Description du matriel www.picoweb.net Mixte Atmel AT90S8515, 8 Ko flash, 512 o EEPROM 512 o RAM, 32 E/S, contrleur Ethernet Realtek, UART 10BaseT Oui Oui Oui HTTP Oui Trs bonne Trs bonne Non Non, dialogue par la liaison srie Web support@lightner.net 145 $ pour le kit de dveloppement royalty pour le firmware : 9 $ par PICOWEB

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

Les Systmes embarqus. Linux embarqu - 355 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : IPC@CHIP


Le produit IPC@CHIP (versions SC01, SC02, SC11, SC12) est une solution mixte se prsentant sous forme d'un botier DIL 32 broches incorporant hardware et software. Ce botier englobe en fait un microcontrleur Intel 80186-80188 20 MHz selon la version avec au plus 512Ko de RAM et 512 Ko de Flash ainsi qu'un interface Ethernet IEEE 802.3 10BaseT. Un kit d'valuation est disponible (kit DK40) permettant de tester rapidement l'IPC@CHIP.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 356 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : IPC@CHIP


Du point de vue logicielle, l'offre est des plus compltes : noyau Temps Rel embarqu autorisant l'excution des application DOS : on dveloppe donc son application sous DOS partir de son PC que l'on tlcharge ensuite dans le composant. Cet environnement est bien cibl car c'est gnralement celui des PME ! un interprteur de commandes DOS like. une pile TCP/IP complte implmentant l'interface sockets TCP et UDP. un client DHCP. un serveur Web capable d'excuter des scripts CGI.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 357 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : IPC@CHIP


Adresse web Solution Description du matriel www.bcl-online.de Mixte Microcontrleur Intel 80186-80188 20 MHz 512Ko de RAM, 512 Ko de Flash 14 I/O programmables, 7 sorties Chip Select, entres d'interruption INT, PWM, entre Timer, sortie Timer, 2 UARTs, bus I2C, 2 canaux DMA, watchdog 10BaseT Oui Oui Oui HTTP, ftp, DHCP Oui Trs bonne Trs bonne Non Oui Sockets BSD oui SC12 : 76,56 euros Licence Run Time pour 1 SC12 : 29 euros kit d'valuation DK40 : 58 euros

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

Les Systmes embarqus. Linux embarqu - 358 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : Linux embarqu


Le projet uClinux fait partie des solutions mixtes o l'on retrouve Linux embarqu. La plateforme matrielle est originellement une carte SIMM 30 broches (kit Csimm) mettant en uvre un microcontrleur MOTOROLA de la famille 68K, le 68EZ328. La carte SIMM possde 8 Mo de DRAM, 2 Mo de flash ROM, un port srie RS.232 et une interface Ethernet IEEE 802.3 10BaseT via la circuit CRYSTAL CS8900A. Concernant le logiciel, les noyaux linux 2.0.38 et 2.4.x ont t ports sur cette plateforme, ce qui permet de bnficier naturellement de la connectivit IP !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 359 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : Clinux

ENSEIRB

Les Systmes embarqus. Linux embarqu - 360 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

SOLUTIONS CLE EN MAIN : Clinux


Adresse web Solution Description du matriel www.uclinux.org Mixte MOTOROLA 68EZ328 16 MHz, 2 Mo flash, 8 Mo RAM, contrleur Ethernet CRYSTAL CS8900A, UART 10BaseT Oui Oui Oui HTTP et autres Non Trs bonne Trs bonne Oui Sockets BSD Web uclinux@uclinux.org 495 $ pour le kit de dveloppement complet

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

Les Systmes embarqus. Linux embarqu - 361 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POINT 5 : NIOS D ALTERA SOLUTION DE CODESIGN AVEC CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 362 -

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

Les Systmes embarqus. Linux embarqu - 363 -

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

Les Systmes embarqus. Linux embarqu - 364 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

NIOS D ALTERA

Pour Altra : Nios : An Embedded Concept

NIOS CPU Core

BUS BUS

NIOS System
UART Timer PIO

User Programmable Circuitry

ENSEIRB

Les Systmes embarqus. Linux embarqu - 365 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

NIOS D ALTERA Linux Development Kit (depuis 09/2001)


Open-Source Clinux Operating System Development Kit Contents Clinux Source Code

Ethernet Development Board


SDRAM / Flash Memory Module SDRAM Controller Core IDE Interface Compact Flash Interface Real Time Clock Reference Design Quartus Project Web Server Application Price $2495 (www.microtronix.com)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 366 -

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)

Operating System Support Linux Development Kit ATI Nucleus C OS II

ENSEIRB

Les Systmes embarqus. Linux embarqu - 367 -

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

Les Systmes embarqus. Linux embarqu - 368 -

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

Les Systmes embarqus. Linux embarqu - 369 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 7 : CONNECTIVITE IP : QUELQUES EXEMPLES

ENSEIRB

Les Systmes embarqus. Linux embarqu - 370 -

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

Les Systmes embarqus. Linux embarqu - 371 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET RETWINE


Mise en place d un parc dinstrumentation depuis Internet pour effectuer des mesures distance pour : Un partage dinstruments onreux. Un accs aux instruments facile et offrant des possibilits nouvelles. Une exploitation maximale des dcalages horaires.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 372 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET RETWINE


Implmentation matrielle :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 373 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET RETWINE


Implmentation logicielle : World Wide Web Requte HTTP
Base Serveur de donnes Contrle d accs

WWW Excution du script CGI (Shell)

UNIX

Script CGI Serveur GPIB

Bus GPIB

Commande ou rponse GPIB Instrument GPIB HP8510B

ENSEIRB

Les Systmes embarqus. Linux embarqu - 374 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET RETWINE


Analyseur de rseau HP8510B : Mesure de paramtres S : coefficients de rflexion et de transmission. taux donde stationnaire TOS. impdance. ...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 375 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET RETWINE


Driver du HP8510B : Dveloppement en langage C. Contrle le HP8510B via le bus GPIB. Surcouche NI-488.2M Driver pour des stations de travail SUN. Gnration des fichiers de rsultats de mesure.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 376 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET RETWINE


Interface graphique (GUI) : Applet Java tlcharge puis excute par le navigateur web de celui qui contrle l appareil. Dialogue entre l applet Java et le serveur web RETWINE pour le pilotage de l instrument.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 377 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET RETWINE


Mesures : fichier texte des rsultats de mesure. Visualisation sous forme graphique avec une applet Java.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 378 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET RETWINE


Plus d informations : http://retwine.net http://retwine.ixl.u-bordeaux.fr:8080

ENSEIRB

Les Systmes embarqus. Linux embarqu - 379 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET MEDICIS


Mise en place l ENSEIRB des fins d enseignement d un outil qui permet de tester automatiquement un circuit programmable FPGA de XILINX. MEDICIS est coupl la CAO Mentor Graphics : criture en VHDL. Simulation avec ModelSim. Synthse logique avec Leonardo. Programmation, vecteurs de tests issus de la simulation, rcupration de la mesure avec MEDICIS. Visualisation des rsultats de mesure post synthse sous ModelSim.
ENSEIRB Les Systmes embarqus. Linux embarqu - 380 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET MEDICIS


Mise en oeuvre :
VHDL source VHDL pin attributs
CONCEPTION

Behavioral Simulation (ModelSim) Synthesis (Leonardo) Placement & Routing (Xilinx)

.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

Post synthesis Simulation (ModelSim)

COMPARISON
Simulation For
Real Measurement display (ModelSim)

MEASUREMENT

ENSEIRB

Les Systmes embarqus. Linux embarqu - 381 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET MEDICIS


Implmentation matrielle :
HP16500A and its pattern generator board DUT : Xilinx FPGA 4006E circuit probes

RS.232 link Workstation with simulation/synthesis tools workstation MEDICIS Java application

Ethernet LAN

Workstation with simulation/synthesis tools

ENSEIRB

Les Systmes embarqus. Linux embarqu - 382 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET MEDICIS


Interface graphique (GUI) : Application Java cliente autonome qui dialogue avec une application serveur qui contrle l appareil HP16500. Utilisation ici de l API de programmation rseau socket sous Java.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 383 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET MEDICIS


Plus d informations : http://www.enseirb.fr/~nouel/medicis

ENSEIRB

Les Systmes embarqus. Linux embarqu - 384 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET 68HC11ETHER


Dveloppement des fins d enseignement d une carte base de 68HC11 avec une interface rseau IEEE 802.3 10BaseT (circuit CS8900A). Utilisation d un noyau TR (RTOS) : C/OS II. criture en langage C de la suite des protocoles Internet afin d assurer la connectivit IP : ARP, ICMP IP, UDP, TCP connexion entrante. Telnet, miniserveur web (page d accueil). Une des motivations est de voir dans quelle mesure on peut embarquer Internet dans un environnement (trs) contraint !
ENSEIRB Les Systmes embarqus. Linux embarqu - 385 pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET 68HC11ETHER


Implmentation matrielle :
RJ45

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

Les Systmes embarqus. Linux embarqu - 386 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PROJET 68HC11ETHER


Trame reue

Implmentation logicielle :

Trame mise Gestion ICMP Sem2 Sem1 Sem3 Gestion UDP

Tche principale

Gestion IP et ARP

Trame mise Sem4 Gestion TCP

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

CONNECTIVITE IP : PROJET 68HC11ETHER


Plus d informations : http://www.enseirb.fr/~kadionik/68hc11/carteether_enserb/carte_6 8hc11_ether.html les sources en langage C sont libres d accs (GPL). pile TCP/UDP/IP/PPP en libre sous C/OS II (C/IP) : http://ucip.sourceforge.net/

ENSEIRB

Les Systmes embarqus. Linux embarqu - 388 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 8 : BILAN SUR LA CONNECTIVITE IP

ENSEIRB

Les Systmes embarqus. Linux embarqu - 389 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : BILAN FINAL


La connectivit IP permet de raccorder tout systme lectronique (systme embarqu) au rseau Internet. Elle met en uvre une suite protocoles Internet que l on doit embarquer dans le matriel. La connectivit IP permet de contrler un quipement lectronique de n importe o dans le monde. Cet quipement peut aussi prvenir un oprateur n importe o dans le monde. C est en fait l aboutissement d un lent processus de modernisation du tlcontrle allant de la liaison srie RS.323/V.24 dporte sur un terminal VT100 l applet Java excute par un navigateur web interrogeant un serveur web embarqu !
ENSEIRB Les Systmes embarqus. Linux embarqu - 390 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : BILAN FINAL


La connectivit IP prsume inconsciemment l utilisation d interfaces graphiques modernes et banalises (navigateur web) en adquation avec les besoins (de confort) actuels des clients. Avec une frontire de plus en plus floue entre matriel et logiciel, on voit apparatre maintenant de vritables offres de codesign. En consquence, l ajout de la connectivit IP qui se faisait en grande partie en logiciel a tendance maintenant tre remplace par son homologue matriel (utilisation d un bloc IP).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 391 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : BILAN FINAL


Les protocoles Internet sont indpendants des supports de transmission utiliss. Les supports de transmission prfrentiels sont : Ethernet. Liaison srie. Des solutions de connectivit IP utilisant des liaisons radio ou sur courant porteur commencent apparatre...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 392 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PETIT SYSTEME


Solution maison :
Taille systme Liaison Interface rseau Composant Petit Srie Ethernet UART Interface Ethernet CS8900A PIC, 68HC11, 68HC12 Avec prise en compte de la connectivit IP : iCHIP, SEIKO S-7600A, SCENIX, eZ80 PPP IP UDP ICMP/ARP TCP et plus Par une application spcifique Miniserveur web spcifique Non On peut utiliser un RTOS (C/OS II avec C/IP)

Connectivit IP minimale Connectivit IP de confort Interaction minimale Interaction de confort Besoin dun OS/RTOS

ENSEIRB

Les Systmes embarqus. Linux embarqu - 393 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : PETIT SYSTEME


Solution cl en main :
Taille systme Liaison Petit Srie Ethernet GSM, courant porteur Suivant le module PPP IP UDP Suivant le module Suivant le module : serveur web, email, SNMP Picoweb, IPC@CHIP Produits eDevice, Webdyn ICMP/ARP

Composant matriel Connectivit IP minimale Connectivit IP de confort Interaction Solutions

ENSEIRB

Les Systmes embarqus. Linux embarqu - 394 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : MOYEN ET GROS SYSTEME


Solution maison :
Taille systme Liaison Interface rseau Composant Connectivit IP minimale Connectivit IP de confort Interaction minimale Interaction de confort Besoin dun OS/RTOS Moyen et gros Srie Ethernet UART Interface Ethernet (CS8900A) 68EZ328, ColdFire NIOS PPP IP UDP ICMP/ARP TCP et plus Par une application spcifique Miniserveur web, SNMP, email Recommand Linux embarqu : Clinux

ENSEIRB

Les Systmes embarqus. Linux embarqu - 395 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CONNECTIVITE IP : MOYEN ET GROS SYSTEME


Solution cl en main :
Taille systme Liaison Moyen et gros Srie Ethernet GSM, courant porteur Suivant le module PPP IP UDP ICMP/ARP Suivant le module Suivant le module : serveur web, email, SNMP Linux embarqu : cartes ddies (ColdFire) Produits eDevice, Webdyn

Composant matriel Connectivit IP minimale Connectivit IP de confort Interaction Solutions

ENSEIRB

Les Systmes embarqus. Linux embarqu - 396 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHAPITRE 5 : LES SYSTEMES EMBARQUES ET LA SECURITE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 397 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VULNERABILITE DES SYSTEMES EMBARQUES


Les systmes embarqus mettant en uvre la connectivit IP sont aujourd hui potentiellement vulnrables une attaque par le rseau. Les attaques concernent actuellement les routeurs, les imprimantes rseau... mais rien n empche une attaque d une maison individuelle avec son rseau domotique ou d une voiture connectes Internet ! L aspect scurit d un systme embarqu doit tre maintenant pris en compte lors de sa conception. Ce n est pas encore dans la mentalit des concepteurs de systmes embarqus...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 398 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VULNERABILITE DES SYSTEMES EMBARQUES


Les crackers exploitent : Les erreurs de conception matrielle. Les vulnrabilits logicielles : Backdoor mise en place par le programmeur des fins de tests et laisse dans la version finalise. Ignorance des standards usuels. Mauvaise programmation : buffer overflow , stack overflow , test de validit des paramtres d entre Serveur HTTP vulnrable car lger !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 399 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VULNERABILITE DES SYSTEMES EMBARQUES


Exemples d attaques (sur routeur, imprimante rseau ) : Modification de l adresse IP en utilisant SNMP (communaut par dfaut : write). Datagramme UDP spcial pour fermer un port socket. Authentification faible : username=laserjet. Mot de passe en clair accessible par SNMP. Reset par SNMP. L criture par SNMP d une grande chane de caractres crashe l quipement.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 400 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VULNERABILITE DES SYSTEMES EMBARQUES


Soyons optimiste : les exploits sur systmes embarqus sont rares par rapport ceux concernant les systmes classiques (PC, routeur). Il y a peu de documentation accessible disposition (en ligne) pour le cracker sur le fonctionnement interne (matriel et logiciel) d un systme embarqu. Les attaques classiques par shell code sur buffer overflow sont inexistantes par il n y a pas de shell (sauf avec linux :-( ). Le pire des cas est un crash du systme embarqu ou son reboot (ce qui est prfrable)...
Les Systmes embarqus. Linux embarqu - 401 -

ENSEIRB

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHAPITRE 6 : LINUX EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 402 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 1 : LE BESOIN D EMBARQUER LINUX

ENSEIRB

Les Systmes embarqus. Linux embarqu - 403 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

L OPPORTUNITE DE LINUX SUR MARCHE DE L EMBARQUE


Beaucoup sont passs d un OS propritaire (Microsoft) Linux pour l embarqu malgr encore quelques rticences archaques : Quelque chose de gratuit est de la camelote (voir le prix plancher psychologique d un produit au supermarch).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 404 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

L OPPORTUNITE DE LINUX SUR MARCHE DE L EMBARQUE


On retiendra les comparaisons suivantes (d aprs www.survey.com) :
100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%
Reliability Stability Performance

92%

92%

88%

58% 48% 42%

Linux

Windows

ENSEIRB

Les Systmes embarqus. Linux embarqu - 405 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

L OPPORTUNITE DE LINUX SUR MARCHE DE L EMBARQUE


En 2000, il y avait 27 millions d utilisateurs de Linux. IDC prvoit une croissance de 25 % par an. WR Hambert prvoit un chiffre d affaire de 2 milliards USD en 2000 12 milliards USD en 2003 !
Growth of Linux Users in Millions 30 20 10 0 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Linux Users

ENSEIRB

Les Systmes embarqus. Linux embarqu - 406 -

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

Les Systmes embarqus. Linux embarqu - 407 -

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

Les Systmes embarqus. Linux embarqu - 408 -

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

Les Systmes embarqus. Linux embarqu - 409 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POINTS FORTS CITES


Code source disponible, pas de royalties pour Linux :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 410 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

APPLICATIONS VISEES PAR LINUX

ENSEIRB

Les Systmes embarqus. Linux embarqu - 411 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

QU EST-CE QUE LINUX ?


Linux est un systme d exploitation libre de type UNIX lanc par le finlandais Linus Torvalds en 1991 avec l assistance de milliers de dveloppeurs dans le monde pour son volution. Son succs tient au fait qu il est dvelopp sous licence GPL (General Public License), ce qui signifie que le code source Linux est disponible tout le monde et gratuit. Son emblme est un pingouin : le tux.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 412 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

QU EST-CE QUE LINUX ?


Linux correspond au cur du systme d exploitation : le noyau. Linux est stable et robuste. Linux tourne originellement sur plateforme i386 et suprieure avec 8 Mo de RAM.

IL FAUT DONC UN PROCESSEUR 32 BITS AVEC MMU (OU A DEFAUT 32 BITS SANS MMU AVEC Clinux)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 413 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

QU EST-CE QUE LINUX ?

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

Les Systmes embarqus. Linux embarqu - 414 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POURQUOI UTILISER LINUX ?


Linux est open source : Le code source est disponible au public. Le code source inclut : Le noyau Linux. Les pilotes de priphriques (drivers). Un ensemble de petits utilitaires (MAKEDEV). On peut ainsi voir directement travers les fichiers sources ce que fait le noyau Linux voire modifier son comportement au besoin. On n a donc pas une bote noire (avec comme seul interlocuteur une hot-line !).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 415 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POURQUOI UTILISER LINUX ?


Linux est fiable : Grce une gestion mmoire optimise, Linux peut tourner sur une machine des annes sans plantage et sans cran bleu de la mort . Linux est extensible : Une application Linux crite pour une plateforme PC peut tre facilement porte sur une plateforme Linux embarque. Cette mme application peut tre aussi facilement porte sur un cluster Linux (grappe d ordinateurs coopratifs).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 416 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POURQUOI UTILISER LINUX ?


Linux est scuris : Linux est recommand par le NSA amricain. Linux est conu pour que les processus ne puissent pas lire en mmoire code et donnes sans provoquer une violation des rgles de scurit du systme (segmentation violation). Cela permet de confiner les programmes malicieux. Scurisation du systme de fichiers avec des droits d accs. Scurisation d accs physique la plateforme. Scurisation de l accs rseau.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 417 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POURQUOI UTILISER LINUX ?


Linux supporte la plus large palette de protocoles rseau tests et prouvs (indispensable pour la connectivit IP dans l embarqu) : TCP/IP networking. Routing/Firewalling. Web Server. FTP Server. Telnet Server. SMB. NFS. protocoles WAN : X.25, AX.25, HDLC, ATM. ...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 418 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POURQUOI UTILISER LINUX ?


Linux possde un support efficace travers la communaut de dveloppeurs. On trouve toujours une application Linux correspondant son besoin (ou trs proche). On capitalise son exprience UNIX en travaillant sous Linux car Linux est UNIX like d o des cots de formation rduits.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 419 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POURQUOI UTILISER LINUX ?


Les cots de mise en uvre de Linux sont rduits : Toutes les distributions Linux sont disponibles gratuitement au tlchargement par Internet. On peut acheter une distribution ( < 150 euros) avec la documentation papier et un service support de 30 jours gnralement. Les outils de dveloppement (compilateurs, IDE) sont disponibles faible cot ou gratuits (GNU).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 420 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POURQUOI UTILISER LINUX ?


Linux est sans base de Linux.

royalties payer pour chaque produit vendu

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

Les Systmes embarqus. Linux embarqu - 421 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE LOGICIEL LIBRE


Linux est un logiciel libre : cela donne le pouvoir aux utilisateurs d utiliser ce logiciel comme ils l entendent :
Free software is a matter of liberty, not price free as in free speech, not as in free beer. Free Software Foundation

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

Les Systmes embarqus. Linux embarqu - 422 -

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

LOGICIEL LIBRE : DROITS (LIBERTES)


Libert dexcuter le programme. Libert dtudier et de modifier le programme afin de ladapter vos besoins. Libert de copier et de redistribuer des copies avec ou sans modifications. Libert de modifier (ou faire modifier) le code source et rendre public les modifications.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 426 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LOGICIEL LIBRE : OBLIGATIONS

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

Les Systmes embarqus. Linux embarqu - 427 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LOGICIEL LIBRE : OBLIGATIONS


Pour distribuer un programme sous GPL : Transmettre tous les droits que vous possdez. Sassurer que les destinataires reoivent le code source ou peuvent se le procurer. Leur remettre la licence GPL afin queux aussi connaissent leurs droits.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 428 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LICENCE OPEN SOURCE


Une licence logicielle prcise ce que l utilisateur peut faire avec un logiciel et son code Une licence traditionnelle (commerciale) prcise strictement l utilisation du logiciel achet. Une licence open source indique comment le code peut tre utilis, rutilis et redistribu. La licence gnralement mise en uvre est la licence GPL.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 429 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LICENCE OPEN SOURCE GPL


La licence GPL est le modle de distribution idal d un logiciel propos par la FSF et le projet GNU. Les dveloppeurs peuvent choisir de licencier leur logiciel sous licence GPL. Cela exige que les utilisateurs maintiennent le code source originel et indiquent clairement les changements oprs avant toute redistribution. Le code source est disponible, les utilisateurs peuvent le modifier, le compiler comme ils veulent. Copyleft : les utilisateurs possdent les mmes droits pour toute version du logiciel.
ENSEIRB Les Systmes embarqus. Linux embarqu - 430 -

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

Les Systmes embarqus. Linux embarqu - 431 -

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

LINUX ET LE TEMPS REEL


Un systme d exploitation est dit Temps Rel s il est capable de rpondre des sollicitations ou vnements (internes ou externes) dans un temps maximum. On parle de Temps Rel mou (Soft Real Time) quand les vnements sont traits trop tardivement ou perdus et sans consquence catastrophique pour la bonne marche du systme. On parle de Temps Rel dur (Hard Real Time) quand les vnements traits trop tardivement ou perdus provoquent des consquences catastrophiques pour la bonne marche du systme (perte d informations, plantage).
ENSEIRB Les Systmes embarqus. Linux embarqu - 433 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE TEMPS REEL


Linux n est pas un systme d exploitation Temps Rel (dur) car : Le noyau Linux possde de longues sections de codes o tous les vnements extrieurs sont masqus (non interruptible). ET Le noyau Linux n est pas premptible durant l excution d un appel systme. Un processus Linux de faible priorit pour l application fait un appel systme. En cours d excution de l appel systme, un vnement extrieur active un processus de plus forte priorit qui ne sera excut qu la fin de l excution complte de l appel systme : inversion de priorit fatale tout systme Temps Rel.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 434 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE TEMPS REEL


Linux n est pas un systme d exploitation Temps Rel (dur) car : L ordonnanceur de Linux essaye d attribuer de faon quitable le CPU l ensemble des processus (ordonnancement de type old aging mise en uvre pour favoriser l accs CPU aux processus rcents). C est une approche galitaire. Un ordonnanceur Temps Rel donnera toujours la main la tche de plus forte priorit prte. C est ici un approche plus totalitaire.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 435 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE TEMPS REEL


Le noyau Linux standard peut tre considr comme Temps Rel mou si l on travaille avec une ractivit de l ordre de la centaine de ms et plus. Il existe des solutions Linux Temps Rel dur (et mou)...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 436 -

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

Les Systmes embarqus. Linux embarqu - 438 -

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

Les Systmes embarqus. Linux embarqu - 439 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

OUTILS POUR LINUX EMBARQUE


On utilise pour le dveloppement sous Linux embarqu les outils traditionnels GNU : (cross) compilateurs C/C++. C est prfrable pour limiter la taille des excutables. IDE. GDB. Simulateur.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 440 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

OUTILS POUR LINUX EMBARQUE


On utilise pour le dveloppement sous Linux embarqu un PC de dveloppement sous Linux (l hte) avec une chane de compilation croise en fonction du processeur embarqu sur le systme (la cible). L excutable ainsi produit est tlcharg dans la cible pour pouvoir y tre test. On utilisera alors GDB pour dbugger l application par le rseau que l on pourra coupler avec une interface graphique de type DDD. Un montage NFS depuis la cible d un rpertoire du PC hte permet de simplifier la phase de tlchargement.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 441 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

OUTILS POUR LINUX EMBARQUE


Il existe des simulateurs tournant sur le PC hte pour simuler la cible : Simulateur pour muler une grande marque de pocket PC. Il est possible d utiliser d muler compltement un systme sur le PC hte en utilisant le projet UML (User Mode Linux). UML permet de crer une machine virtuelle tournant un Linux embarqu correspondant la cible et sont type de processeur. Cela permet alors de compiler une application directement en natif si l on se connecte cette machine virtuelle http://user-mode-linux.sourceforge.net/

ENSEIRB

Les Systmes embarqus. Linux embarqu - 442 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

OUTILS POUR LINUX EMBARQUE


Il est possible d utiliser des IDE commerciaux : CodeWarrior de Metrowerks. Fonctionne avec les versions Linux embarqu de LynuxWorks (BlueCat), Lineo/Metrowerks/Motorola et Montavista. Microsoft Visual Studio. Fonctionne avec la version Linux embarqu de LynuxWorks.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 443 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

OUTILS POUR LINUX EMBARQUE


Java est aussi support. Il est possible aussi d utiliser des interfaces graphiques lgres : Microwindows. Nano-X Qt Embedded de Troltech (et drivs Qtopia, OPIE). (frame buffer)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 444 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN PROCESSEUR POUR L EMBARQUE


Besoin Taille RAM Taille ROM/FLASH Processeurs Miniature <0,1 Mo 0,1-0,5 Mo Petit 0,14 Mo 0,52 Mo Moyen 2-8 Mo Haut de gamme 8-32 Mo PC embarqu 16-64 Mo xx Mo Embarqu haute disponibilit > x Mo Go-To Pentium PowerPC

Caractristiques matrielles Exemples dapplications

DragonBall 68K Mcore ColdFire ARM MMU optionnelle

Camra numrique PDA Tlphone

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

Commutateur tlphonique Routeur haute performance Serveur central

Choix suivant puissance de calcul, taille mmoire...


Les Systmes embarqus. Linux embarqu - 445 -

ENSEIRB

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROCESSEURS SUPPORTES POUR LINUX EMBARQUE


Cela dpend essentiellement de la distribution Linux embarqu : Par exemple, MontaVista supporte : Intel (x86). PowerPC. MIPS. StrongARM. Hitachi Super-H. http://www.mvista.com/products/hardware.html
ENSEIRB Les Systmes embarqus. Linux embarqu - 446 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROCESSEURS SUPPORTES POUR LINUX EMBARQUE


Par exemple, LynuxWorks BlueCat Linux supporte : x86. Motorola PowerPC. MIPS R3 & R4. StrongARM. Hitachi Super-H. http://www.linuxworks.com/bluecat/index.html

ENSEIRB

Les Systmes embarqus. Linux embarqu - 447 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PROCESSEURS SUPPORTES POUR LINUX EMBARQUE


Par exemple, Lineo/Metrowerks/ Motorola supporte : x86. PowerPC. StrongARM.

Motorola 683xx et ColdFire. (Lineo tait lorigine du


projet Clinux)

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

CHOIX DU PROCESSEUR POUR LINUX EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 449 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PERIPHERIQUES POUR LINUX EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 450 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHOIX D UN LINUX EMBARQUE

Enqute linuxdevices.com juin 2003


ENSEIRB Les Systmes embarqus. Linux embarqu - 451 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CARTES POUR LINUX EMBARQUE

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

CARTES POUR LINUX EMBARQUE

Bus PCI en plus :

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

FORMAT DES CARTES CHOISI POUR LINUX EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 454 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHOIX D UNE VERSION LINUX EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 455 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

POINTS FAIBLES DE LINUX EMBARQUE


Les drivers Linux pour un priphrique donn ne sont pas toujours disponibles. Le manque de standards : window manager, GUI, extensions Temps Rel Le manque dune cohrence marketing. Le manque doutils de qualification dun systme sous Linux (tests de conformit de lAPI POSIX pour le Temps Rel ?). Le modle de la licence GPL mal compris (droits et surtout obligations).
ENSEIRB Les Systmes embarqus. Linux embarqu - 456 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VERS UNE STANDARDISATION DE LINUX EMBARQUE ?


On pourrait tre effray de prime abord par la multitude de loffre Linux embarqu pour faire un choix correspondant son besoin (sil est bien dfini !). Le consortium ELC (Embedded Linux Consortium) a propos un document de standardisation des applications Linux embarqu. Le document ELC Platform Specification (ELCPS) de propose de dfinir les environnements de programmation bas sur un systme Linux embarqu.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 457 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VERS UNE STANDARDISATION DE LINUX EMBARQUE ?


Le document ELCPS est bas sur un ensemble de standards : The Linux Standards Base 1.2 (LSB) IEEE POSIX 1003.1-2001 The Single UNIX Specification v3 Le document ELCPS de propose de promouvoir : Le dveloppement de systmes et dapplications Linux embarqu La portabilit des applications
ENSEIRB Les Systmes embarqus. Linux embarqu - 458 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VERS UNE STANDARDISATION DE LINUX EMBARQUE ?


Le document ELCPS est bas sur un ensemble de standards : The Linux Standards Base 1.2 IEEE POSIX 1003.1-2001 The Single UNIX Specification v3 Le document ELCPS de propose de promouvoir : Le dveloppement de systmes et dapplications Linux embarqu La portabilit des applications
ENSEIRB Les Systmes embarqus. Linux embarqu - 459 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VERS UNE STANDARDISATION DE LINUX EMBARQUE ?


Le document ELCPS dfinit 3 types denvironnements systme : 1. Environnement systme minimal : pas de stockaage de masse , pas dinteraction, profondment enfoui. Monoprocessus. 2. Environnement systme intermdiaire : stockage de masse (donc systme(s) de fichiers). Cela paut tre aussi des systmes de fichiers en mmoire FLASH. Multiprocessus. 3. Environnement systme complet : systme gnral, support rseau, GUI...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 460 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

VERS UNE STANDARDISATION DE LINUX EMBARQUE ?


En fonction de ces 3 environnements, des groupes dappels systme de lAPI Linux sont inutiles, obligatoires, optionnels: ELC_C_LANG_MATH : acos(), cos() ELC_DEVICE_IO : getc(), fflush(), puts(), read() Exemple : IPC obligatoire pour un systme moyen ou complet. Le document ELCPS est disponible sur le site de ELC.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 461 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 2 : LES OFFRES LINUX EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 462 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES OFFRES LINUX EMBARQUE


Les offres de version de Linux embarqu (et Temps Rel) peuvent tre ranges dans lune des 3 catgories suivantes : Les distributions Linux classiques : RedHat , Mandrake, Caldera, Debian, Slackware, Suse Suivant la quantit de mmoire disque du systme embarqu, il est possible ddulcorer une distribution classique (<100-150 Mo). Cela tient dans une mmoire Compact Flash (512 Mo). Le projet LFS (Linux From Scratch) explique comment construire son Linux pas pas depuis rien suivant ses besoins : http://www.linuxfromscratch.org/
ENSEIRB Les Systmes embarqus. Linux embarqu - 463 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES OFFRES LINUX EMBARQUE


Les offres de version de Linux embarqu (et Temps Rel) peuvent tre ranges dans lune des 3 catgories suivantes : Les distributions Linux embarqu commerciales : non TR : Montavista/Professional or Carrier Grade or Consumer Electronics Edition (ex Hard Hat Linux), LineoMetrowerks-Motorola/Creation Suite for Linux ( ex Embeddix), LynuxWorks/BlueCat, RedHat/Embedded TR : FSMLabs/RTLinux Pro, Montavista/ Professional or Carrier Grade or Consumer Electronics Edition ( ex Hard Hat Linux), LynuxWorks/BlueCat RT, TimeSys/Linux RTOS Professional or Standard Edition, Lineo-MetrowerksMotorola/Creation Suite for Linux (ex Embeddix)
autres : REDSonic ENSEIRB Les Systmes embarqus. Linux embarqu - 464 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES OFFRES LINUX EMBARQUE


Les offres de version de Linux embarqu (et Temps Rel) peuvent tre ranges dans lune des 3 catgories suivantes : Les distributions Linux embarqu libres : non TR : Clinux, Embedded Debian Project, PeeWeeLinux, Embedded Linux Workshop (ELW) TR : FSMLabs/RTLinux/free ( ex OpenRTLinux GPL ), RTAI
autres : ADEOS, KURT (TR), Linux-SRT (TR), patchs low latency sur noyau standard (Temps Rel mou), eCOS (TR), ELKS, LEM, LOAF, LRP, Freesco...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 465 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES OFFRES LINUX EMBARQUE


Voir une liste exhaustive : http://www.linuxdevices.com/articles/AT9952405558.html http://www.linuxdevices.com/articles/AT8073314981.html

ENSEIRB

Les Systmes embarqus. Linux embarqu - 466 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


MontaVista/Professional or Carrier Grade or Consumer Electronics Edition : Solution gnrale (et TR) pour lembarqu http://www.mvista.com/ kit d valuation disponible (preview kit) MontaVista Linux Professional Edition
This industry-leading comprehensive embedded operating system and cross development environment is our flagship product. It provides a common source and binary platform across a broad range of processor architectures. The Professional Edition includes a modern OS featuring real-time functionality, multi-process and multi-threaded with extensive bundled software components including rich networking. ENSEIRB Les Systmes embarqus. Linux embarqu - 467 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


MontaVista Linux Carrier Grade Edition
This innovative product is the industry standard COTS (Commercial-Off-The-Shelf) Carrier Grade Linux platform providing functionality specifically for Telecom and Datacom with high availability, hardening and real-time performance.

MontaVista Linux Consumer Electronics Edition


The latest addition to MontaVista Software's product line is the worlds first embedded Linux product targeted at advanced consumer electronics devices. It combines new functionality and tools with rich support of reference platforms to enable the rapid development of a wide range of consumer electronics products.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 468 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Caractristiques de MontaVista/Professional Edition :
Broad Hardware Support Support for over seventy popular COTS, Evaluation, and Reference boards Support for seven target CPU families with more than 25 CPU variants MontaVista Development Environment KDevelop IDE MontaVista Target Configuration Tool MontaVista Library Optimizer Tool Graphical binary and source-level debug Graphical kernel configuration tool Kernel debug (KGDB and hardware debuggers) File system populator ENSEIRB Les Systmes embarqus. Linux embarqu - 469 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Caractristiques de MontaVista/Professional Edition :
Rich Complement of target-based Software Components Deployable utilities, libraries, drivers, and other run-time components Real-time Support MontaVista Linux Preemptible Kernel MontaVista Linux Real-time Scheduler with up to 1024 levels of priority Rich Networking Extensive complement of clients and servers Rich support for the TCP/IP Suite Broad support for routing, security, tunneling cPCI backplane networking ENSEIRB Les Systmes embarqus. Linux embarqu - 470 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Caractristiques de MontaVista/Professional Edition :
File Systems Conventional and Journaling Filesystems Disk, flash and network-based options Development Hosts Linux (Red Hat, Mandrake, SuSE) Solaris 7.0, 8.0 Windows 2000/XP (command-line and VMWare)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 471 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Lineo-Metrowerks-Motorola/Creation Suite for Linux : http://www.metrowerks.com/ kit d valuation disponible Caractristiques de Metrowerks Platform Creation Suite for Linux
Full-featured and integrated embedded developer tool suite targeting multiple processor families for Linux operating system development. Target Wizard Configure, build and deploy Package Editor Import open source or binary components Linux Kernel Import Tool (LKIT) Import a new linux kernel Debian Binary Import Tool (DBIT) Extend embedded linux with a full desktop solution CodeWarrior IDE Linux hosted IDE environment

ENSEIRB

Les Systmes embarqus. Linux embarqu - 472 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Caractristiques de Metrowerks Platform Creation Suite for Linux
BSPWerks - Linux Board Support Packages (BSP) GPL Compliance Toolset (Analyzes 38 different open source license types) Graphical Remote Process Analyzer (GRPA) CodeWarrior Development Studio Embedded Linux Edition CodeTEST

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

Les Systmes embarqus. Linux embarqu - 473 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Caractristiques de Metrowerks Platform Creation Suite for Linux
The Target Wizard Tools are a core element of the Metrowerks Platform creation Suite for Linux OS. These GUI tools manage the configuration, build and deployment of Linux OS components, to fully support your specific product requirements. The Target Wizard tools allow you to build a product completely from the Linux components included within the Board Support Package (BSP). They also provide you with the ability to extend that baseline Linux environment with thousands of downloadable open source or binary applications, GNU tools (e.g. compilers), new Linux kernels or kernel enhancements for improved device support, security, real-time performance, quality of service, or networking. This capability gives you the ability to customize the Linux operating system exactly the way you want for your product and your production hardware.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 474 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Caractristiques de Metrowerks Platform Creation Suite for Linux
The Target Wizard Tools

ENSEIRB

Les Systmes embarqus. Linux embarqu - 475 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


LynuxWorks/BlueCat : Solution gnrale pour lembarqu http://www.bluecat.com/ kit d valuation disponible (cible x86) Caractristiques de LynuxWorks/BlueCat :
BlueCat Linux is an enhanced implementation of the Linux model, made viable for use in a wide range of embedded systems.Even as BlueCat Linux delivers the flexibility and cost benefits of open-source software, it's uniquely constructed to be a stable, commercial-grade embedded Linux operating system release providing immediate productivity and optimized performance through:

ENSEIRB

Les Systmes embarqus. Linux embarqu - 476 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Caractristiques de LynuxWorks/BlueCat :
Packages that are tailored to your varying requirements for tools and technical support A comprehensive set of tools and board support packages for developing, debugging and deploying Linux into embedded environments Based on the Linux 2.4.18 kernel, BlueCat Linux scales from small consumer-type devices to large-scale, multi-CPU systems.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 477 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


RedHat/Embedded : http://www.redhat.com/embedded/ Offres de service, logiciels de dveloppement...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 478 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE COMMERCIAL


Caractristiques de RedHat/Embedded :
OEMs Red Hat provides embedded build-time, run-time, and field-management solutions that enable embedded device manufacturers to quickly develop and add new features to their Internet-ready products. Embedded Developers For embedded developers who rely on robust, flexible, and standards-compliant tools, Red Hat offers services for embedded Linux development and the GNUPro developer tools, which cover a wide range of host and target platforms. Chip Manufacturers For semiconductor manufacturers who produce leading edge technology and want massive adoption of their processors by device manufacturers, Red Hat provides software development tools, runtime environments, and device management solutions that make their processors and cores compelling to OEMs.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 479 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE OPEN SOURCE


Clinux : Pour processeur 32 bits sans MMU. http://www.uclinux.org Caractristiques de Clinux (voir aprs pour plus de dtails) :
Lineo's uClinux is the ideal OS for non-MMU microprocessors and high-volume embedded systems featuring posix -4, real-time functions, and TCP/IP. uClinux includes a complete TCP/IP stack supporting Ethernet, PPP and SLIP as well as many wireless protocols. uClinux is perfect for remote sensing, monitoring and control applications. And, because uClinux is an open source product, you will never be stuck on a dead end development path.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 480 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE OPEN SOURCE


Embedded Debian Project : Outil de gnration dun Linux embarqu (OS+FS). http://www.emdebian.org/ Caractristiques de Embedded Debian Project :
The first effort will attempt to capture the current state of the art by exploring the tools and techniques used by other embedded Linux distributions. The primary product of this effort will be the development of a "Guide to Embedding Debian", a comprehensive guide to getting the most (or least, depending on how you look at it) out of Debian for embedded systems.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 481 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE OPEN SOURCE


Caractristiques de Embedded Debian Project :
The second effort involves determining the best ways to extend Debian's reach into the embedded space. This will involve things such as: Creating a set of build-tools for embedded system developers to easily package just the parts they need. Emdebsys and ipkg seem to be the basis to work from. Specifying new packages tailored specifically for embedded systems Ensuring new embedded packages work across as many platforms as possible Involvement in Linux standardization activities involving embedded Linux. Work with debian proper to integrate embedded requirements into the debian infrastructure. EmDebSys a system for the configuration and generation of both a Linux kernel *AND* an operating system (i.e. root filesystem). EmDebSys is being designed to assist embedded Linux developers in configuring and generating small (1 to 10Mb) Linux target systems (ARM, PowerPC, SPARC, Intel x86, Alpha and Motorola 680x0). ENSEIRB Les Systmes embarqus. Linux embarqu - 482 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE OPEN SOURCE


PeeWee Linux : Outil de gnration dun Linux embarqu (OS+FS). http://peeweelinux.com/ Caractristiques de PeeWee Linux :
PeeWeeLinux is an ongoing development effort to provide an environment that makes the configuration and installation of a Linux operating system on an embedded platform as easy and painless as possible. Some of the key features of PeeWeeLinux are: Developed on a RedHat 6.2 platform Packages build and maintained using rpm Packages are customized to minimize memory footprint Ncurses driven graphical configuration and installation tools 2.2.x kernel enhanced for embedded applications USB support, PCMCIA support, XFree86 support ENSEIRB Les Systmes embarqus. Linux embarqu - 483 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE OPEN SOURCE

Caractristiques de PeeWee Linux :


The configuration utility is menu driven and allows for complete packages, or a subset of files from packages, to be included in the target system. Target system using syslinux or lilo bootloaders are supported. Targets can consist of root ramdisks, read-only root partitions and conventional single read-write root partitions. Projects can be saved for later use; thus making it very easy to test several different configurations.

Projet similaire Embedded Linux Workshop ELW : Outil de gnration dun Linux embarqu (OS+FS). http://elw.sourceforge.net/

ENSEIRB

Les Systmes embarqus. Linux embarqu - 484 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE OPEN SOURCE SUR DISQUETTE(S)


Toms Boot Root : http://www.toms.net/~toehser/rb/
Boot/root rescue/emergency floppy image with more stuff than can fit. Bzip2, 1722Mb formatting , and tight compilation options helped jam a lot on. It is useful for "learn unix on a floppy" as it runs from ramdisk, includes the man-pages for everything, and behaves in a generally predictable way.

Linux Router Project : http://www.linuxrouter.org/ Non maintenu


LRP is small enough to fit on a single 1.44MB floppy disk, and makes building and maintaining routers, access servers, thin servers, thin clients, network appliances, and typically embedded systems next to trivial.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 485 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX EMBARQUE OPEN SOURCE


ELKS : http://elks.sourceforge.net/
Le projet ELKS (Embeddable Linux Kernel Subset ) consiste en une version Linux minimale tenant sur une (une disquette de boot et partition /root sur disque dur) ou deux disquettes 3'1/2 (une disquette de boot et une disquette /root ). Son intrt principal est d'utiliser les vieux PC 80286 et infrieurs. ELKS a besoin d'un PC "honnte" pour le crossdveloppement (gnration des disquettes). ELKS tant en version 0.x.x, les outils de dveloppement embarqus sur le PC ELKS sont inexistants. On ne peut donc utiliser que les excutables gnrs sur le PC de crossdveloppement que l'on peut quand mme tester sur ce dernier en gnrant un objet qui va bien. ELKS n'a pas encore intgr les couches rseaux ni l'accs aux ports d'E/S.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 486 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN LINUX EMBARQUE


Le choix est faire en fonction de ses comptences en interne et des TTM respecter. Choisir un linux embarqu commercial est rassurant. Cela a aussi un cot.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 487 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 3 : BILAN

ENSEIRB

Les Systmes embarqus. Linux embarqu - 488 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN LINUX EMBARQUE


LFS (Linux From Scratch)

Complexit de mise en uvre maximale

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

PARTIE 4 : PACKAGES UTILITAIRES POUR LINUX EMBARQUE

ENSEIRB

Les Systmes embarqus. Linux embarqu - 490 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

UTILITAIRES LINUX EMBARQUE


Utilitaires : ae (Anthony's Editor) : diteur de texte. http://packages.debian.org/unstable/base/ae.html ash : trs petit Bourne shell. http://packages.debian.org/unstable/shells/ash.html busybox : petit programme binaire qui fournit la quasi totalit des commandes de base (cat, cp, mv, ls, cd, mount). http://www.busybox.net/ elvis-tiny : un autre diteur de texts de style vi. http://packages.debian.org/unstable/base/elvis-tiny.html

ENSEIRB

Les Systmes embarqus. Linux embarqu - 491 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

UTILITAIRES LINUX EMBARQUE


Utilitaires : iproute : quivalent de ifconfig, route... http://packages.debian.org/unstable/net/iproute.html TinyLogin : suite d'utilitaires permettant de se logguer sur le systme et faire la maintenance des utilisateurs. Il utilise les shadow password. http://tinylogin.busybox.net/ miniserveur Web boa. http://www.boa.org/ miniserveur Web/ftp thttpd. http://www.acme.com/software/thttpd/

ENSEIRB

Les Systmes embarqus. Linux embarqu - 492 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

UTILITAIRES LINUX EMBARQUE


Utilitaires : uClibc : une bibliothque libc faible empreinte mmoire. http://www.uclibc.org udhcp : client/serveur DHCP lger. http://udhcp.busybox.net

ENSEIRB

Les Systmes embarqus. Linux embarqu - 493 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 5 : ETUDE ET MISE EN UVRE DE LINUX EMBARQUE : Clinux

ENSEIRB

Les Systmes embarqus. Linux embarqu - 494 -

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

Les Systmes embarqus. Linux embarqu - 496 -

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

Les Systmes embarqus. Linux embarqu - 497 -

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

Les Systmes embarqus. Linux embarqu - 498 -

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

Les Systmes embarqus. Linux embarqu - 499 -

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

Les Systmes embarqus. Linux embarqu - 500 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME Csimm POUR Clinux


Les responsables du projet Clinux ont propos originellement une plateforme matrielle des fins de tests : le kit Csimm. Ce kit comprend un module qui se prsente sous la forme d'une barrette SIMM 30 broches. Le module Csimm se compose de : Un microcontrleur DragonBall EZ (68EZ328) bas sur un cur Motorola 68000 16 MHz. Il intgre un contrleur de DRAM, un port srie (interface RS.232), une interface SPI, un contrleur LCD (rsolution QVGA), une sortie Timer et une sortie PWM.
ENSEIRB Les Systmes embarqus. Linux embarqu - 501 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME Csimm POUR Clinux


Le module Csimm se compose de : Jusqu 18 E/S parallles. Une horloge Temps Rel calendrier. De la mmoire dynamique DRAM de 8 Mo. De la mmoire FLASH de 2 Mo. Une interface Ethernet IEEE 802.3 10BaseT. Le module Csimm est commercialis sous forme dun kit de dveloppement comprenant le module Csimm, une carte dassemblage / dveloppement, le CD de dveloppement et lalimentation au prix de 495 USD.
ENSEIRB Les Systmes embarqus. Linux embarqu - 502 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME Csimm POUR Clinux


La mmoire FLASH contient un moniteur (bootloader) qui permet de tlcharger une image via la liaison srie en mmoire DRAM et ventuellement la recopier en mmoire FLASH. Limage contient par dfaut le noyau Clinux et son systmes de fichiers avec un petit nombre d'utilitaires (client NFS, miniserveur Web).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 503 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME Csimm POUR Clinux

Le kit Cacademix est un kit uCsimm avec un livre d exercices rserv l enseignement pour 295 USD.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 504 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME Cdimm POUR Clinux


Le kit Cdimm est une version plus performante du kit originel Csimm. Le module Cdimm se prsente sous la forme d'une barrette DIMM 144 broches (1.7x 2.7). Le module Cdimm se compose de : Un microcontrleur DragonBall VZ (68VZ328) 33 MHz. Il intgre un contrleur de DRAM, deux ports srie, deux interfaces SPI, un contrleur LCD (rsolution jusqu 640x512), une sortie Timer et une sortie PWM.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 505 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME Cdimm POUR Clinux


Le module Cdimm se compose de : Une horloge Temps Rel calendrier. De la mmoire dynamique DRAM de 8 Mo. De la mmoire FLASH de 2 Mo. Une interface Ethernet IEEE 802.3 10BaseT. Les autres lments du kit sont les mme que ceux du kit Csimm. Le kit Cdimm est propos 895 USD. Une version base de ColdFire 5272 existe (1295 USD).
ENSEIRB Les Systmes embarqus. Linux embarqu - 506 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME ARM7TDMI POUR Clinux


Le Le kit ARM7TDMI ressemble fort aux prcdents. Il est idal pour dvelopper des solutions embarques base de processeur ARM offrant plus de puissance CPU que les deux kits prcdents. Le kit est compos de la carte dvaluation ATMEL EB40-LS base du processeur ATMEL AT91 ARM7TDMI avec une carte fille pour la connectivit Internet.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 507 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME ARM7TDMI POUR Clinux


Lensemble forme une plateforme matrielle avec : Un processeur ARM7TDMI avec 128Ko de SRAM interne. De la mmoire statique SRAM de 2 Mo. De la mmoire FLASH de 128 Ko. Deux ports srie. Un port JTAG. Une interface Ethernet 10BaseT IEEE 802.3. Le kit ARM7TDMI est propos 495 USD.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 508 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME OpenHardware POUR Clinux


Le projet OpenHardware consiste proposer des solutions libres de design de cartes lectroniques comme il existe des logiciels libres. Les schmas lectroniques, les nomenclatures, les fichiers GERBER pour la fabrication du circuit imprim et la notice de montage sont en libre accs. Il est noter que OpenHardware na pas la prtention de proposer des cartes au design optimis pour une production de masse mais propose plutt un design pleinement test comme point de dpart une reprise de CAO

ENSEIRB

Les Systmes embarqus. Linux embarqu - 509 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME OpenHardware POUR Clinux


OpenHardware propose ainsi un design base du microcontrleur DragonBall EZ (68EZ328) supportant Clinux. Il se compose : Dune carte mre avec 4 sockets SIMM 72 broches dont 2 sont libres dutilisation avec un connecteur RJ45 pour laccs Ethernet IEEE 802.3 10BaseT, une interface pour cran LCD et une interface Touch Panel . Dun module SIMM 72 broches comportant : Le processeur DragonBall EZ. 8 Mo de DRAM.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 510 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORME OpenHardware POUR Clinux


Il se compose : 2, 4 ou 8 Mo de mmoire FLASH. Horloge Temps Rel avec sauvegarde par pile bouton. 9 E/S parallles. Dun module SIMM 72 broches comportant le contrleur Ethernet.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 511 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORMES ColdFire POUR Clinux


Le processeur ColdFire est le dernier n de Motorola dont la premire version est sortie en 1994. Le processeur ColdFire est le digne successeur du clbre processeur Motorola 68000 dont la production sest arrte avec le microprocesseur 68060 il y a quelques annes. Il reprend le jeu dinstructions du microprocesseur 68020 o lon a supprim les instructions qui ne servaient gure ainsi que certains modes dadressage. Le processeur ColdFire reprend une architecture RISC.
ENSEIRB Les Systmes embarqus. Linux embarqu - 512 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORMES ColdFire POUR Clinux


Suivant les versions de processeur ColdFire, Motorola a rajout des instructions de type MAC ( ultiply and ACCumulate) que M lon retrouve dans les processeurs de traitement du signal (Digital Signal Processing). Il a aussi intgr des priphriques ; ce qui confre au processeur ColdFire les proprits dun microcontrleur / DSP. Le march vis par Motorola est clairement celui des tlcommunications o lon retrouve ce genre de besoins.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 513 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORMES ColdFire POUR Clinux


Processeur ColdFire 5407 :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 514 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORMES ColdFire POUR Clinux


Clinux est port sur la cartes ColdFire suivantes :
Arnewsh Inc SBC5206 development board Arnewsh Inc SBC5307 development board Motorola M5206eLITE development board Motorola M5206C3 development board Motorola M5249C3 development board Motorola M5272C3 development board Motorola M5307C3 development board Motorola M5407C3 development board SnapGear (also NETtel and SecureEdge) router platforms Moreton Bay eLIA 5307 based development platform Netburner CFV2-40 development board

ENSEIRB

Les Systmes embarqus. Linux embarqu - 515 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORMES ColdFire POUR Clinux


La mise en uvre de Clinux sera faite sur carte ColdFire Motorola EVB M5407C3. La carte dvaluation M5407C3 possde : Un processeur MCF5407 150 MHz (257 Dhrystone MIPS). 32 Mo de mmoire SDRAM. 2 Mo de mmoire FLASH dont 0,3 Mo occup par le moniteur de la carte. 2 ports srie. Une liaison Ethernet IEEE 802.3 10BaseT. Un port de debug BDM (Background Debugger Module). Un slot PCI (version 2.1).
ENSEIRB Les Systmes embarqus. Linux embarqu - 516 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PLATEFORMES ColdFire POUR Clinux

ENSEIRB

Les Systmes embarqus. Linux embarqu - 517 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux


Installation du cross compilateur C pour ColdFire (fichiers binaires). En tant root : # cd / # tar xvzf m68k-elf-20020410. tar.gz Les outils sous installs sous /usr/local/bin. Les bibliothques sont installes sous /usr/local/lib. les fichiers .h sont installs sous /usr/local/include.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 518 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux


En tant simple utilisateur, dans son home directory, installer le package Clinux : % cd ~ % tar xvzf uClinux-dist-XXXXXXXX.tar.gz Un rpertoire ~/ uClinux-dist est cr. Se placer dans ce rpertoire : % cd uClinux-dist

ENSEIRB

Les Systmes embarqus. Linux embarqu - 519 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux


Configurer le noyau Clinux comme sous Linux (choix de la carte, des applications embarquer) : % make xconfig Construire les dpendances : % make dep Construire l image tlcharger dans la carte : % make Tlcharger l image dans la carte depuis le moniteur (par le rseau, par la liaison srie) et lancer le noyau Clinux.
ENSEIRB Les Systmes embarqus. Linux embarqu - 520 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Durant la phase % make xconfig, il convient de choisir les bons paramtres correspondant la carte Motorola. On laissera les autres paramtres avec leurs valeurs par dfaut.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 521 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Choix de la plateforme ColdFire : M5407C3. Noyau 2.4.x, bibliothque uClibc :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 522 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3

ENSEIRB

Les Systmes embarqus. Linux embarqu - 523 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Configuration du noyau :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 524 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3

ENSEIRB

Les Systmes embarqus. Linux embarqu - 525 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Choix des applications standards et userland :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 526 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3

ENSEIRB

Les Systmes embarqus. Linux embarqu - 527 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


La carte ColdFire possde un moniteur embarqu pour des oprations lmentaires accessibles depuis le port srie :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 528 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3

ENSEIRB

Les Systmes embarqus. Linux embarqu - 529 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Le fichier image (fichier image.bin) du noyau Clinux est recopi sous /tftpboot. Ce fichier sera ensuite tlcharg par le rseau depuis le moniteur de la carte ColdFire par le protocole TFTP. Il convient donc d avoir un serveur TFTP actif sur le PC hte. Il est toujours possible de tlcharger l image Clinux par la liaison srie ( 19200 b/s). Celle -ci doit au pralable tre transforme en un fichier au format Motorola S-Record : % m68k-elf-objcopy --input-target=binary --output-target=srec \ image.bin image.srec
ENSEIRB Les Systmes embarqus. Linux embarqu - 530 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Tlchargement du fichier image image.bin par TFTP :
[root@kiwi1 uclinux]# kermit Connecting to /dev/ttyS0, speed 19200. The escape character is Ctrl-\ (ASCII 28, FS) Type the escape character followed by C to get back, or followed by ? to see other options. Hard Reset DRAM Size: 32M Copyright 1995-2001 Motorola, Inc. All Rights Reserved. ColdFire MCF5407 EVS Firmware v2e.1a.1b (Build 18 on Apr 20 2001 11:57:55)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 531 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Tlchargement du fichier image image.bin par TFTP :
dBUG> show base: baud: server: client: gateway: netmask: filename: filetype: mac: 16 19200 192.9.203.1 192.9.203.16 255.255.255.255 255.255.255.0 image.bin Image 00:00:00:00:00:06

ENSEIRB

Les Systmes embarqus. Linux embarqu - 532 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Tlchargement du fichier image image.bin par TFTP :
dBUG> dn image.bin Address: 0x00020000 Eth Mac Addr is 00:00:00:00:00:06 Downloading Image 'image.bin' from 192.9.203.1 TFTP download successful Read 1596184 bytes (3118 blocks)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 533 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Boot du noyau Clinux :
dBUG> go 20000 Linux version 2.4.17-uc0 (uclinux@kiwi1) (gcc version 2.95.3 20010315 uClinux/COLDFIRE(m5407) COLDFIRE port done by Greg Ungerer, gerg@snapgear.com Flat model support (C) 1998,1999 Kenneth Albanowski, D. Jeff Dionne On node 0 totalpages: 8192 zone(0): 0 pages. zone(1): 8192 pages. zone(2): 0 pages. Kernel command line: Calibrating delay loop... 149.50 BogoMIPS Memory available: 30424k/32768k RAM, 0k/0k ROM (581k kernel code, 197k data)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 534 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Boot du noyau Clinux :
Command: cat /etc/motd Welcome to ____ _ _ / __| ||_| _ _| | | | _ ____ _ _ _ _ | | | | | | || | _ \| | | |\ \/ / | |_| | |__| || | | | | |_| |/ \ | ___\____|_||_|_| |_|\____|\_/\_/ | | |_| For further information check: http://www.uclinux.org/ Execution Finished, Exiting Sash command shell (version 1.1.1)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 535 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Configuration rseau et tests :
/> ifconfig eth0 192.9.203.16 /> ping 192.9.203.1 PING 192.9.203.1 (192.9.203.1): 56 data bytes 64 bytes from 192.9.203.1: icmp_seq=0 ttl=255 64 bytes from 192.9.203.1: icmp_seq=1 ttl=255 64 bytes from 192.9.203.1: icmp_seq=2 ttl=255 64 bytes from 192.9.203.1: icmp_seq=3 ttl=255

time=10.0 ms time=0.0 ms time=0.0 ms time=0.0 ms

--- 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

Les Systmes embarqus. Linux embarqu - 536 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Utilisation :
/> ps PID PORT STAT SIZE SHARED %CPU COMMAND 1 S 21K 0K 0.8 init 2 S 0K 0K 0.0 keventd 3 R 0K 0K 0.0 ksoftirqd_CPU0 4 S 0K 0K 0.0 kswapd 5 S 0K 0K 0.0 bdflush 6 S 0K 0K 0.0 kupdated 11 S 21K 0K 0.4 dhcpcd -p -a eth0 12 S0 R 24K 0K 0.0 /bin/sh 13 S 14K 0K 0.0 /bin/inetd 14 S 37K 0K 0.0 /bin/boa

ENSEIRB

Les Systmes embarqus. Linux embarqu - 537 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MISE EN UVRE DE Clinux SUR CARTE EVB5407C3


Utilisation :
/> route Kernel IP routing table Destination Gateway Iface 192.9.203.0 * eth0 127.0.0.0 * lo

Genmask 255.255.255.0 255.0.0.0

Flags Metric Ref U U 0 0 0 0

Use 0 0

ENSEIRB

Les Systmes embarqus. Linux embarqu - 538 -

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

Les Systmes embarqus. Linux embarqu - 539 -

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

Les Systmes embarqus. Linux embarqu - 540 -

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

Les Systmes embarqus. Linux embarqu - 542 -

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

Les Systmes embarqus. Linux embarqu - 545 -

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

Les Systmes embarqus. Linux embarqu - 546 -

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

Les Systmes embarqus. Linux embarqu - 547 -

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

Les Systmes embarqus. Linux embarqu - 548 -

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

Les Systmes embarqus. Linux embarqu - 549 -

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

Les Systmes embarqus. Linux embarqu - 550 -

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

Les Systmes embarqus. Linux embarqu - 551 -

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

Les Systmes embarqus. Linux embarqu - 552 -

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

Les Systmes embarqus. Linux embarqu - 553 -

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

Les Systmes embarqus. Linux embarqu - 554 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CHAPITRE 7 : LE TEMPS REEL SOUS LINUX INTRODUCTION AU TEMPS REEL

ENSEIRB

Les Systmes embarqus. Linux embarqu - 555 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 1 : INTRODUCTION

ENSEIRB

Les Systmes embarqus. Linux embarqu - 556 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TEMPS REEL MOU


Un systme d exploitation est dit Temps Rel (dur) s il est capable de rpondre des sollicitations ou vnements (internes ou externes) dans un temps maximum. On parle de Temps Rel mou (Soft Real Time) quand les vnements traits trop tardivement ou perdus sont sans consquence catastrophique pour la bonne marche du systme. On ne garantit qu un pourcentage moyen d utilisation du temps CPU. Les systmes contraintes souples ou molles (soft real time) acceptent des variations dans le traitement des donnes de l'ordre de la demiseconde (ou 500 ms) ou la seconde.
ENSEIRB Les Systmes embarqus. Linux embarqu - 557 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TEMPS REEL MOU


On peut citer l'exemple des systmes multimdia : si quelques images ne sont pas affiches, cela ne met pas en pril le fonctionnement correct de l'ensemble du systme. Ces systmes se rapprochent fortement des systmes d'exploitation classiques temps partag. Ils garantissent un temps moyen d'excution pour chaque tche (un dbit, une Bande Passante). On a ici une rpartition galitaire du temps CPU entre processus.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 558 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TEMPS REEL DUR


On parle de Temps Rel dur (Hard Real Time) quand les vnements traits trop tardivement ou perdus provoquent des consquences catastrophiques pour la bonne marche du systme (perte d informations cruciales, plantage). Les systmes contraintes dures (hard real time) ne tolrent quune gestion stricte du temps est ncessaire afin de conserver l'intgrit du service rendu. On citera comme exemples les contrles de processus industriels sensibles comme la rgulation des centrales nuclaires ou les systmes embarqus utiliss dans l'aronautique.
ENSEIRB Les Systmes embarqus. Linux embarqu - 559 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TEMPS REEL DUR


Ces systmes garantissent un temps maximum d'excution pour chaque tche. On a ici une rpartition totalitaire du temps CPU entre tches. On peut dire qu'un systme temps rel doit tre prvisible (predictible en anglais), les contraintes temporelles pouvant s'chelonner entre quelques micro-secondes (s) et quelques secondes.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 560 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TEMPS REEL DUR


Les systmes contraintes dures doivent rpondre trois critres fondamentaux : Le dterminisme logique : les mmes entres appliques au systme doivent produire les mmes effets. Le dterminisme temporel : un tche donne doit obligatoirement tre excute dans les dlais impartis, on parle d'chance. La fiabilit : le systme doit tre disponible. Cette contrainte est trs forte dans le cas d'un systme embarqu car les interventions d'un oprateur sont trs difficiles voire mme impossibles. Cette contrainte est indpendante de la notion de temps rel mais la fiabilit du systme sera d'autant plus mise l'preuve dans le cas de contraintes dures.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 561 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE TEMPS REEL


Linux n est pas un systme d exploitation Temps Rel (dur) car : Le noyau Linux possde de longues sections de code o tous les vnements extrieurs sont masqus (non interruptible). ET Le noyau Linux n est pas premptible durant toute l excution d un appel systme (structure monolithique) par un processus et ne le redevient qu en retour d appel systme (mode user). Le noyau Linux n est pas premptible durant l e service d une interruption (ISR). La routine ISR acquitte l interruption puis programme un Bottom Half (BH) pour le traitement des donnes. Le BH est excut de faon non premptif immdiatement avant de retourner en mode user.
ENSEIRB Les Systmes embarqus. Linux embarqu - 562 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE TEMPS REEL


Linux n est pas un systme d exploitation Temps Rel (dur) car : En cas d occurrence d une interruption durant l excution d un appel systme en mode noyau, le BH programm par l ISR et eventuellement les autres BH des autres ISR) ne sera excut qu la fin de l excution complte de l appel systme d o un temps de latence important et non born fatal un systme Temps Rel !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 563 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE TEMPS REEL


Linux n est pas un systme d exploitation Temps Rel (dur) car : L ordonnanceur de Linux essaye d attribuer de faon quitable le CPU l ensemble des processus (ordonnancement de type old aging mise en uvre pour favoriser l accs CPU aux processus rcents). C est une approche galitaire. Un ordonnanceur Temps Rel donnera toujours la main la tche de plus forte priorit prte. C est ici un approche plus totalitaire.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 564 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE TEMPS REEL


Le noyau Linux standard peut tre considr comme Temps Rel (mou) par dfinition si l on travaille avec une ractivit de l ordre de la centaine de ms ou plus. Il existe des solutions Linux Temps Rel dur pour une ractivit de quelques dizaines de s Il existe des solutions Linux Temps Rel mou par application de patchs dits premptifs sur un noyau Linux standard pour une ractivit de quelques centaines de s...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 565 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LE TEMPS REEL


Traitement des interruptions et ISR (Interrupt Sub Routine) : Linux
1x 4x 3x

ISR
Interrupt Interrupt

ISR
Interrupt

ISR

time

Systme Temps Rel (RTOS)


<n
ISR
Interrupt Interrupt

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

LINUX ET LE TEMPS REEL


Traitement des tches priodiques : Idalement start start m m
tche tche

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

Les Systmes embarqus. Linux embarqu - 567 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

UNE PETITE EXPERIENCE


Gnration d un signal priodique sur une broche du port parallle. Le signal gnr sur la broche 2 (bit D0) du port parallle est thoriquement un signal priodique carr de demi-priode T/2 de 50 ms. On observe l'oscilloscope le signal suivant sur un systme non charg (AMD Athlon 1500+).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 568 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

#include #include #include #include #include

<stdio.h> <stdlib.h> <fcntl.h> <unistd.h> <asm/io.h>

UNE PETITE EXPERIENCE

#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

UNE PETITE EXPERIENCE


while(1) { outb(0x01, LPT); usleep(50000); outb(0x00, LPT); usleep(50000); } return(0); }

Programme square (fichier C square.c)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 570 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

UNE PETITE EXPERIENCE

Gnration d'un signal carr sous Linux non charg


ENSEIRB Les Systmes embarqus. Linux embarqu - 571 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

UNE PETITE EXPERIENCE


On remarque que l'on n'a pas une priode de 100 ms mais de 119,6 ms d au temps supplmentaire d'excution des appels systme. Ds que l'on stresse le systme (criture rptitive sur disque d'un fichier de 50 Mo), on observe le signal suivant :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 572 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

UNE PETITE EXPERIENCE

Gnration d'un signal carr sous Linux charg


ENSEIRB Les Systmes embarqus. Linux embarqu - 573 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

UNE PETITE EXPERIENCE


On observe maintenant une gigue (jitter) sur le signal gnr. La gigue maximale sur la dure de l'exprience est de 17,6 ms. La forme du signal varie maintenant au cours du temps, n'est pas de forme carre mais rectangulaire. LINUX n'est donc plus capable de gnrer correctement ce signal. Il faut noter aussi que le front montant sur la figure prcdente apparat sans gigue car il a servi comme front de synchronisation de l'oscilloscope. La gigue observe est donc voir comme la contribution de la gigue sur front montant et sur front descendant. Si l'on diminue la valeur de la demi-priode, la gigue devient aussi importante que cette dernire et dans ce cas, Linux ne gnre plus aucun signal !
ENSEIRB Les Systmes embarqus. Linux embarqu - 574 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LES NORMES POSIX


La complexit des systmes et l'interoprabilit omniprsente ncessitent une standardisation de plus en plus grande tant au niveau des protocoles utiliss que du code source des applications. Mme si elle n'est pas obligatoire, l'utilisation de systmes conformes POSIX est de plus en plus frquente. POSIX est l'acronyme de Portable Operating System Interface ou interface portable pour les systmes d'exploitation. Cette norme a t dveloppe par l'IEEE (Institute of Electrical and Electronic Engineering) et standardise par l'ANSI (American National Standards Institute) et l'ISO (International Standards Organisation).
ENSEIRB Les Systmes embarqus. Linux embarqu - 575 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LES NORMES POSIX


Le but de POSIX est d'obtenir la portabilit des logiciels au niveau de leur code source. Un programme qui est destin un systme d'exploitation qui respecte POSIX doit pouvoir tre adapt moindre frais sous n'importe quel autre systme POSIX. En thorie, le portage d'une application d'un systme POSIX vers un autre doit se rsumer une compilation des sources du programme. POSIX a initialement t mis en place pour les systmes de type UNIX mais d'autres systmes d'exploitation comme Windows NT sont aujourd'hui conformes POSIX.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 576 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LES NORMES POSIX


Le standard POSIX est divis en plusieurs sous-standards dont les principaux sont les suivants : IEEE 1003.1-1990 : POSIX Partie 1 : Interface de programmation (API) systme. Dfinition d'interfaces de programmation standards pour les systmes de type UNIX, connu galement sous l'appellation ISO 9945-1. Ce standard contient la dfinition de ces fonctions en langage C. IEEE 1003.2-1992 : Interface applicative pour le shell et applications annexes. Dfinit les fonctionnalits du shell et commandes annexes pour les systmes de type UNIX. IEEE 1003.1b-1993 : Interface de programmation (API) temps rel. Ajout du support de programmation temps rel au standard prcdent. On parle galement de POSIX.4. IEEE 1003.1c-1995 : Interface de programmation (API) pour le multithreading.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 577 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LA NORME POSIX 1003.1b


La norme POSIX 1003.1b dfinit la notion de Temps Rel pour un systme d exploitation des fins de normalisation : Realtime in operating systems: the ability of the operating system to provide a required level of service in a bounded response time Cela implique pour le systme dexploitation : Davoir un ordonnancement des tches premptif (avec priorit). De coller en mmoire les pages virtuelles. De supporter des signaux Temps Rel. Davoir des mcanismes de communication inter-processus IPC (Inter Processus Communication) performants. Davoir des timers Temps Rel.
ENSEIRB Les Systmes embarqus. Linux embarqu - 578 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX ET LA NORME POSIX 1003.1b


Linux ne supporte que partiellement la norme POSIX 1003.1b et ne peut tre considr en l tat comme un systme Temps Rel. Appels systme : mlock(), setsched(). Il convient donc de modifier Linux pour le rendre Temps Rel et conforme la norme POSIX 1003.1b.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 579 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXTENSION TEMPS REEL POUR LINUX


Implmentation du noyau Linux standard : Pas de support du Temps Rel. Sparation entre le matriel et les processus Linux. ...

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

EXTENSION TEMPS REEL POUR LINUX


Solution 1 pour une extension Temps Rel mou de Linux : Modification du noyau Linux par application de patchs pour amliorer les contraintes Temps Rel : dvalider les interruptions le moins longtemps possible, appeler l ordonnanceur le plus souvent possible (fonction schedule() du noyau), en retour d interruption par exemple. Les patchs dits premptifs permettant d'amliorer le comportement du noyau LINUX en rduisant les temps de latence de ce dernier. Ces modifications ne transforment pas LINUX en noyau temps rel dur mais permettent d'obtenir des rsultats satisfaisants dans le cas de contraintes temps rel molles.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 581 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXTENSION TEMPS REEL POUR LINUX


Solution 1 pour une extension Temps Rel mou de Linux : Cette technologie est disponible auprs de diffrents projets open source (projet KURT, Linux-SRT) et elle est galement supporte commercialement par divers diteurs spcialiss comme MontaVista, TimeSys. La notion de noyau premptif est intgre dans le noyau de dveloppement 2.5 (et suivant).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 582 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXTENSION TEMPS REEL POUR LINUX


Solution 2 pour une extension Temps Rel dur de Linux : Ajout d un deuxime ordonnanceur TR de tches et considrer le noyau Linux et ses processus comme tche de fond. Plus difficile que la premire solution. Cette technique permet de mettre en place des systmes temps rel durs. Utilis dans les projets RTLinux et RTAI par exemple. On ne peut pas considrer Linux et son extension TR dans ce cas comme un vritable Noyau TR monolithique (pour les puristes du TR) et enfreint la logique Linux et la cohrence de l API Linux (pour les puristes Linux)...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 583 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

EXTENSION TEMPS REEL POUR LINUX


Solution 2 pour une extension Temps Rel dur de Linux : Ajout d une couche d abstraction entre le matriel et le noyau Linux. Dfinition de tches Temps Rel. Pas de sparation entre le matriel et les tches Temps Rel.

Linux et un extension TR de type RTLinux


ENSEIRB Les Systmes embarqus. Linux embarqu - 584 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...

Application TR RTOS Hardware

ENSEIRB

Les Systmes embarqus. Linux embarqu - 585 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

RTOS PAR EXTENSION


Avantages : de nombreuses fonctionnalits, coopration tches TR et processus non TR. Inconvnients : n est pas un vrai RTOS monolithique Exemples : RTLinux, RTAI... Applications OS standard
Applications TR

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

PARTIE 2 : LES PATCHS PREEMPTIFS

ENSEIRB

Les Systmes embarqus. Linux embarqu - 587 -

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

Les Systmes embarqus. Linux embarqu - 588 -

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

Les Systmes embarqus. Linux embarqu - 589 -

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

Les Systmes embarqus. Linux embarqu - 590 -

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

Les Systmes embarqus. Linux embarqu - 591 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PETITE EXPERIENCE. SUITE


Mesure effectue l'oscilloscope lors de l'utilisation du programme square dcrit prcdemment. Dans le cas du noyau 2.4.20 modifi par le patch Preempt Kernel et subissant la mme charge que pour les autres mesures, nous obtenons la courbe suivante, indiquant une latence maximale lgrement suprieure 200 s. Dans le cas du patch Low Latency, nous obtenons un meilleur rsultat avec une latence maximale d'environ 80 s.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 592 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PETITE EXPERIENCE. SUITE

Excution de square avec le patch Preempt Kernel


ENSEIRB Les Systmes embarqus. Linux embarqu - 593 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PETITE EXPERIENCE. SUITE

Excution de square avec le patch Low Latency


ENSEIRB Les Systmes embarqus. Linux embarqu - 594 -

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

Les Systmes embarqus. Linux embarqu - 596 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 3 : LES OFFRES LINUX TEMPS REEL

ENSEIRB

Les Systmes embarqus. Linux embarqu - 597 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LES OFFRES LINUX TEMPS REEL


Les offres de version de Linux embarqu et Temps Rel peuvent tre ranges dans lune des 2 catgories suivantes : Les distributions Linux Temps Rel commerciales. Les distributions Linux Temps Rel libres.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 598 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Montavista/ Professional or Carrier Grade or Consumer Electronics Edition (ex Hard Hat Linux) Lineo-Metrowerks-Motorola/Creation Suite for Linux (ex Embeddix) LynuxWorks/BlueCat RT TimeSys/Linux RTOS Professional or Standard Edition RTLinux/Pro Il y a toujours les solutions TR commerciales non Linux pSOS/VxWorks, QNX, LynxOS...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 599 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL OPEN SOURCE


FSMLabs/RTLinux/free ( ex OpenRTLinux GPL ) http://fsmlabs.com/community/ RTAI : Real Time Application Interface http://www.aero.polimi.it/~rtai/
eCOS http://sources.redhat.com/ecos/ KURT. Kansas University Real-Time Linux http://www.ittc.ku.edu/kurt/ ADEOS http://www.nongnu.org/adeos/ The purpose of Adeos is to provide a flexible environment for sharing hardware resources among multiple operating systems, or among multiple instances of a single OS. ENSEIRB Les Systmes embarqus. Linux embarqu - 600 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TEMPS REEL COMMERCIAL : VxWorks ET pSOS


Solution commerciale TR non Linux. Noyau TR. WindRiver Systems. http://www.wrs.com Lencore Numro 1 dans le domaine du TR et de lembarqu
VxWorks : Scalable (simple to complex designs) Reliable (mission-critical applications, ABS) CPUs PowerPc, 68K, CPU32, ColdFire, MCORE, 80x86 and Pentium, i960, ARM and StrongARM , MIPS, SH, SPARC, NECV8xx, M32 R/D, RAD6000, ST 20, TriCore) Graphic Development Platform Cross-development Support/Documentation POSIX 1003.1b compliant

Networking
Tornado II embedded development platform

ENSEIRB

Les Systmes embarqus. Linux embarqu - 601 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TEMPS REEL COMMERCIAL : QNX


Solution commerciale TR non Linux. Systme TR. QNX software Systems. http://www.qnx.com
QNX : Highly reliable all generic x86 based processors(386+) Scalable (modules) Deterministic "QNX Neutrino real-time OS, "the most advanced RTOS on the market Networking Graphical development tools and debugger Visual design tools (C code form cut and paste)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 602 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

TEMPS REEL COMMERCIAL : LynxOS

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

LynxOS is binary compatible with the BlueCat Linux, enabling


switching systems down to small highly embedded products. users to take advantage of the best configuration for their needs. In addition, LynuxWorks also supports traditional UNIX and Java and supports processors from Intel, Motorola, and MIPS. LynxOS offers users a choice of software application interfaces, a large number of development tools, scalability and memory efficiency which reflect the many years of expertise LynuxWorks has in the real-time embedded systems market.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 603 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


MontaVista/Professional or Carrier Grade or Consumer Electronics Edition : Solution gnrale (et TR) pour lembarqu http://www.mvista.com/ kit d valuation disponible (preview kit) MontaVista Linux Professional Edition MontaVista Linux Carrier Grade Edition MontaVista Linux Consumer Electronics Edition

ENSEIRB

Les Systmes embarqus. Linux embarqu - 604 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques TR de MontaVista/Professional Edition : Solution 1 : application du patch Preempt Kernel Modification de l implmentation des IPC (verrou ou smaphore tournant ou spinlock) pour le SMP (Symmetric Multi Processing). Rescheduling en retour d interruption Plus d infos : http://www.linuxdevices.com/articles/AT4185744181.html Le patch kpreempt de Montavista est sous licence GPL : http://www.tech9.net/rml/linux/
ENSEIRB Les Systmes embarqus. Linux embarqu - 605 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques TR de MontaVista/Professional Edition : Solution 1 : application du patch Preempt Kernel
MontaVista Software provides a Linux kernel patch. Through some very basic changes, this patch makes the Linux kernel generally preemptible (with short nonpreemptible regions corresponding to the spinlocked regions in an SMP kernel). Process level responsiveness is dramatically improved, both on average and in the worst case. There are no changes whatsoever to Linux APIs or semantics induced by the preemptible kernel patch. The preemptible kernel patch strictly affects the system performance domain. The MontaVista Linux preemptible kernel is available and shipping for all supported architectures: PowerPC, x86, MIPS, StrongARM, XScale, SH and ARM.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 606 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques TR de MontaVista/Professional Edition : Solution 2 : redfinition des politiques dordonnancement (fixed overhead scheduler) Scheduler TR qui gre tous les threads Linux marqus SCHED_FIFO et SCHED_RR bas sur leur priorit fixes (128). Les threads marqus diffremment sont traits par le scheduler Linux standard. On n tend pas l API Linux standard.
The MontaVista Real-Time Scheduler is a fully open, GPL-licensed source code module for Linux. This module for the Linux kernel addresses the serious process selection and dispatch time delays described in the previous section of this document.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 607 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques TR de MontaVista/Professional Edition : Solution 2 : redfinition des politiques dordonnancement (fixed overhead scheduler)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 608 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques TR de MontaVista/Professional Edition : Solution 2 : redfinition des politiques dordonnancement (fiexed overhead scheduler) Emulation de l API VxWorks et pSOS. Le scheduler RT de Montavista est sous licence GPL : http://sourceforge.net/projects/rtsched

ENSEIRB

Les Systmes embarqus. Linux embarqu - 609 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Lineo-Metrowerks-Motorola/Creation Suite for Linux : http://www.metrowerks.com/ kit d valuation disponible L outil de configuration du noyau LKIT (Linux Kernel Import Tool) supporte l application de patchs du noyau donc les patchs premptifs

ENSEIRB

Les Systmes embarqus. Linux embarqu - 610 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


LynuxWorks/BlueCat RT: Extension Temps Rel de BlueCat http://www.bluecat.com/products/bluecat-rt/bluecat-rt.php3

ENSEIRB

Les Systmes embarqus. Linux embarqu - 611 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques de LynuxWorks/BlueCat RT : Mise en uvre de lextension TR par double noyau. Utilisation dun noyau TR (licence RTLinux/Pro)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 612 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques de LynuxWorks/BlueCat RT :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 613 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


TimeSys/Linux RTOS Professional ou Standard Edition : http://www.timesys.com Les 2 produits sont bas sur un noyau Linux modifi pour les contraintes Temps Rel : TimeSys Linux GPL Application dun patch propritaire de type kpreempt (Montavista) pour rendre le noyau premptif : temps rel mou

ENSEIRB

Les Systmes embarqus. Linux embarqu - 614 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques de TimeSys/Linux RTOS Edition :
Royalty-free real-time capabilities that transform Linux into a real-time operating system (RTOS) TimeSys Linux Board Support Package (BSP) o TimeSys Linux GPL kernel, based on the 2.4.18 Linux kernel, that delivers: + Full

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

Linux kernel on the market

ENSEIRB

Les Systmes embarqus. Linux embarqu - 615 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL COMMERCIAL


Caractristiques de TimeSys/Linux RTOS Edition :
Unique priority inversion avoidance mechanisms (Priority Inheritance, Priority Ceiling Emulation Protocol) High resolution timers

True soft to hard real-time predictability and performance


Available ready-to-run on more than 65 specific embedded development boards spanning 8 processor architectures and 35 unique processors Powerful, multi-threaded local and remote debugging with gdb Detailed user and API documentation

ENSEIRB

Les Systmes embarqus. Linux embarqu - 616 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LINUX TEMPS REEL OPEN SOURCE


RTlinux/Free Pro : Solution libre et commerciale dextension TR de Linux. Systme TR. FSM Labs http://www.rtlinux.org Mise en place d une couche d abstraction. Mise en service sous forme de modules Linux. Linux apparat comme la tche de fond de plus faible priorit. RTLinux propose une API cohrente pour une programmation TR. Existe en une version tenant sur une disquette : projet miniRTL.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 617 -

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

Les Systmes embarqus. Linux embarqu - 618 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 4 : PRESENTATION DETAILLEE DE RTLINUX

ENSEIRB

Les Systmes embarqus. Linux embarqu - 619 -

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

GPL RTLinux V1 RTLinux V2 Open RTLinux V3

Non GPL

RTLinux V3 PROfessionnel

ENSEIRB

Les Systmes embarqus. Linux embarqu - 621 -

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

Les Systmes embarqus. Linux embarqu - 624 -

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

Les Systmes embarqus. Linux embarqu - 625 -

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

Les Systmes embarqus. Linux embarqu - 626 -

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

Les Systmes embarqus. Linux embarqu - 628 -

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

Les Systmes embarqus. Linux embarqu - 629 -

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.

Les Systmes embarqus. Linux embarqu - 630 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT SOUS RTLinux


Le dveloppement dapplications sous RTLinux suit les rgles suivantes : Dcoupage en 2 parties : TR et non TR. La partie TR doit tre la plus simple et la plus courte possible. Le reste est non TR et sera dvelopp dans lespace user sous forme de processus Linux. Les processus Linux et les tches TR pourront communiquer par des FIFOS ou par mmoire partage. LAPI POSIX thread existant dj sous Linux a t porte sous RTLinux. Cela facilite la migration dun dveloppeur Linux vers RTLinux.
ENSEIRB Les Systmes embarqus. Linux embarqu - 631 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT SOUS RTLinux

RT Fifo User Process RT Fifo X Windows Linux Kernel RT Process Display Disk Network Peripheral Device

ENSEIRB

Les Systmes embarqus. Linux embarqu - 632 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

INTERRUPTIONS SOUS RTLinux


Il y a 2 types dinterruptions : Interruption logicielle (soft interrupt). Pas de performances TR. Des fonctions noyau peuvent tre utilises dans le handler dIT. Peut tre inhibe sur une longue priode de temps. Servie lorsque le systme TR rend la main Linux (tche TR de fond). Interruption matrielle (hard interrupt). Interruption par le matriel. Le handler dIT RT est dabord excut et sil est partag avec Linux, linterruption sera ensuite servie sous Linux. Peu de fonctions noyau peuvent tre utilises ici.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 633 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

INTERRUPTIONS SOUS RTLinux


Dispatcher dinterruptions de RTLinux :

ENSEIRB

Les Systmes embarqus. Linux embarqu - 634 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

INTERRUPTIONS SOUS RTLinux


Une interruption IRQ (Interrupt ReQuest) peut tre demande sous RTLinux : rtl_request_irq(irq, handler, regs). Et libre : rtl_free_irq(irq). Le handler dIT est excut avec les interruptions inhibes. Pour les revalider, il faut faire appel la fonction : rtl_hard_enable_irq(irq).

ENSEIRB

Les Systmes embarqus. Linux embarqu - 635 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

CALCUL REEL SOUS RTLinux


Par dfaut, une tche RTLinux ne peut pas faire des oprations sur des nombres rels cause du changement de contexte sur les registres entiers du processeur par RTLinux. Pour valider les oprations sur des nombres rels et modifier le changement de contexte de la tche TR, on utilise la fonction : pthread_setfp_np(thread,flag). flag=1 : calcul sur rels valid. flag=0 : calcul sur rels dvalid.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 636 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

MUTUELLE EXCLUSION SOUS RTLinux


RTLinux supporte travers lAPI thread des fonctions de mutuelle exclusion : fonctions pthread_mutex_xxx(). Cela permet dimplmenter des smaphores. Il ny a pas de support par RTLinux des problmes de deadlock et dinversion de priorit. Il faut donc faire attention...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 637 -

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

Les Systmes embarqus. Linux embarqu - 640 -

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

Les Systmes embarqus. Linux embarqu - 641 -

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

PARTIE 5 : MISE EN UVRE DE RTLINUX

ENSEIRB

Les Systmes embarqus. Linux embarqu - 643 -

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

Les Systmes embarqus. Linux embarqu - 645 -

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

Les Systmes embarqus. Linux embarqu - 648 -

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

Les Systmes embarqus. Linux embarqu - 649 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux


On crera prfrentiellement une application TR RTLinux utilisant l API POSIX thread. Un thread est vu comme une tche TR. Un thread est en fait un programme en cours d excution qui partage avec les autres threads son espace d adressage et donc ses variables. C est ce qui se passe avec 2 tches RTLinux ! On doit avoir quelques bases sur l criture de modules Linux...
ENSEIRB Les Systmes embarqus. Linux embarqu - 650 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux


L application TR est compose de tches TR ou threads. Un thread est cr l aide de la fonction pthread_create(). Cette fonction doit tre appele dans la fonction init_module(). On rappelle que lon doit dvelopper un module Linux pour crer des threads TR.
#include <pthread.h> int pthread_create(pthread_t * thread, pthread_attr_t * attr, void *(*start_routine)(void *), void * arg);

ENSEIRB

Les Systmes embarqus. Linux embarqu - 651 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux


Un thread est cr avec des attributs (objet attr). Si attr est NULL, alors le thread est cr avec les attributs par dfaut. On utilisera les fonctions POSIX : pthread_attr_init() pthread_attr_setschedparam() pthread_attr_getschedparam()

ENSEIRB

Les Systmes embarqus. Linux embarqu - 652 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux


Un thread est dtruit l aides des fonctions POSIX dans la fonction cleanup_module() du module Linux : pthread_cancel(pthread_t thread); pthread_delete_np(pthread_t thread)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 653 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux


Manipulation du temps :
#include <rtl_time.h> int clock_gettime(clockid_t clock_id, struct timespec *ts); hrtime_t clock_gethrtime(clockid_t clock); struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ }; hrtime_t timespec_to_ns(const struct timespec *ts); struct timespec timespec_from_ns(hrtime_t t) const struct timespec * hrt2ts(hrtime_tvalue);

ENSEIRB

Les Systmes embarqus. Linux embarqu - 654 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux


Contrle de l ordonnancement :
int pthread_setschedparam(pthread_t thread, int policy, const struct sched_param *param); int pthread_make_periodic_np(pthread_t thread, hrtime_t hrtime_t period); int pthread_wait_np(void); int sched_get_priority_max(int policy); int sched_get_priority_min(int policy); start_time,

ENSEIRB

Les Systmes embarqus. Linux embarqu - 655 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux Exemple : HELLO :


#include <rtl.h> #include <time.h> #include <pthread.h> pthread_t thread; void * start_routine(void *arg) { struct sched_param p; p . sched_priority = 1; pthread_setschedparam (pthread_self(), SCHED_FIFO, &p); pthread_make_periodic_np (pthread_self(), gethrtime(), 500000000); while (1) { pthread_wait_np(); rtl_printf("I'm here; my arg is %x\n", (unsigned) arg); } return 0; }

ENSEIRB

Les Systmes embarqus. Linux embarqu - 656 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux Exemple : HELLO :


int init_module(void) { return pthread_create (&thread, NULL, start_routine, 0); } void cleanup_module(void) { pthread_cancel (thread); pthread_join (thread, NULL); }

ENSEIRB

Les Systmes embarqus. Linux embarqu - 657 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

DEVELOPPEMENT D UNE APPLICATION RTLinux Exemple : HELLO :


Installation RTLinux : # modprobe -a rtl rtl_time rtl_sched rtl_posixio rtl_fifo Installation de l exemple : # insmod my_program.o

(# 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

LA PETITE EXPERIENCE. SUITE ET FIN


Mesure effectue l'oscilloscope lors de l'utilisation du programme rtsquare dcrit prcdemment modifi pour s excuter comme tche Temps Rel sous RTLinux. Dans les conditions de stress du systme (criture continu d un fichier de 50 Mo), on obtient le rsultat ci-dessous l'oscilloscope. La mesure du jitter donne la valeur de 25.6 s compars aux 17.6 ms du noyau LINUX standard, ce qui correspond environ un rapport 1000.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 659 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LA PETITE EXPERIENCE. SUITE ET FIN

Excution de rtquare avec RTLinux


ENSEIRB Les Systmes embarqus. Linux embarqu - 660 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LA PETITE EXPERIENCE. SUITE ET FIN


#include <rtl_time.h> #include <rtl_sched.h> #include <asm/io.h> /* Adresse du port parallle */ #define LPT 0x378 /* Priode de sollicitation de 50 ms */ int period=50000000; /* Valeur envoye sur le port parallle */ int nibl=0x01; /* Identifiant du thread applicatif */ pthread_t thread; ENSEIRB Les Systmes embarqus. Linux embarqu - 661 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LA PETITE EXPERIENCE. SUITE ET FIN


/* Corps du thread applicatif */ void * bit_toggle(void *t) { /* On programme un rveil de la tche toute les 50 ms */ pthread_make_periodic_np(thread, gethrtime(), period); while (1){ /* Ecriture de la valeur sur le port // */ outb(nibl,LPT); /* Calcul de la valeur suivante (ngation) */ nibl = ~ nibl; /* Attente du rveil */ pthread_wait_np(); } } ENSEIRB Les Systmes embarqus. Linux embarqu - 662 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LA PETITE EXPERIENCE. SUITE ET FIN


int init_module(void) { pthread_attr_t attr; struct sched_param sched_param; /* Priorit 1 */ pthread_attr_init (&attr); sched_param.sched_priority = 1; pthread_attr_setschedparam (&attr, &sched_param); /* Cration du thread applicatif */ pthread_create (&thread, &attr, bit_toggle, (void *)0); return 0; } ENSEIRB Les Systmes embarqus. Linux embarqu - 663 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LA PETITE EXPERIENCE. SUITE ET FIN


void cleanup_module(void) { pthread_delete_np (thread); }

Programme TR rtsquare pour RTLinux (fichier C rtsquare.c)

ENSEIRB

Les Systmes embarqus. Linux embarqu - 664 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

PARTIE 6 : BILAN

ENSEIRB

Les Systmes embarqus. Linux embarqu - 665 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN LINUX EMBARQUE TEMPS REEL


Le choix est faire en fonction des contraintes Temps Rel que doit respecter le systme : Pas de contrainte. Best effort. Ractivit de qq 10ms qq 100 ms. Temps Rel mou. Ractivit de qq 100 s. Temps Rel dur. Ractivit de qq 10 s

ENSEIRB

Les Systmes embarqus. Linux embarqu - 666 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN LINUX EMBARQUE TEMPS REEL


Non Temps Rel Linux standard

Ractivit qq 10-100 ms

Patch kpreempt Patch low lat Montavista Metrowerks TimeSys BlueCat RT Montavista RTLinux, RTAI
ENSEIRB

Temps Rel mou

qq 100 s

Temps Rel dur

qq 10 s

Les Systmes embarqus. Linux embarqu - 667 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN LINUX EMBARQUE TEMPS REEL


LINUX n'est pas fondamentalement un systme d'exploitation temps rel car trop gnraliste. Par application de diffrents patchs (low latency, preempt kernel), il est possible d'avoir un systme LINUX temps rel mou. Il est possible d'avoir un systme LINUX temps dur en utilisant les extensions temps rel RTLinux, RTAI, Montavista...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 668 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN LINUX EMBARQUE TEMPS REEL


Le choix final se fera en fonction des contraintes temporelles imposes par le processus contrler depuis LINUX en prenant aussi en compte la complexit de mise en oeuvre dans chaque cas : Configuration du noyau. Ecriture de l'application temps rel. Choisir l aussi un linux embarqu Temps Rel commercial est rassurant. Cela a aussi un cot.

ENSEIRB

Les Systmes embarqus. Linux embarqu - 669 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

LE CHOIX D UN LINUX EMBARQUE TEMPS REEL


Linux standard SIMPLE Complexit de programmation API Linux standard Application de patch au noyau Linux standard API Linux standard

Patch kpreempt Patch low lat Montavista Metrowerks TimeSys

Application de patch au noyau Linux standard

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

RESSOURCES Linux Temps Rel


Real-Time and Embedded Guide. H. Bruyninckx. http://people.mech.kuleuven.ac.be/~bruyninc/rthowto/ Embedded Linux Howto http://linux-embedded.org/howto/Embedded-Linux-Howto.html Linux Magazine. Linux Temps Rel. O en est-on aujourd hui ? P. Kadionik et Pierre Ficheux. Juillet-aot 2003. http://www.enseirb.fr/~kadionik/embedded/linux_realtime/linuxre altime.html La page de l auteur : http://www.enseirb.fr/~kadionik/embedded/embedded.html
ENSEIRB Les Systmes embarqus. Linux embarqu - 671 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

THAT S ALL FOLKS !

ENSEIRB

Les Systmes embarqus. Linux embarqu - 672 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

REFERENCES BIBLIOGRAPHIQUES Linux embarqu. P. Ficheux. Editions Eyrolles. LA REFERENCE !

Embedded Linux. J. Lombardo. Editions New Riders.

Embedded Linux. C. Hollabaugh. Editions Addison Wesley

ENSEIRB

Les Systmes embarqus. Linux embarqu - 673 -

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

Embedded Systems Design. A S. Berger. Editions CMP Books

ENSEIRB

Les Systmes embarqus. Linux embarqu - 674 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

REFERENCES BIBLIOGRAPHIQUES

http://www.enseirb.fr/~kadionik/linux.html http://www.enseirb.fr/~kadionik/embedded.html Et lensemble des adresses www cites prcdemment...

ENSEIRB

Les Systmes embarqus. Linux embarqu - 675 -

pk/2003 v 2.1 Reproduction et exploitation des fins commerciales interdites sans l'accord exprs des auteurs

Vous aimerez peut-être aussi