Home
авбдгжеиз © fi
Contents
1. Read call Description Reading the pdisol6 digital I O board means to control the status of the relay channels As for an ioctl or a write call before making a read call the device must have been opened Then to make any read call user has to indicate the file descriptor int fd that has been returned by the open function a result buffer and its size The call then may look like nbrd read fd buffer sizeof buffer where nbrd is the number of bytes read In the pdisol6 device driver user can give a byte wise or word wise buffer according to his choice of a single port reading or a dual one Reading relay channels status In single port mode user must provide a 8 bits buffer u8 unsigned char The status of each channel can be accessed using logical operations int n u8 buffer ioctl fd CHANGE_PORT PORT2 n read fd amp buffer sizeof buffer if m gt 0 Channel 0 is the LSB Less Significant Bit of the byte u8 channel_O buffer amp 0x01 u8 channel_1 buffer amp 0x02 u8 channel_6 buffer amp 0x40 u8 channel_7 buffer amp 0x80 Channel 7 is the MSB Most Significant Bit rtl_printf channel_0 relay s channel_O 0 off on rtl_printf channel_7 relay s channel_7 0 off on In dual port mode user must provide a 16 bits buffer u16 unsigned short The device driver can put in it the result of the readi
2. mou depuis l espace utilisateur de sa gestion du syst me de fichier proc information syst me et du d veloppement de modules PERL RTAI est un syst me extr mement int ressant et particuli rement adapt un d veloppement dans un cadre universitaire ou de recherche et d veloppement RTLinux appara t plus adapt l industrie bien que une fois encore RTAI prenne de plus en plus d importance dans ce secteur Finalement les deux syst mes sont excellents et il ne faut en n gliger aucun La comp tition acharn e qu ils se livrent parfois ne fait que stimuler la cr ativit de leurs contri buteurs 5 1 3 Portail web pour le monde des Linux temps r el LinuxDevices The embedded Linux portal http www linuxdevices com realtimelinux org http www realtimelinux org 21 5 1 4 Les sites des distributions historiques RTLinux Home Site http www rtlinux org aussi pr sent sur RealTimeLinux http www rtlinux com d veloppement et support assur par Finite State Machine Labs http www fsmlabs com Pour RTAI http www rtai org 5 2 RTLinux Architecture RT Linux est un syst me d exploitation dans lequel cohabitent un micro noyau temps r el et le noyau Linux L intention des concepteurs est de continuer d utiliser les services de haut niveau du syst me temps partag tout en permettant de fournir un compor tement d terministe dans un environnement o l
3. le micro noyau libre ou ELKS pour les machines base de 286 http www elks ecs soton ac uk cgi bin ELKS Les processeurs et ou architectures diff rents de x86 PC demandent plus de tra vail de configuration Les utilisateurs tant moins nombreux on ne dispose pas d une aide aussi rapide et les documents sont plus difficiles trouver Aucune soci t n est l origine du d veloppement de GNU Linux Je vois plut t a comme un avantage et un gage de p rennit mais certains d cideurs semblent le craindre De plus ceci est une opportunit pour des soci t s de service qui peuvent s engager comme responsables de d veloppements logiciels libres aupr s de leurs clients Je pense bien s r ici IRTS 4 2 3 Embarqu temps r el Un logiciel embarqu n a pas forc ment de contraintes temps r el On peut s attendre ce qu une machine doive suivre un tel comportement si elle est reli e au monde r el via des entr es sorties Les v nements ext rieurs doivent tre trait s en un temps d termin pour produire une r action appropri e Un syst me fonctionne en temps r el lorsqu il est capable d absorber toutes les informations d entr e sans qu elles soient trop vieilles pour l int r t qu elles pr sentent et par ailleurs de r agir celles ci suffisamment vite pour que cette r action ait un sens ou Un logiciel ou un sous ensemble de logiciel est dit temps r el ou d terministe si
4. quantes avec sans ch ances 6 mbuff permet d utiliser des composants de m moire partag e entre les processus Linux et RTLinux 23 Le syst me est donc pens pour tre transparent modulaire et extensible Par exemple on peut trouver un scheduler impl mantant les modes RoundRobin ou FIFO de la norme POSIX comme module de remplacement cod par un membre de la Communaut 5 2 2 RTLinux et POSIX Le consortium de normalisation POSIX entretient des relations d attraction r pul sion avec le monde du temps r el et les concepteurs de RTOS Il est souvent dit par la communaut temps r el que la normalisation de l interface est un frein la performance Le processus est initi par les grands diteurs d UNIX qui se pr occupent de gros sys t mes ou de syst mes de bureau L API propos e m me pour les extensions temps r el POSIX 4 Draft 14 P1003 1b est assez lourde 4 mettre en oeuvre de nombreux diteurs s en d marque Par exemple QNX se contente de POSIX 1 base processus fichiers pipes et 2 shell et utilitaires LynxOS V2 2 y ajoute seulement un support de POSIX 4 Draft 10 De plus de part l architecture originale de RT Linux de nombreuses impl mentations du standard sont impossibles syst me de fichier Un compromis a t trouv par les concepteurs de RTLinux savoir l utilisation du Minimal Realtime System Profile POSIX 13 Draft 9 reprenant les sp cifications propr
5. ant that it has succeeded the Message_ structs what member contains RECV_ DONE OK code in com h define RECV_DONE 0x10 Error codes are sent to the Linux process the same way Error codes in com h define RECV_ERR1 1 define RECV_ERR2 2 define CMD_ERR 3 define SEND_ERR 4 Result messages The result message s what member is always TAKE DATA and its value member is filled with the result of the request previously passed on to the device driver If a single port access is done this 16 bits value only contains its lowest byte valid I recommend to give a 0 filled value member to the read function In case of a double port access the entire value field is OK and the lowest byte corresponds with portl 43 Miscellaneous Debug options At the compilation of the driver user can specify which level of debug he wants to be displayed on the kernel log This is done by uncommenting define DEBUG for debug level 1 or both define DEBUG and define DEBUG2 for debug level 2 in the pdiso16 c file In real time In general debug level 1 displays actions and probable causes of command faults and debug level 2 add the state of important global and local variables at that time so that you can determine what was wrong You can also display all the kernel messages by using dmesg command Note that debug options slow down the device driver Special files Kernel uses special files to save all the systems parameters Some of
6. com ou http www editions oreilly fr Un livre sur les Linux temps r el doit sortir chez eux avant le quatri me trimestre 2000 Les ditions Eyrolles http www eyrolles com ou CampusPress http www campuspress fr produisent aussi de tr s bons ou vrages Internet et les portails classiques http www linuxfr org http www slashdot org http www linuxdevices com http www linuxembedded com Les listes de diffusion ou mailing lists auxquelles on peut souscrire partir de nombreux sites Internet Les nouvelles ou news un groupe comp os linux embedded est sur le point de se cr er Exemple Pour le temps r el Realtimelinux org a une mailing lists permettant de se tenir au courant des nou veaut s dans le monde des Linux temps r el Chacun peut mettre un point de vue poser une question ou demander de l aide Pour souscrire cette liste il suffit de se rendre sur le site http realtimelinux org et de suivre la proc dure d crite Archives des mailing lists http www realtimelinux org archives La plus int ressante des ces listes et la plus active est celle intitul e realtime Un autre groupe plus proche du produit RTLinux et extr mement actif est la liste de diffusion maintenue par rtlinux org Elle apporte de bons renseignements au jour le jour il me semble indispensable d y souscrire http www rtlinux org 19 5 Les Linux Temps R el 5 1 Introd
7. de la construction d une mini distribution ttp www toms net rb 4 3 2 Solutions d entreprises commerciales Les entreprises proposant une solution Linux embarqu BlueCat de Lynx Real Time Systems Inc entre dans la strat gie d diteur de se rap procher du monde des logiciels libres Lynx nous d voile sa strat gie Lynx Linux Initiative et LynuxWorks Lynx Inc met aussi en place une compatibilit binaire entre Linux format ELF et son RTOS LynxOS 4 0 Sur le diagramme suivant on peut se rendre compte des possibilit s qu offre BlueCat Linux et des outils qu il fournit Le manuel utilisateur est extr mement pr cis et guide le concepteur travers des exemples pertinents Organigramme du d veloppement sous BlueCat Linux http www bluecat com Embedix Lineo d veloppe et vend des composants logiciels et des solutions de syst mes embarqu s en interaction avec Internet Lineo d tient Embedix embedded Linux OS Embrowser embedded web browser DR DOS et de nombreuses technologies de l embarqu En rachetant Zentropix il s impose comme un acteur majeur de Venfoui et du temps r el base de Linux Hard Hat Linux est un produit commercial de la soci t Monta Vista qui s attache a faciliter le d veloppement de syst mes embarqu s Elle initie de nombreux tra vaux pour am liorer les performances temps r el du noyau Linux modification du scheduler http www mvista com 17 Les entreprises proposant u
8. kernel will display a busy device or resource message on console locti calls Description Before making an ioctl call to a special file device driver description file in our case the device must have been opened by the RTLinux task using the driver s open 37 function call which may look like fd open dev pdiso O_ NONBLOCK Then to make any ioctl call user has to indicate the file descriptor int FD that has been returned by the open function a command parameter unsigned char cmd and if required an argument parameter The call then may look like err ioctl FD cmd arg where err is an integer returned by the function In the pdiso16 device driver arg is required while reading digital inputs thus the ioctl function waits for well sized buffer User must then provide a buffer address to the function Used with CHANGE PORT command arg takes two values PORT1 or PORT2 constants This section explains the specifications of cmd and arg parameters and the returned values of the ioctl function Command parameter cmd This unsigned char parameter is used to indicate to the driver which port s CHANGE _ PORT BOTH_PORTS you want to read or to write on the pdisol6 board You can also indi cate that you want to read digital inputs of your board DIGITAL INPUT cmd CHANGE PORT read write functions applied on relay port given in arg field byte wise bit manipulation cmd BOTH_ PORTS read wri
9. mat rielles On peut s amuser d couper une station de travail classique suivant cinq blocs fonctionnels Puis en liminant tour tour un ou plusieurs blocs on obtient diff rentes configurations mat rielles pouvant s appliquer un quipement embarqu Cette excellente id e est tir e du livre Java embarqu 10 12 Fic 4 1 Typologie des architectures En utilisant le sch ma 4 1 on peut construire 1 avec tous les blocs une station de travail industrielle connect e un r seau 2 avec l unit centrale une IHM et de la m moire de masse un PC domestique 3 avec l unit centrale et des entr es sorties sp cifiques un syst me industriel ind pendant que l on peut relier un r seau si on lui adjoint le bloc 5 4 Su Il y a ainsi 14 configurations possibles car certaines des 27 sont absurdes d crivant cha cune un quipement informatique GNU Linux est pens l origine comme un syst me d exploitation pour station de travail de type PC connect e un r seau blocs 1 2 3 4 Il faut donc voir s il est assez configurable pour pouvoir animer les autres agencements de blocs sans trop de modifications et ou de pertes de performance D autre part augmentation de la proportion de mat riel standard et notamment de type PC dans les quipements embarqu s est tout fait remarquable En effet leur fiabilit leur disponibilit imm diate leur facilit d i
10. mener un d veloppement en interaction forte avec le mat riel de bout en bout En effet j avais apprendre comment construire un driver utiliser les ressources de RTLinux et coder les programmes de tests de ce driver Le document pr sent en annexe est le manuel d utilisation de ce driver Pour pouvoir tre utilis par la Communaut ce document est r dig en anglais l ensemble des programmes de tests versions de drivers et documentations sont disponibles sur Internet pour permettre 27 l utilisation et l am lioration de mon travail http www chez com noglitch Ce que l on peut tirer de ce premier d veloppement complet sous RTLinux est que cet environnement est tout fait homog ne stable et simple d utilisation Il est tr s important comme il est mentionn dans tout manuel sur RTLinux de bien d limiter la partie temps r el et la partie qui ne l est pas En effet Il s agit de minimiser la partie de code critique et d utiliser au maximum les facilit s offertes par un d veloppement dans l espace utilisateur de Linux d boguage protection m moire librairies graphismes L API de style POSIX disponible dans l espace RTLinux facilite la compr hension du code crit pour utiliser le driver Toutefois elle peut entra ner des confusions avec l utilisation dans l espace Linux noyau ou utilisateur Je conseille d avoir les id es claires sur la situation du code que l on est en
11. mes base de logiciels libres Je pense que cette approche permettra JRTS de choisir la bonne solution logicielle en r ponse une demande client dans ce domaine 2 2 Environnement de d veloppement Afin de mettre en oeuvre ses solutions base de logiciels libres la soci t IRTS a cr une plate forme de d veloppement de type PC Julien Gaulmin y a install GNU Linux lors d un stage pr c dent Ce PC base de processeur AMD K6II 300MHz tourne sous une distribution SuSE Linux 6 1 J y ai ajout les diff rents outils logiciels n cessaires un projet sous RTLinuz RTAI Linux et BlueCat Linux La distribution Red Hat Linux 6 1 a d tre install e sur ce PC pour pouvoir utiliser le kit de d veloppement de Lynx BlueCat Linux Tous les outils d ing nierie logicielle diteurs de textes compilateurs diteurs de liens ainsi que les pages de manuel et les codes sources de l OS et des drivers existants sont fournis dans les distributions et sont disponibles sur de nombreux sites Internet J ai dispos ainsi de nombreuses sources d informations et d une communaut toujours l coute des probl mes de l un de ses membres Le rack CPCI inova sert de machine cible dans le d veloppement d applications embarqu es Le cycle de mise en oeuvre d un syst me embarqu r sum sur le sch ma 2 2 est facilit par l utilisation des outils mis la disposition du d veloppeur par BlueCat Linux 2
12. possibilit de traiter les interruptions celles arriv es entre temps sont disponibles et peuvent tre trait es par la routine de gestion d interruptions de Linux handler d IT Linux dans la figure 5 1 Les codes assembleurs des processeurs 1486 cli sti et iret sont remplac s dans le noyau Linux par des macro instructions S CLI S STI et S_IRET Toutes les interruptions 22 mat rielles sont attrap es par l mulateur qui distribue des interruptions logicielles soft interrupts Les t ches temps r el suivent les sp cifications de la norme POSIX 1c d crivant les threads Elles peuvent tres application utilisateur service fourni par l environnement RTLinux ou pilote de p riph rique Charg es comme module noyau elles s ex cutent en suivant les ordres dict s par le scheduler Le temps CPU est fourni la t che de plus haute priorit scheduler de base RTLinux Ces kernel threads disposent des droits entiers sur la machine et peuvent acc der toutes les ressources Ils occupent tous le m me espace d adressage celui du noyau et se chargent dynamiquement Il r sulte de ces trois points qu il est d licat de d velopper un tel module En effet la moindre erreur de programmation vite advenue en C du fait de la manipulation de pointeurs est fatale au syst me En revanche cette architecture permet d augmenter les performances en liminant les temps de changement de niveau de protection et en raccourcissa
13. pour but de cr er et de maintenir toute une panoplie de programmes utilitaires compatibles UNIX et de les mettre gratuitement disposition de tous On appelle abusivement Linux le syst me d exploitaiton GNU Linux qui est constitu du noyau Linux et des outils GNU 2 Le projet 2 1 Pr sentation du sujet Le projet qui m a t confi fait suite au d veloppement de l utilisation des logiciels libres au cours de ces derni res ann es L une des composantes les plus populaires du monde du logiciel libre est le syst me d exploitation GNU Linux En plus d tre popu laire dans les milieux universitaires et de recherche ce syst me de par ses innombrables qualit s qui seront expos es ult rieurement s duit les entreprises La soci t IRTS voit dans cette mont e en puissance des perspectives de nouveaux march s et a donc d cid d ajouter GNU Linux et ses d riv s temps r el notamment a ses domaines de comp tences Le sujet de base de ce stage tait la mise en oeuvre et l valuation du noyau RTLinux en terme de fonctionnalit s et de performances Mais RT Linux de par son architecture est utilis en interaction forte avec le noyau Linux et les outils GNU qui l accompagnent Le noyau temps r el RT Linux n est rien par lui m me J ai donc pris l initiative d largir le sujet de mon stage d autant qu plusieurs reprises j ai d r pondre des questions g n rales relatives aux syst
14. son ex cution a lieu en un temps d termin et connu Un syst me d exploitation est dit temps r el ou d terministe s il permet d ex cuter des t ches logicielles en temps r el Cette notion est ind pendante de la vitesse de calcul Pour assurer le d terminisme des t ches un syst me d exploitation doit tre soit monot che soit multit che et totalement pr emptif La pr emptivit induit un autre concept la notion de priorit En effet un noyau multit che pr emptif recevant une 2ABRIAL et BOURGNE 3Dont la t che courante peut tre interrompue 15 interruption doit r partir de nouveau le temps CPU entre les t ches Cette r partition est effectu e par le moniteur syst me scheduler selon un crit re pour un OS temps partag c est le temps CPU d j accord la t che pour un OS temps r el mou c est l ordre d arriv e de l interruption pour un OS temps r el dur c est l ordre d arriv e de l interruption mais aussi la priorit des diff rentes t ches s ex cutant Linux t impl ment partir des sp cifications POSIX pour construire un syst me d exploitation temps partag En revanche la norme POSIX 1b sp cifie des extensions temps r el au syst me de base POSIX 1 Ces extensions disponibles dans Linux sont entre autres s maphores timers queues de messages et scheduler pr emptif g rant les priorit s Il y a l tout ce qu i
15. those can be very useful to get informations about the device driver proc devices this file indexes all the devices drivers installed on the system with their major number and their type char or block proc interrupts this file indexes all the interrupts that have already appear on the system with their interrupt vector their frequency and the name of the device driver which owns them proc ioports this file indexes all the I O regions that have been taken by devices drivers The name of the device driver that owns the region is also displayed proc ksyms this file indexes all the kernel entry points with their address and the name of the function You can display these informations with the ksyms command proc modules this file registers all the loaded modules with their memory occupa tion and the number of processes threads that have opened it You can display these informations with the lsmod command proc version this file contains the current running kernel version It is useful to see if your module version is compatible with the current kernel but you can force the module even if the versions are incompatible with insmod f dev pdiso this file is the devices files associated with the board using the pdiso16 device driver You can see major and minor number of this file with Js l command var log messages these file contains all the messages sent by kernel with printk calls You can display these mess
16. utilitaires permettant de se loger sur le syst me et faire la main tenance des utilisateurs S curis il utilise le m canisme de shadow password 4 3 4 Outils documentaires Il est fort int ressant lorsque l on d veloppe une solution base de logiciels libres de disposer d une liaison Internet pour avoir acc s aux forums de discussions et aux listes de diffusions En effet on trouve rapidement une r ponse en posant une question sur un des forums listes d di s aux Linux temps r els car ce milieu est passionn et enthousiaste Attention tout de m me de ne pas poser une question r ponse triviale lire la documentation avant toute requ te Internet est une base de documentation in puisable et effervescente Il est impossible de faire le tour de tous les papiers mis la disposition du d veloppeur Il faut donc avoir quelques flotteurs pour ne pas se noyer et surfer confortablement d un renseignement l autre Les outils les plus efficaces la disposition du d veloppeur sont principalement 18 Les livres peu nombreux et assez chers ils ne correspondent pas toujours aux besoins et sont souvent dit s avec un retard certain par rapport ce que l on peut trouver sur Internet Mais certaines maisons d dition n h sitent pas pu blier d excellents ouvrages clairant les d veloppements r cents de la Commu naut je pense aux ditions O Reilly http www oreilly
17. what WRITE_RELAY Send_Cmd value OxAA Finally he sends his message through the rt fifo using the write call to the proper rt fifo file descriptor if write Fd_Wr amp Send_Cmd MESSAGE_SIZE lt 0 fprintf stderr Can t send a command to RT task n exit 1 42 Send request messages The what member is the command sent to the device driver It can take the following values command codes for the message types what tag define WRITE RELAY 0x1 read function define READ STATE 0x2 write function define TAKE DATA 0x3 ioctl fd DIGITAL INPUT function AND the ioctl commands CHANGE PORT PORT1 PORT2 in value tag and BOTH_ PORTS The value member contains the buffer to send to command the relay channels the result of the reading or the data from digital inputs Its length is linked with the number of ports required Receive messages To receive a message the Linux user space process must listen to the RTLinux pdisol6 device driver User can simply implement it with a read call or use read with a select call on the rt fifo Example could be fount in the app c source file A Message_ struct data structure must be used while calling the read function Acknowledgment messages The device driver passes on an acknowledgment message to the Linux process when no result is required write or ioctl commands Thus the device driver says that it has received the command
18. 1 Mat riel mis ma disposition FIG 2 2 Cycle de d veloppement d un logiciel embarqu FIG 2 3 Planning de d roulement du stage 3 Conclusion Autonomie pourrait tre le ma tre mot de mon stage car j ai pu organiser sans contrainte ma progression dans le monde des Linux temps r el et du logiciel libre em barqu La soci t IRTS m a donc laiss toute latitude pour mener bien une exp dition dans cette jungle et d fricher le terrain J esp re lui avoir permis d y voir plus clair et d utiliser ces outils plus facilement avec l aide de ce rapport Ce stage m a appris prendre mes responsabilit s et organiser le d roulement de mon activit technique Je pense que ce stage sera riche d enseignements pour mes futurs projets Sur le plan humain j ai eu la chance d voluer dans une jeune soci t dynamique et dans une excellente ambiance de travail Ceci m a permis de choisir la structure dans laquelle je voulais d buter ma vie professionnelle Cette exp rience m a aussi permis de d couvrir le travail communautaire si vital au d veloppement de GNU Linux J ai ainsi obtenu gratuitement et quasiment instanta n ment de l aide tr s pointue aupr s des milliers de d veloppeurs syst mes passionn s de cet OS ceci via les newsgroups les forums et les nombreux articles et livres disponibles en ligne 10 Deuxi me partie Dossier Technique 4 GNU Linux comme sys
19. 3 D roulement de l activit technique Mon stage a commenc par deux semaines de travail intense je devais r pondre un appel d offre lanc par le Service Technique de la Navigation A rienne La consul tation portait sur un ensemble de PC industriels tournant sous GNU Linux op rant dans un syst me critique du contr le a rien Rentrant dans un m canisme de gestion de calculateurs redondants ces PC devaient contr ler d autres machines et faire basculer le travail d un calculateur l autre en cas de panne Robustesse fiabilit et temps de r ponse sont demand s de tels syst mes Ceci m a permis d aborder directement le monde de l embarqu sous GNU Linux Puis j ai abord la partie principale de mon stage les Linux temps r el et RTLinux en particulier Le choix de RTLinux est discut dans le dossier technique en 5 1 2 La partie de mon projet concernant le son s est av r e tre ardue car elle mobilisait beaucoup de concepts nouveaux pour moi Il fallait me familiariser avec les notions relatives au signal sonore aux driver PCI la mesure de performance d un syst me d exploitation temps r el Donc cette partie avait aussi pour but de mesurer les per formances temps r el de RTLinux soit la latence la g te et le temps de r ponse une interruption Durant toutes les phases de ce stage j ai d me tenir au courant de tous les d veloppements relatifs au monde de l informatique embarqu
20. M moire de fin d tude GNU Linux syst mes embarqu s Nicolas Ferre M5 Mars Juin 2000 Propos par IRTS Integrated Real Time Systems REMERCIEMENTS Je tiens remercier les personnes suivantes pour avoir rendu ce stage pos sible Monsieur Claude Silve qui malgr ses occupations a toujours r pondu mes questions Monsieur Michel Dumas pour m avoir fait profit d explications propos de leur d veloppement en cours Monsieur Hugues Perony sans qui ce stage n aurait pas t possible et enfin toutes les autres personnes de la soci t IRTS pour avoir t si accueillantes avec moi Table des mati res SYNTH SE Pr sentation de l entreprise IRTS date AOU CACC BIE EO 4 te Ah thee An Ale A M SAMS es MA a Mt ok te Sh 1 2 Ing nierie d Etude et de D veloppement d Assistance Technique et de CODE crear Slate te oneal eg Oke th GMa Be ts Bene ee Sk Sve E Se al Bee 2 1 2 1 Assistance Technique et Conseil 1 2 2 Ing nierie d Etude et de D veloppement 1 2 3 R alisation de syst mes d di s et Technologies Informatiques 1 3 Positionnement March Le projet 2 1 Pr sentation du sujet 2 72 age ale Mars mie ele 2 Sha eG ae 2 oles 2 2 Environnement de d veloppement 2 3 D roulement de l activit technique 2 4 Techniques et connaissances mises en oe
21. Yodaiken and Michael Barabanov VJY Associates LLC 2 Getting started with Real Time Linux Michael Barabanov 3 Real Time Linux Application and Use Phil Wilshire 4 Real Time Linux 2 0 Installation amp Examples Mirko Holler 5 RTC Europe V4 1 Janvier 2000 http www rtcgroup com rtcmagazine rtc100 html rtcmag100 html l6 GNU Linux magazine France 17 mai 2000 7 Electronique International 359 9 septembre 1999 8 Electronique International 378 10 f vrier 2000 9 BlueCat Linux User s Guide BlueCat Version 1 0 0 DOC 0329 Lynx Real Time Systems Inc 10 Java embarqu Y Bossu C Nicolas A Proust J B Blanchet Eyrolles 11 Le Linux Sound HOWTO Jeff Tranter mailto tranter pobox com traduction fran aise de Ga l Duval version 1 18 mailto gael linuxmandrake com 32 Glossaire API Application Programming Interface Interface mat rialis e par des primitives per mettant une application d acc der des programmes de plus bas niveau ELF Executable and Linkable Format Format d ex cutables binaires principalement utilis s sous GNU Linux permet l dition dynamique de liens FIFO First In First Out ici m thode de communication entre processus RT FIFO moyen d change de donn es non bloquant entre taches temps r el ou entre une tache temps r el et un processus utilisateur Linux PCI Peripheral Component Interconnect sp cification de fonctionnement d un b
22. a 5 4 2 Utilisation du port parall le Codage test d un pilote carte TOR Portage et test d un pilote carte son 5 6 1 Le son sous GNU Linux 5 6 2 pourquoi le son requiert un comportement temps r el 5 6 3 Le portage du pilote carte son Sound Blaster 128 PCI Glossaire Ill Annexes ill 20 20 20 20 21 22 22 23 24 24 25 25 26 27 28 28 29 30 33 34 Table des figures 2 1 2 2 2 3 4 1 9 1 9 2 5 3 Mat riel mis ma disposition 8 Cycle de d veloppement d un logiciel embarqu 8 Planning de d roulement du stage 9 Typologie des architectures 13 Les diff rentes couches d abstraction RTLinux comme machine virtuelle POUT LINUR eaa aie ie mea at a ED 22 Les registres de contr le commande du port parall le 27 Fonctionnement du pilote de carte PDISO16 dans l environnemnt RTLinux 28 iv Premi re partie SYNTHESE 1 Pr sentation de l entreprise IRTS Integrated Real Time Systems d sign e par le sigle ZRTS a t cr e en 1995 sous la forme d une S A R L et dispose d un capital de 2 340 000 F enti rement d tenu par ses fondateurs La soci t a r alis 30 millions de francs de chiffre d affaires au titre de son dernier exercice Elle comptera 19 personnes dont 16 ing ni
23. ages with the dmesg command etc devinfo this file indexes all the different device drivers type that can exist with their major and minor number 44
24. au Linux spin_ lock spin_lock_ irq la communication de donn es entre espace utilisateur et noyau copy to user put_ user l interface style POSIX open read Pour faciliter le travail et en plus permettre au driver modifi de fonctionner aussi bien sous RTLinux que sous Linux voire sous RTAI plusieurs initiatives ont vu le jour 30 Driver Programming Interface DPI Version 0 1 0 beta pour des drivers RTLinux Linux d velopp e par David Olofson mailto david_olofson hotmail com C est PAPI que j ai utilis e car le portage du driver es1370 tait fait Il a donc suffi de suivre l exemple et de modifier le nom des fonctions Le r sultat semble fonctionnel mais le syst me se bloque au d chargement du module je n ai pas corrig ce d faut car un tel probl me est long r soudre http www angelfire com or audiality Comedi Control and Measurement Device Interface for Linux d velopp par de nom breux contributeurs dont le principal est David Schleef mailto ds schleef org Cette interface permet d utiliser le driver de n importe quel espace utilisateur noyau temps r el et depuis n importe quel syst me Linux RTLinux RTAI Cette solution bien que plus complexe semble extr mement l gante et m rite un bon coup d oeil Des driver sont d j d velopp s pour des cartes d entr es sorties analogiques http stm 1bl gov comedi 31 Bibliographie 1 RTLinux Version Two Victor
25. buffer et l chantillon suivant d o emploi de la technique des buffer multiples Multi buffering L application tient toujours un buffer rempli la disposition du driver qui peut s en emparer lorsqu il a vid le pr c dent on parle en fait d un buffer d coup en plusieurs fragments en g n ral 3 Il faut tout de m me savoir que l application a souvent des traitements faire sur les chantillons avant de les fournir au driver Exemple avec un d bit de donn es de 176400 octets s et un buffer de 2 fragments de 4Koctets application dispose de 4096 octets soit de 23ms pour effectuer son traitement et remplir le buffer ce qui est peu Il faut alors l agrandir Mais le chargement d un fragment plus grand demande du temps car il faut transmettre des donn es de l espace utilisateur au noyau fonctions write de PAPI son Cela implique une augmentation du temps de latence pour toutes les autres op rations du syst me Il faut donc augmenter la fragmentation du buffer les transferts de donn es seront alors plus nombreux mais de plus petite taille Le pilote sous Linux calcule en g n ral la taille et le nombre des fragments tel que la latence soit de 0 5s pour une restitution et de 0 1s pour une acquisition Sous RTLinux les donn es sonores r sidant sur le disque sont envoy es via une RT FIFO une t che temps r el Cette derni re utilise PAPI son classique OSS Open Sound System pour communiquer avec l
26. case of no PDISO16 major parameter PDISO16 MAJOR is taken from the pdiso16 h header file Initialization The device driver has to register itself with Linux and RTLinux The loading process begins with a call to pdiso16_ init function dedicated to general purpose initialization Linux I O region checking register device Then it has to deal with RTLinux stuff register using posixio API set up fifo s and initialize its base address and communication state PORT1 byte wise behavior Errors Error can appear during the module loading This error may be caused by invalid loading parameters or by the fact that module is already running on system In case of error you should check if the module is not already running and if all the required resources are free see the Special files section You can also use the dmesg command to see debug or error messages see the Debug options section Unloading cleanup module Mechanism As you can dynamically load your kernel module you can also unload it when you want using the command rmmod modname You can check its name calling the useful lsmod command Errors Nevertheless the module will be unloaded only if all the processes threads have been closed before This is done with the driver s release function call which is called by the generic close function Finally the call may look like close FD If some processes threads are still using the device driver when you try to unload it the
27. chaque 25 interruption de la RTC programm e 8kHz Un petit seuillage permet de d terminer si le HP doit tre allum ou non C est ainsi qu en pr tant l oreille on entend Linus Torvalds parler Ex mmap Permet d acc der la m moire physique depuis l espace noyau RT Linux ou l espace utilisateur Linux C est une sorte de driver du p riph rique m moire physique Ex mutex Une t che RTLinux et un processus Linux se disputent un s maphore d exclusion mutuelle La t che Linux est en fait impl ment e dans la fonction init _module qui cr e et prend le mutex avant de lancer la t che temps r el Cette derni re essaie de prendre le s maphore sans succ s jusqu ce que la t che Linux l ait l ch Ex fp D crit les capacit s de calcul en virgule flottante de RTLinux Nous avons besoin d un module ind pendant pour effectuer de tels calculs Ex vlapi Non tudi permet d utiliser du code crit pour RTLinux version 1 Il faut pour cela compiler RT Linux avec l option CONFIG RTL USE V1 API activ e dans include rtl_conf h Driver rt_com Communication par ligne s rie proposant une API POSIX Permet de se familiariser avec la construction d un driver complet et l utilisation du module posixio La communication avec les processus Linux se fait par l interm diaire de RT FIFO l int gration de leur gestion dans un driver est typique de ce mode utilisation Des tests son
28. e En effet en s int ressant aux Linux temps r el on est plong dans ce milieu en permanence Actuellement son activit est d bordante et il ne faut rater aucune annonce sous peine de vite voir ses connaissances p rim es par exemple la sortie pendant ces quatre mois de RTLinux V3beta et de RTAI V1 3 avec chaque fois de nouvelles fonctionnalit s de nouveaux drivers USB plus performants Cette activit de veille technologique me semble tr s importante l largissement du sujet de mon stage et ce rapport en sont le fruit 2 4 Techniques et connaissances mises en oeuvre Ce projet m a fortement int ress car tout au long de son d roulement j avais tou jours quelque chose de nouveau apprendre I m a permis de suivre au jour le jour les activit s d une communaut de programmeurs d utiliser et d alimenter l norme source de d veloppements communs En plus de connaissances techniques il m a fallu d ve lopper mon esprit de synth se en ne gardant que l essentiel et le pertinent de tous les renseignements pr sents sur Internet Syst mes d exploitation noyaux GNU Linux SuSE Red Hat RTLinux RTAI BlueCat Linux Lynx Inc D veloppement C C GNU outils GNU tar make API POSIX API RTLinux modules noyau Linux Pilotes carte TOR ISA carte son PCI port parall le Performances signal sonore et driver carte son API son caract risation temps r el benchmark FIG 2
29. e driver modifi Je conseille avant tout d veloppement dans le domaine du son de lire attentivement les documents mis notre disposition sur ce site http www opensound com Open Sound System TM Programmer s Guide 5 6 3 Le portage du pilote carte son Sound Blaster 128 PCI Le driver pour la carte son Sound Blaster 128 PCT est celui d velopp pour la puce d Ensoniq es1371 Il se trouve dans le r pertoire consacr au son dans l arborescence du noyau Linux sous le nom es1371 c Le pi ge viter est d utiliser le driver es1370 ou de chercher celui s appelant comme la puce pr sente sur la carte son i e es1373 Pour utiliser ce driver sous Linux il suffit de le s lectionner comme module lors de la configuration du noyau Il peut aussi tre utilis quand on travaille sous RTLinux en agissant exactement comme d crit pr c demment lors de la compilation du noyau patch pour RTLinux Le driver ne fonctionnera que dans l espace Linux et l on ne pourra lui soumettre aucune contrainte temps r el il a les d savantages de toutes les t ches tournant sous Linux et peut aussi tre pr empt par n importe quelle t che RTLinux Pour que ce driver ait un comportement d terministe il faut l adapter l environ nement RTLinux Ce qui signifie modifier les m canismes de gestion d interruptions synchronise_ irq signal_ pending ce qui concerne la protection de ressources dans le noy
30. e temps de latence est extr mement faible En effet les syst mes temps r el ont souvent besoin d un support r seau d une interface graphique d un syst me de fichier et ventuellement d un acc s une base de donn es Ceci peut tre fourni par un syst me d exploitation monobloc o tout service est int gr dans un environnement temps r el comme LynxOs Une autre solution est de consacrer une machine aux applications temps r el et y ajouter des services non temps r el comme cela est g r dans VXworks La troisi me voie adopt e par RTLinux est celle qui permet un micro noyau d ex cu ter le v ritable noyau Linux comme sa t che de plus faible priorit RT Linux impl mente en fait une sorte de machine virtuelle pour que le noyau Linux standard soit compl tement pr emptif Dans cet environnement toutes les interruptions sont initialement prises en compte par le noyau temps r el et sont pass es Linux seulement s il n y a pas de t che temps r el ex cuter FIG 5 1 Les diff rentes couches d abstraction RTLinux comme machine virtuelle pour Linux Pour minimiser les changements dans le noyau Linux les concepteurs ont mul le contr leur d interruptions mat riel Ainsi quand Linux d sactive une interruption celle ci est quand m me prise en compte par RTLinux et aiguill e vers une file d attente si elle n est pas utile au niveau du micro noyau Lorsque Linux r tablit la
31. ers pour carte ISA puis PCI les modes de programmation de telles cartes seront observ s avec attention Exemples et drivers permettent d aborder un aspect de la programmation dans un en vironnement RTLinux Ex hello Le traditionnel Hello World pour RTLinux Il permet de comprendre les m canismes de base de programmation et chargement des modules dans le kernel temps r el L installation d un module dans le noyau passe par l ex cution de la fonction init_ module contenant l allocation et l initialisation des ressources sys t mes Son pendant est la fonction cleanup_ module Documents RTLDIR exemples hello README Si c est le premier exemple tudi il est bon de regarder le Makefile et le fichier d finissant des constantes de compilation g n r par RT Linux rtl mk Ex frank Illustre le mode de passage de messages entre une application temps r el et une application utilisateur fonctionnant sous Linux Cette communication concer nant des donn es et des commandes s effectue par l interm diaire de RT FIFO Cet exemple est beaucoup moins trivial qu il en a l air Il permet en effet de comprendre en d tail le fonctionnement des RT FIFO et du m canisme d interruption logicielle et de handler associ s Du cot Linux le programme de r cup ration des don n es utilise l interface POSIX impl ment e pour les RT FIFO open read write close Cette application est aussi int ressan
32. es aux threads POSIX 4a Draft 8 P1003 1c mais remplace la gestion d un syst me de fichier par une simple interface d entr es sorties suffisant pour un noyau de cette taille RT Linux ajoute aussi un support SMP compatible avec cette norme Le principe de base de RTLinux reste selon ses concepteur de ne pas c der la compatibilit une quelconque perte de performance Cependant cet effort de normalisation est fait pour facilit le portage d applications dans l environnement RTLinux pour b n ficier du vivier de programmateurs d j ha bitu s POSIX et enfin pour simplifier la compr hension du code et l int gration dans l environnement GNU Linux Le module rt _ posizio est donc utiliser sans mod ration lors d criture de pilotes de p riph riques 5 3 Installation L installation se passe g n ralement sans encombre du moment o l on a d j compil un noyau Linux Les documents livr s avec la distribution sont assez bien faits Une attention toute particuli re va aux guides d installation comment s par Phil Wilshire lt philwil on ramp ior com gt que l on peut trouver la racine de l archive du moins partir de la version 2 Ce document est pr sent dans le recueil joint en annexes 24 5 4 Prise en main 5 4 1 Exemples Une attention particuli re sera port e l interface avec le mat riel exemples de dri vers Sachant qu il est demand d tudier des driv
33. eurs et r alisera un chiffre d affaires de 32 millions de francs au titre de l exercice 2000 1 1 Strat gie La soci t RTS est sp cialis e en ing nierie des syst mes dans le domaine des ap plications temps r el de l informatique embarqu e et de l informatique industrielle et se positionne sur deux secteurs d activit s compl mentaires l ing nierie d tude et de r alisation d assistance technique et de conseil la r alisation et la fourniture de syst mes informatiques d di s et la commercia lisation de produits standards appartenant au catalogue de divers constructeurs micro stations embarqu es cartes et syst mes VME PCI CompactPCI PICMG moniteurs LCD de classe industrielle panel PC 1 2 Ing nierie d Etude et de D veloppement d Assistance Technique et de Conseil Cr e par des ing nieurs poss dant une grande exp rience dans l tude et la concep tion de syst mes informatiques pour les domaines de la d fense et de l industrie RTS propose des services d expertise et de conseils couvrant les phases d tudes de d finition de besoins d analyse de conception et de r alisation de ces syst mes 1 2 1 Assistance Technique et Conseil R pondant aux besoins de grands syst miers les services propos s incluent la r daction de cahier des charges l assistance au d veloppement et la conduite de projet concernant la r alisation de grands syst mes d informa
34. here nbwr is an integer returned by the function the number of bytes written In the pdisol6 device driver user can give a byte wise or word wise buffer according to his choice of a single port reading or a dual one Controlling relay channels When a 1 is written to the output the common and the NO Normally Open pins of the relay are in contact User can switch a relay state setting a 1 or 0 to the right place within the byte or word wise buffer Then the buffer is written down to the board s register by the device driver s write call define CHANNELO 0x01 define CHANNEL1 0x02 define CHANNEL 0x80 int n u8 buffer 0x00 ioctl fd CHANGE_PORT PORT1 buffer CHANNELO Turn on channel 0 Less Significant Bit of the byte buffer amp CHANNEL1 Turn off channel1 n write fd amp buffer sizeof buffer Of course direct write is the simplest way to access the board registers int n u8 buffer 0xA3 channel 7 on off on off off off on channel 0 onx ioctl fd CHANGE_PORT PORT1 n write fd amp buffer sizeof buffer If the user wish to control only one channel state without changing the others he has to use the read function This example shows how to open channel 3 relay turn off ioctl fd CHANGE_PORT PORT1 read fd amp buffer sizeof buffer buffer amp CHANNELS Turn off channel3x n write fd amp buffer sizeof buffer 40
35. ibres lib ration du code source de son noyau Neutrino et mise la disposition de certaines applications Cette politique est appuy e par une volont de produire une APT commune aux Linux temps r el embarqu s se recadrant sur les normes POSIX 5 1 2 Le choix L une des caract ristiques du Logiciel Libre est sa libert Dans le domaine mer geant des Linux temps r el la multitude des offres requiert une tude approfondie des avantages et inconv nients de chaque syst me Cette tude doit aussi prendre en compte lInternet appliances divers appareils connect s Internet mais ne correspondant pas au sch ma classique d un ordinateur t l phone mobile minitel web refrig rateur 20 la notori t d un produit ses soutiens ventuels et leur solidit enfin le support de mise en oeuvre et de documentation disponible sur Internet Le choix de RTLinux par rapport RTAI s est impos dans cet environnement in dustriel pour plusieurs raisons Notori t RTLinux a t imagin en 1997 dans le d partement informatique du New Mexoco Institute of Mining and Technology Il a t utilis dans de nom breux projets universitaires et industriels et b n ficie donc d une large confiance Ainsi sa base de documentation et d aide en ligne est cons quente Le nombre de programmes actuellement disponibles sur Internet et les listes de diffusion d di es sp cialement 4 RTLinux ont aussi orie
36. jet est de cr er un syst me Linux le plus petit possible conte nant le maximum de fonctionnalit s serveur HTTP CGI FTP Telnet le tout tenant sur une seule disquette http www master cit be c27 index html LEM Linux EMbedded est une petite distribution bas e sur la Mandrake Elle fait tenir sur moins de 8Moctets un syst me complet contenant m me Xwindow Sur son site il est d crit comment ajouter le navigateur Netscape 4 et un serveur web 16 Cette distribution que j ai utilis e lors de l appel d offre STNA est formidable car elle met tous les outils n cessaires la disposition du d veloppeur La liste de diffusion propos e est assez active et le groupe est un acteur majeur des Linux embarqu s Je pense qu un syst me graphique plus petit serait en outre plus adapt que Xwindow http www embedded linux org Linux Router Project Un projet centr sur le r seau comme son nom l indique http www linuxrouter org Tomsrtbt disquette de boot secours circonstances critiques mauvais param trage de LILO crash disque Son insertion sur une disquette de 1 77Moctets lui per met de contenir beaucoup d outils avec les pages de man Tournant depuis un disque m moire il permet d utiliser tout PC comme une station de travail sous GNU Linux Il contient une configuration r seau un diteur de textes les uti litaires mount gzip La trousse de secours indispensable Il donne de plus une bonne id e
37. l nous faut Mais le noyau Linux est non pr emptif Une t che peut tre interrompue et mise en attente par le moniteur selon sa priorit En revanche un appel syst me ne peut tre interrompu il peut durer jusqu quelques centaines de milli secondes ex fork L impl mentation d un comportement temps r el dur avec le noyau Linux n est possible qu au prix de s v res modifications du code du noyau Cependant des projets ont vu le jour pour am liorer les performances temps r el mou de Li nux notamment dans le domaine du son On peut trouver de tels projets en partant de http www crosswinds net linuxmusic lowlatency html ou depuis la soci t MontaVista http www mvista com L approche bas niveau sera discut e dans la section 5 2 consacr e l architecture de RTLinux 4 3 Distributions et outils 4 3 1 Divers projets libres AlfaLinux est bas e sur la distribution Slackware et tient sur deux disquettes http alfalinux sourceforge net alfaeng php3 BYLD Build Your Linux Disk un paquet qui permet de g n rer des mini distributions Linux sur une disquette http get to byld CClinux tenant sur une disquette il utilise un maximum d outils GNU http www CosmicChaos com CClinux DosLinux un petit syst me d exploitation Linux qui peu tre install au dessus d un syst me Dos existant http gwyn tux org pub people kent robotti index html Emblin Le but de ce pro
38. le want to read portl then both ports digital input state u8 read_buffer_single_port u16 read_buffer_double_port ioctl fd CHANGE_PORT PORT1 if ioctl fd DIGITAL_INPUT amp read_buffer_single_port 0 rtl_printf Digital input PORT1 Ox x n read_buffer_single_port ioctl fd BOTH_PORTS if ioctl fd DIGITAL_INPUT amp read_buffer_double_port 0 rtl_printf Digital input PORT1 OxZ x n read_buffer_double_port Returned value The ioctl call returns 0 on success or 1 on fail In case of fail errno values are standardized by the include file lt asm errno h gt so that you can know what kind of problem has occurred If the driver has the required debug level you can also use the command dmesg to see in details where and why the ioctl call has failed Write call Description Writing the pdiso16 digital I O board means to change the state of the relay channels ie to change the connection between pins of the selected relay 39 Before making a write call to a special file device driver description file in our case the device must have been opened by the RTLinux task using the driver s open function call which may look like fd open dev pdiso O_ NONBLOCK Then to make any write call user has to indicate the file descriptor int fd that has been returned by the open function a command buffer and its size The call then may look like nbwr write fd amp buffer sizeof buffer w
39. les pilotes de p riph riques utiliser une ou plusieurs applications ventuellement un des processus interactif s shell pour commencer le travail il n y a pas souvent de processus de login sur un syst me embarqu Et de nos jours on utilise assez souvent un syst me de fichier Sur disque dur ou Flash ROM disque RAM une pile r seau TCP IP une interface graphique Linux peut apporter d une part un noyau r pondant toutes les exigences d un syst me embarqu r duction de taille jusqu 300 Koctets d autre part l ensemble des services utilisateurs imaginables Linux peut convenir aussi bien un quipement taille ultra r duite qu un gros serveur d applications mais l adaptation un pico syst me demande beaucoup plus de malice et de travail mais il faut aller chercher les outils de taille r duite car ils ne sont pas habituellement fournis dans les distributions standards http www embedded linux org constitue un excellent portail pour les recherches d outils de taille r duite voir 4 3 3 4 2 Pourquoi GNU Linux 4 2 1 Avantages Gratuit l achat et pendant l exploitation runtime license c est l avantage le plus populaire des logiciels libres et tout le travail de la Communaut est de rappeler que libre gratuit Code modifiable volont du moment que les modifications sont mises dans le do maine public Ceci permet d adapter son syst
40. m diaire d une 26 FIG 5 2 Les registres de contr le commande du port parall le Num ro de bit Nom registre statut Nom registre commande Busy a O AR na y __NOPAPER Input mode enable SELECTED Interrupt enable 7 TAB 5 1 Nom des bits des registres de contr le et de statut RT FIFO Celui ci doit tre en attente de lecture sur cette FIFO Le processus Linux peut alors afficher le changement d tat de la broche Un autre moyen de mesurer les changements sur la broche ACK consiste installer un gestionnaire d interruptions sur l interruption 7 Cette autre solution dispense de l usage d une t che p riodique Dans les deux cas la fonction init module s occupe de lancer la t che Il suffit de cr er les FIFO la routine de gestion d interruption ventuellement la t che et enfin de d finir sa priorit et p riodicit s il y a lieu La valeur de la p riode est exprim e comme toutes les grandeurs de RTLinux en nano secondes Ceci permet de s initier au fonctionnement de PAPI RTLinux pour ce qui est de la gestion du temps de la cr ation de t ches p riodiques Pour l autre m thode on aborde la prise en compte d interruptions mat rielles et la mise en place de routines de traitement interruptions Comme les applications communiquent par RT FIFO ce m canisme est aussi maitris 5 5 Codage test d un pilote carte TOR L objectif est ici de
41. me ses besoins d avoir des exemples pour un d veloppement similaire Mais aussi cette caract ristique est importante pour am liorer s curit et fiabilit les failles et erreurs sont rapidement rep r es et corrig es par la Communaut Co ts de formation et maintenance faibles car GNU Linux est bas sur POSIX les administrateurs UNIX ont peu de mal l aborder Syst me d exploitation fiable m moire prot g e Un large ventail de protocoles langages pilotes syst mes de fichiers interfaces gra phiques sont support s par cet OS La liste des langages est par exemple absolument impressionnante il manque seulement Visual Basic 14 4 2 2 Inconv nients Linux n est pas un micro noyau il en r sulte que la taille minimale qu il peut at teindre n est pas aussi impressionnante que celle du noyau de QNX Neutrino quelques dizaines de Koctets Mais d une part les contraintes d empreinte m moire sont moins drastiques qu il y a quelques ann es car on utilise maintenant des composants stan dards et grand public La RAM est souvent bien sup rieure a 4 Moctets et des Flash de 32 Moctets atteignent des prix raisonnables d veloppement des appareils photos nu m riques balladeurs MP3 De plus Un micro noyau a besoin de nombreux modules p riph riques pour fonctionner la taille totale augmente alors tr s vite Pour les adeptes du concept il faut s int resser de pr s 4 Hurd
42. ne solution Linux temps r el Finite State Machine Labs http www fsmlabs com Lineo http www lineo com un des acteurs majeurs du Linux embarqu en tr s forte expansion Produit Embedix http www lineo com products embedix html Lineo rach te de nombreuses soci t s en relation avec les Linux embarqu s dont Zentropix http www zentropix com un acteur principal ou une petite soci t fran aise INUP http www inup com sp cialis e dans la mise en place de clusters haute disponibilit sous Linux Cygnus http sourceware cygnus com pour les produits EL IX http sourceware cygnus com elix une API se voulant unificatrice des Linux temps r els et eCos http sourceware cygnus com ecos un micro noyau temps r el configurable Synergy Microsystems http www synergymicro com linux html et sa distri bution bas e sur RTLinux du FSM Labs Industial Linux 4 3 3 Les utilitaires de taille r duite ae petit diteur de textes ash tr s petit Bourne shell Busybox petit programme binaire qui fournit la quasi totalit des commandes POSIX de base i e cat cp mv ls cd mount Il est employ dans la plupart des mini distributions Linux Router Project LEM et par l installation de Debian Son d veloppement est sponsoris par Lineo elvis tiny un autre diteur de textes de style vi iproute rempla ant de ifconfig route etc Petit il apporte aussi des fonctions avanc es TinyLogin suite d
43. ng Each port can be accessed following this rule int n u16 buffer ioctl fd BOTH_PORTS 41 n read fd amp buffer sizeof buffer if n gt 0 u8 port_one buffer amp OxOOFF PORT1 The lowest byte of the wo u8 port_two buffer amp OxFF00 gt gt 8 PORT2 The highest one rtl_printf port_one 0x 4x port_two 0x x n port_one port_two Calls from Linux user space using RT FIFOs RT FIFO implements message passing through rt kernel space This kind of commu nication makes me think of QNX s except that it is non blocking which is a pretty big difference Another difference is that rt fifos are uni directional User must exchange data through a pair of rt fifos for bi directional communication My device driver requires 2 rt fifos In a first time user has to open his 2 rt fifos if Fd_Rd open dev rtf0 O_RDONLY lt 0 fprintf stderr Error opening dev rtf0 for reading n fprintf stderr RT Linux module not active n n exit 1 Same thing for the other direction Fd_ Wr open dev rtf1 O_WRONLY Then he has to construct his message filling a data structure It is described in the com h header file Messages sent to rtlinux module typedef struct u8 what ui6 value Message_struct define MESSAGE_SIZE sizeof Message_struct Example command the relay channels Message_struct Send_Cmd Send_Cmd
44. nse GPL de la Free Software Fundation FSF Cette licence qui r git le syst me d exploitation GNU Linux stipule entre autre que chacun est libre de copier distribuer et modifier gratuitement les logiciels qu elle prot ge La seule condition requise est que les codes sources soient galement fournis en cas de redistribution et que les noms des pr c dents auteurs perdurent lors de modifications Ce nouveau march pour IRTS permet non seulement de gagner des parts aupr s de nouvelles entreprises mais aussi de conforter leurs actuelles relations commerciales En effet les grands int grateurs et syst miers s int ressent de plus en plus aux possibilit s qu offre le syst me d exploitation GNU Linux Son int gration comme syst me embarqu prend de l envergure D autre part le code source des pilotes de p riph riques notamment est utilis pour effectuer des portages vers d autres syst mes d exploitation LynxOS AIX QNX Un d veloppement sous un syst me d exploitation autre que GNU Linux peut donc b n ficier du travail fait par la Communaut du logiciel libre car un portage est plus ais qu une cr ation Il sera alors n cessaire de suivre tout de m me les termes de la GPL Licence publique GNU entre autre de mettre les modifications apport es un code source libre la disposition de la Communaut GNU qui signifie GNU is not UNIX est le nom d un projet de la Free Software Fundation qui a
45. nt le choix On peut partager ce point de vue avec http www student dtu dk u990873 RTAI est cr par l quipe de Paolo Mantegazza au d partement d ing nierie a rospatiale du Politecnico di Milano partir de RTLinux Ce noyau est lui aussi utilis en entreprise Zentropix Lineo et tend 4 rattraper son retard de notori t Rapidit de d veloppement RT Linux est compos d une API de moins de 70 fonctions dans sa version 2 2 Il est donc facile de se familiariser avec ce syst me et de d velopper rapidement une application De plus depuis la version 2 RTLinux se rapproche d une impl mentation des normes POSIX voir 5 2 2 RTAI offre des fonctions beaucoup plus complexe et se rapprochant de celles d un RTOS classique mailbox mutex variables condition m moire partag e et RPC De ce fait il est plus difficile d approche D autre part RTAI est rest sur la base d une API propre proche de celle de RTLinux V1 avec seulement une compatibilit POSIX Ic qui correspond au mod le de Threads POSIX Processeurs support s RTLinux int gre depuis sa version 2 le support de ma chines multiprocesseurs SMP et est en phase de validation sur des architectures PPC Power PC Un portage sur MIPS est aussi envisag RTAI a t le premier des deux syst mes 4 avoir un support SMP mais reste cantonn a une architecture x86 Du fait des ses nombreuses fonctionnalit s de son support du temps r el
46. nt gration sur des standards ouverts PCI USB la multiplicit des interfaces d velopp es r seau entr es sorties num riques ou analogiques son image processeurs de signal et surtout leur co t font que ce type de mat riel prend une place de plus en plus importante sur ce march Ces avantages proviennent du fait qu il est produit en masse par de multiples entreprises tout autour du globe De part son gain de notori t GNU Linux s installe sur de nombreuses plates formes diff rentes de son nid d origine PC x86 On peut aussi trouver Linux cod pour les pro cesseurs PPC 68k Alpha MIPS certains microcontr leurs ARM SPARC travaillant sur des architectures VME CompactPCI PC 104 4 1 2 Plates formes logicielles Nous avons vu que les caract ristiques et besoins d un syst me embarqu variaient beaucoup selon leur utilisation N anmoins on peut d crire les composants essentiels dont un syst me embarqu a besoin un utilitaire de lancement LILO BlueCat OS loader GRUB 13 un noyau compos d un gestionnaire de m moire de processus et de temps le noyau Linux lui m me r duit sa plus simple expression un processus d initialisation init sous Linux qui peut tr s bien tre remplac par un script de lancement voir le miniHOWTO Embedded Linux de Paul Moody Afin que ce syst me puisse faire quelque chose d utile pour le monde r el on doit ajouter
47. nt le temps de changement de contexte Toutes les ressources d une t che RTLinux sont allou es statiquement exemples m moire fifo La r gle primordiale des d veloppeurs sous RTLinux doit tre Si un service est intrins quement non temps r el il doit tre fourni par Linux et non par les modules RTLinux 1 Ceci s applique naturellement aux pilotes de p riph riques device drivers qui s ils n ont aucune contrainte temps r el tenir restent inchang s Ils doivent tout de m me tre recompil s dans l environnement RTLinux D_ RTL et rtl mk s ils emploient les routines cli sti 5 2 1 Composants du syst me RTLinux version 2 est structur comme une partie centrale minimale sur laquelle vient se charger tout une collection de modules qui fournissent des services optionnels ou des niveaux d abstraction Ces modules sont par exemple 1 rtl_ sched un moniteur fonctionnant sur un mode exclusivement prioritaire 2 rtl_ time qui g re l horloge processeur et fournit des services autour de l utilisation du temps timers routine de traitement d interruptions 3 rtl_ posirio fournit une API de style POSIX read write open pour interfacer les pilotes de p riph rique 4 rtl_ fifo connecte les mondes RTLinux et Linux au travers d une interface device permet l change de donn es et commandes 5 semaphore est un paquetage permettant d utiliser mutex semaphores et IPC blo
48. ommand can receive many arguments specific to the module After being loaded the device driver module must be associated with devices files which will be used by user programs This is made with the command mknod deuname c major minor This action can be avoided if this file is already created with its proper major and minor numbers Parameters An optional parameters can be specified when you load the pdiso16 device driver with the insmod command The loading command will looks like run being root insmod pdiso16 0 PDISO16 base_ adr adr PDISO16_ major major PDISO16_base_adr As The cio pdisol6 board can be installed at several address location the base address switch sets the starting I O location where the CPU 36 can access the registers of the board The factory default is 300 hex 768 decimal If you already have a board installed at address 300 hex choose a new address from those available on your computer and set the switches User can specify board address by adding PDISO16 base _adr adr at the end of the loading com mand It must be presented in a hex format e g PDISO16_base_adr 0x300 In case of no PDISO16_base_adr parameter a board with the default address IO_BOARD_ADR specified in the pdiso16 h header file will try to be loaded To see which I O space is already use by devices you can look at the proc ioports file PDISO16 major The major number for the pdisol6 device driver can be set to another value In
49. port 28 au signal initial La fr quence d chantillonnage sampling rate est le nombre d chantillons r alis s par unit de temps exprim e en Hertz Une petite fr quence d chantillonnage produira une repr sentation moins fine du signal analogique d origine dans le sens o les fr quences aigu s ne seront pas ou mal restitu es La th orie Th or mes d chantillonnage ou de Shannon nous enseigne que pour restituer correctement une fr quence sonore de Fm Hz il faut effectuer un chantillonnage au moins gal 2 x Fm Hz Ainsi l tendue du spectre sonore audible par un humain qqHz 20 kHz sera bien restitu e par un chantillonnage 44100 Hz norme CD AUDIO La dynamique est le nombre de bits d chantillonnage qui conditionne l tendue des valeurs utilisables pour repr senter chaque chantillon Il s agit du rapport entre le niveau sonore le plus fort restituable sans distorsion et le niveau de souffle ou de bruit inh rent au mat riel de restitution Cette plage dynamique est exprim e de mani re logarithmique en d cibels dB En th orie lorsque l on ajoute un nouveau bit de codage pour chaque chantillon on double cette plage ce qui correspond un gain en dynamique de 6 dB Pratique Les cartes son utilisent typiquement un codage sur 8 ou 16 bits pour des fr quences d chantillonnage allant de 4000 44100 ou m me 48000 Hz L chantillonnage pouvant tre r alis s
50. r written by Integrated Real Time Systems RTS The driver has been implemented as a Linux loadable module for RTLinux 2 2a 2 2 14 Linux kernel This document explains the functionalities of the pdisol6 device driver and the programmer s C interface library for it http www computerboards com http www computerboards com The pdisol6 device driver main features are Access from RTLinux thread A RTLinux thread can use the pdisol6 device driver through the posixio API Thus calling well known open close read write and ioctl functions from a rt thread the user can access all the resources of the pdisol6 board Access from Linux user space A Linux user space process can access the pdiso16 device driver using 2 RT FIFO one to send instructions the other to receive a response or acknowledgment It just have to use the communication structure described in the com h header file Message_ struct The response or acknowledgment to its answers are also sent in such a structure 35 Note that the process have to use specialized command codes and ioctl command constants to communicate with the device driver Byte wise 8 bits command and sensing on relay channels User can set read any relay state using the read write functions The port number is specified by a call to toctl function with the CHANGE PORT command and the PORT1 PORT2 argument A precise channel can be accessed through logical op ration
51. s Note that the LSB of the byte is always associated with the lowest channel of the group Word wise 16 bits command and sensing on relay channels User can set read all 16 channels state using the read write functions This mode can be specified by a call to ioctl function with the BOTH PORTS command Note that the LSB of the byte is always associated with the lowest channel of the group the lowest byte is associated with PORT1 and the higher with PORT2 Byte wise and word wise sensing on optically isolated digital input channels User can read any differential digital input channel s state using an ioctl call with the DIGITAL INPUT command Result is returned in the arg field of the ioctl function User can ask a single port or a word wise reading using the same ioctl commands CHANGE PORT or BOTH_ PORTS Note that the LSB of the byte is always associated with the lowest channel of the group the lowest byte is associated with PORT1 and the higher with PORT2 pdiso16 kernel module Loading init module Mechanism Linux kernel modules are specially made to be pieces of kernel that can be loaded and unloaded dynamically while the kernel is running These appear as object files modname o and are loaded with the command insmod modname o arguments This operation runs the initialization of the device s and gives a major number to the device driver This one can be found in the proc devices file The c
52. s r pondant aux exigences du client en termes de contraintes d exploitation de fonctionnalit s ou de performances Cette activit consiste tudier concevoir produire et assembler en fonction d un besoin client des syst mes compos s de produits standards du commerce ou d velopp s la demande ces syst mes informatiques sont adapt s aux besoins du client en terme de standard choisi de caract ristiques physiques ou lectriques de configurations mono ou multiprocesseurs d entr es sorties de syst mes d exploitation et de packagings En terme de march ces syst mes sont mis en oeuvre dans des domaines pour lesquels les calculateurs classiques ne sont pas toujours les mieux adapt s ou les plus comp titifs La soci t a par ailleurs d velopp et commercialise depuis mai 1998 une gamme de moniteurs a crans plats LCD du 14 VGA au 20 UXGA r pondant aux exigences du march de l informatique embarqu e et industrielle mat riaux tenue aux chocs et aux vibrations tanch it l eau et la poussi re ergonomie 1 3 Positionnement March IRTS travaille en partenariat avec des soci t s de services de grands int grateurs et des syst miers afin de satisfaire dans les meilleures conditions la demande de ses clients et de proposer les solutions les mieux adapt es leurs besoins Le march du logiciel libre Le logiciel libre repose essentiellement sur la GNU General Public Lice
53. t me d exploitation embarqu 4 1 Embarqu De plus en plus d objets quotidiens embarquent avec eux de l intelligence Un ordi nateur embarqu se d finit g n ralement par le fait qu il n est pas visible en tant que tel mais est int gr dans un quipement dot d une autre fonction on dit aussi que le syst me est enfoui ce qui traduit plus fid lement le terme anglais embedded Un inventaire la Pr vert serait n cessaire pour citer les syst mes informatiques embarqu s que nous utilisons quotidiennement gestion de l ascenseur auto radio cal culateur d air bag distributeur de boissons routeur Internet ou t l phonique t l phone mobile distributeur de billets une console de jeux une carte graphique bient t un raton laveur car le chien lectronique existe d j Nous voyons bien que les contraintes impos es tous ces syst mes ne sont pas les m mes qu y a t il de commun entre un satellite et une imprimante part le fait de contenir des processeurs On peut classer les acteurs de l informatique embarqu e suivant de multiples crit res Secteur d activit quipements scientifiques Performances fiabilit co t quipements militaires et a rospatiaux Performances fiabilit p rennit int gration 7 es 7 7 Transports Fiabilit co t interactivit 7 7 7 7 Ceci implique une diversit certaine des architectures mat rielles 4 1 1 Architectures
54. t disponibles testcom c et com _ posix c documents RTLDIR drivers rt_com rt_com html README RTL Driver mbuff pilotant dev mbuff qui est le p riph rique de m moire partag e document RTLDIR drivers mbuff MANUAL Module IPC Permettant d utiliser semaphores d exclusion mutuelle et compte queues de messages et suppl ment de fonctionnalit s pour les RT FIFO mode bloquant et timeouts document RTLDIR s maphores README 5 4 2 Utilisation du port parall le La meilleure fa on de se familiariser avec un syst me temps r el est quand m me de l utiliser pour sa raison d tre interaction avec le monde r el Or quelle interface avec l ext rieur est mieux adapt e que le port parall le pour faire des entr es sorties num riques Disponible sur la plupart des PC il est simple programmer on peut n anmoins s initier l utilisation de deux modes de fonctionnement polling et interruptions tout en mettant en pratique les fonctions primordiales de API RTLinux Attention toutefois ne pas endommager le composant car il est implant sur la carte m re un court circuit ou une mauvaise alimentation en 5V pourrait gravement l endommager La mani re la plus simple de mesurer l tat de la broche ACK du port parall le est de cr er une t che p riodique qui se charge de lire l tat du bit Quand on d tecte que la valeur a chang on envoie un message un processus Linux par l inter
55. te functions applied on both relay ports word wise bit manipulation cmd DIGITAL_INPUT read differential digital inputs result stored at address in dicated by the arg parameter CHANGE PORT BOTH PORTS and DIGITAL INPUT are unsigned char u8 va lues declared on com h com h ioctl cmd constants define CHANGE_PORT OxA1 define BOTH_PORTS O0xA2 define DIGITAL_INPUT 0xA3 Argument parameters arg The arg parameter is used on the one hand to select a port when the CHANGE PORT command is used on the other hand to get back the value of the digital input channels Selecting port constants In com h header file ioctl arg constants define PORT1 0 define PORT2 1 Example want to read port2 relay state 38 u8 buffer u8 byte wise variable unsigned char int err n err ioctl fd CHANGE_PORT PORT2 if err 0 n read fd amp buffer sizeof buffer if n gt 0 rtl_printf port2 Ox x n buffer Reading the digital input channels I decided to use an ioctl call to read these I O ports instead of adding another device Although it can be done easily The command used is DIGITAL INPUT to signal the driver it has to read its digital input channels and to get back the value in the result buffer Note that the result buffer must be sized according to the number of port you want to read byte wise for an only port reading word wise for a dual port reading Examp
56. te car elle impl mente un select m canisme d coute sur les deux RT FIFO ouvertes charg es de communiquer avec ce processus Linux Ex mesurements Calcule la latence min et max donc la gite jitter max ensemble des max min Une t che temps r el p riodique est lanc e on r cup re le temps pr vu pour l ordonnancement et le temps d horloge au moment de ce changement de contexte En faisant la diff rence des deux on trouve le temps de latence Ex regression Comme dans l exemple pr c dant il s agit ici de mesurer le temps de latence de diff rentes fagons Le module est charg en prenant pour base de temps soit un timer RTLinux soit directement lhorloge temps r el RTC du PC Le temps coul fait claquer une interruption prise en compte par le handler qui calcule la latence et l affiche ou la transmet 4 un processus Linux de pr sentation Les interruptions prises en compte sont soit mat rielles dans le cas de l utilisation de la RTC soit logicielles utilisation de timers temps r el Ex sound Mise en place d un handler pour les interruptions provenant de l horloge temps r el du PC RTC real time clock pr alablement programm e Le handler se charge d allumer ou teindre le haut parleur du PC en fonction du niveau des chantillons re us par la RT FIFO En effet un fichier au format au est envoy au processus temps r el qui r cup re dans la fifo un chantillon de 8 bits
57. tion logiciel pr pond rant 1 2 2 Ing nierie d Etude et de D veloppement Le savoir faire de la soci t dans ce domaine r side dans sa capacit assembler des syst mes multi cartes parfois multi CPU et multi OS Sous l aspect mat riel les standards maitris s par JRTS sont relatifs aux architectures VME et PCI d clin es sous leurs diff rents facteurs de formes simple et double Europe Compact PCI PMC PICMG Sous l aspect logiciel l int gration de solutions s op re sous des syst mes d exploita tion Unix AIX Solaris Linux Windows NT ou temps r el LynrOS VrWorks Les d veloppements correspondants concernent la r alisation de drivers unitaires de cartes E S r seaux video etc implantation de protocoles sp cialis s ou encore l assis tance l int gration d applications La soci t a pour objectif de d velopper ses activit s autour des logiciels libres il lui faut donc valuer de tels produits pour pouvoir proposer ses clients une solution logicielle base de RTLinux ou BlueCat Linux C est dans cette partie de la soci t que s est d roul mon stage chez IRTS 1 2 3 R alisation de syst mes d di s et Technologies Informatiques En compl ment de ses activit s de services et d ing nierie ZRTS se positionne comme quipementier informatique et fournisseur de produits COTS COTS Products Com mercial On The Shelf ou de syst mes temps r el d di
58. train d crire espace RT ou Linux noyau utilisateur Un sch ma est toujours utile dans de telles situations Fic 5 3 Fonctionnement du pilote de carte PDISO16 dans l environnemnt RTLinux 5 6 Portage et test d un pilote carte son Pour ce driver il a fallu mettre en oeuvre beaucoup plus de notions de temps r el La partie documentation a donc t cons quente pour l approche du signal sonore trait par une carte son dans un environnement GNU Linux puis pour les changements apporter en vue d un comportement d terministe 5 6 1 Le son sous GNU Linux Th orie Le son est un ph nom ne analogique il se traduit par une valeur quelconque sur une chelle continue Les ordinateurs fonctionnent en num rique ils utilisent des valeurs discr tes Les cartes son fonctionnent gr ce un composant appel Convertisseur Analogique Num rique A N ou ADC en anglais afin de convertir les tensions correspondantes aux ondes sonores analogiques en valeurs num riques qui peuvent alors tre stock es dans la m moire de l ordinateur De m me un Convertisseur Num rique Analogique N A ou DAC en anglais convertit les valeurs num riques en une tension analogique qui peut alors tre amplifi e pour attaquer un haut parleur et produire du son La conversion analogique num rique chantillonnage ou sampling en anglais g n re des erreurs Deux facteurs d terminent la qualit du signal chantillonn par rap
59. uction Le monde des Linux temps r el profite de la popularit du syst me d exploitation GNU Linux Il b n ficie donc de l immense base de documentation que repr sente Inter net D autre part sa particularit et son exploitation dans des conditions bien pr cises de l informatique industrielle lui conf re une place bien part du grand tumulte Linux Cette place l cart ne l emp che pas de faire parler de lui Plusieurs initiatives ont vu le jour pour adapter Linux au temps r el dur 5 1 1 Les signes avant coureurs d un succ s venir Le march de l embarqu en pleine explosion du fait de la croissance des Internet appliances Mais attention embarqu ne veut pas dire coup s r temps r el Les grandes entreprises historiques du monde Linux s int ressent de pr s au temps r el RedHat http www redhat com rach te Cygnus http sourceware cygnus com Lineo http www lineo com rach te Zentropix http www zentropix com Pareillement Lynx http www lynx com s inscrit dans une politique fortement orient e vers Linux BlueCat http www bluecat com et LynxOS 4 0 Les autres acteurs de l informatique embarqu e temps r el plaident en faveur d un rapprochement ou d une compl mentarit entre leur syst me propri taire et Linux 5 On peut cette occasion citer QNX http www qnx com qui a ces derniers mois rapproch sa strat gie de celle des logiciels l
60. ur une voie mono ou deux st r o voire plus 8 16 pour des cartes professionnelles Les pilotes de carte son utilisent des m canismes bien particuliers pour fournir au bon moment les chantillons n cessaires au convertisseur de la carte 5 6 2 pourquoi le son requiert un comportement temps r el Quelques petits calculs s imposent cet endroit de la discussion en effet il faut savoir quel est le d bit de donn es transf rer dans la carte son pour que celle ci puisse avoir l chantillon qu il lui faut au bon moment Un chantillon manque se produit alors un cr pitement du signal sonore D bit dynamique fr quence d chantillonnage nombre de voies Signal 8kHz cod sur 8 bits mono 8000 1 1 8000 octets s Signal 44 1kHz cod sur 16 bits st r o 44100 2 2 176400 octets s format qualit CD Avec le d bit de donn es et la taille du buffet allou au stockage on peut d duire la fr quence laquelle il faut remplir le buffer probl me classique de la baignoire qui se vide d bit constant cher tous les coll giens 2soit 4 5Mo pour 10mn de musique 3Soit 100Mo pour 10mn de musique Heureusement qu il existe des syst mes de compression pour les fichiers sonores Mais ceci n est pas notre propos buffer en anglais et dans la suite de mon propos 29 Il ne faut pas de d lai entre la fin d un paquet d chantillons contenus dans un
61. us PPC Power PC processeur d velopp conjointement par IBM et Motorola RTAI Real Time Application Interface interface applicative temps r el RTLinux Real Time Linux Linux temps r el RTOS Real Time Operating System Syst me d exploitation Temps R el SMP Symmetric Multi Processing Architecture d ordinateur base de multiples pro cesseurs travaillant en parall le x86 Processeur compatible avec le jeu d instruction de l Intel 8086 33 Troisi me partie Annexes 34 RT Linux device driver for Computer Boards CIO PDISO16 digital 1 O board Introduction The CIO PDISO16 is a digital I O board that has 2 8 relay channels and 2 8 digi tal inputs It is designed for control and sensing applications where a few points of high voltage need to be sensed or controlled The 16 outputs are electromechanical relays The contacts are rated at 6A 120V A C or 28V D C resistive load The relays are controlled by writing to two 8 bit ports The state of the relays may be determined by a read from the control port address There are 16 individual optically isolated 500V inputs that may be read back as two 8 bit bytes The inputs are not polarity sensitive and may be driven by either A C 50 1000 Hz or D C in the range 5V 24V Programming is accomplished by writes and reads to the 8 bit ports Each bit indicates the state of an input or controls an output Pdisol6 is the RT Linux device drive
62. uvre Conclusion Dossier Technique GNU Linux comme syst me d exploitation embarqu Lil Empargu T padoe arte Latine Ms tapes 2 Morale ee Weave bee 4 1 1 Architectures mat rielles 4 2 Pourquoi GNU Linux i dns pe dee Rh we ee cine des Ds less Avantages a DR BS Ne Ge BS At Rv ne Baas Dike Ge ee ADD INCOnVeTIenis lt Puits op Atk eae eae Rates Sa Lans 4 2 3 Embarqu temps r el ee ks mardis Se Se eS we 44 4 3 Distributions et outils eal tele ala tele amp fare SE alae oe one 4 3 1 Divers projets libres 5e Li se Ass sis So oe 4 3 2 Solutions d entreprises commerciales il wo N ND bw QO A 4 3 3 Les utilitaires de taille r duite 4 3 4 Outils documentaires 5 Les Linux Temps R el 9 1 9 2 5 3 5 4 5 5 5 6 Tntrod uction nes y ne a Bae ons ae So ee eee res 5 1 1 Les signes avant coureurs d un succ s venir led TO Ch Oe Mers nano ne Ne NE a ye BG Fans 5 1 3 Portail web pour le monde des Linux temps r el 5 1 4 Les sites des distributions historiques RTLinux Architecture 5 2 1 Composants du syst me 5 22 RI Linux et POSIX 3 6 38 Ge Sub a Eds ati AAS GUE ONL 8 sce ao ened Se ce RP A Ne CRE Us Prise n main Liber Pe ed ek ee hs eS See Goh one Dalle CEXEmpleS Sen SE eae ale Se ei ogg Mids Sos
Download Pdf Manuals
Related Search
Related Contents
CAD-0208 Series Communication Appliance Apple i-clicker Mouse User's Manual Corsair H2100 USER MANUAL Transient Test System Freedom 6000 - Manual User Manual Copyright © All rights reserved.
Failed to retrieve file