La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Haute École de la Province de Liège Catégorie Technique Bachelier en Informatique et Systèmes  Finalité Informatique Industrielle H.E.P.L. - Séminaire.

Présentations similaires


Présentation au sujet: "Haute École de la Province de Liège Catégorie Technique Bachelier en Informatique et Systèmes  Finalité Informatique Industrielle H.E.P.L. - Séminaire."— Transcription de la présentation:

1 Haute École de la Province de Liège Catégorie Technique Bachelier en Informatique et Systèmes  Finalité Informatique Industrielle H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

2 Construction, chargement et mise au point d’images systèmes sous QNX David Bourlard et Nicolas Dumont H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

3 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

4 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

5 Finalité Industrielle Informaticien Spécialiste des systèmes informatiques ◦ Supervision ◦ Programmation des interfaçages ◦ Systèmes embarqués Compétent dans le domaine du contrôle temps réel de dispositifs extérieurs à l’ordinateur. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

6 Objectifs L.I.I. Systèmes temps réels Supervision Systèmes embarqués Traitements d’images H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

7 Cours de Systèmes Embarqués 3 ème année. Techniques informatiques vues dans les autres cours  Cours spécifique aux systèmes embarqués H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

8 Objectifs du cours Objectif principal : ◦ Constructions d’images systèmes Objectif complémentaire : ◦ Mise en œuvre d’un microcontrôleur sans O.S. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

9 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

10 Système QNX « Neutrino » (6.3.2) API POSIX 1003.1-2001 1003.1c (threads), 1003.1b, 1003.1d et 1003.1j (extensions temps réel) Hard Realtime < 10µs ARM, MIPS, PowerPC, Hitachi SH-4, x86. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

11 Système QNX « Neutrino » Module d’exécution de base « procnto » = µnoyau (gestion message-passing et signaux) + process manager (gestion processus, IPC, mémoire et noms de répertoires) ≃ 45Ko Processus ajoutés au besoin Débogage standard avec gdb Compilateur gcc procnto H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

12 Système QNX « Neutrino » Message-Passing Interface: primitive de communication interprocessus (IPC) fondamentale Mécanisme synchrone (messages) ou non (événements) H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

13 Système QNX « Neutrino » support de la MMU (Memory Management Unit): espace mémoire de chaque processus isolé protection H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

14 Système pré-emptif QNX « Neutrino » Pré-emption et interruptions supportées jusque dans les appels systèmes PREEMPT

15 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

16 Création d’une image système H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

17 Composition d’un fichier.bld H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

18 Fichier.bld [virtual=x86,bios +compress].bootstrap = { [+keeplinked] startup-bios -s 64k -A PATH=/proc/boot LD_LIBRARY_PATH=/proc/boot:/dev/shm em:/usr/lib:/lib procnto } [+script].script = { procmgr_symlink../../proc/boot/libc.so /usr/lib/ldqnx.so.2 devc-pty & devc-con -n2 & reopen /dev/con1 [+session] TERM=qansi uesh & } libc.so /lib/libm.so.2 /lib/libsocket.so.2 [code=uip data=copy perms=+r,+x] /x86/usr/bin/gdb ls echo pdebug devc-pty # elem [+raw]/home/testrt/BM/Prog devc-con uesh H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

19 Tailles d’images Simples Images minimales : ◦ De l’ordre de 200 Ko pour l’image la plus simple. Images créées au laboratoire: ◦ Jusqu’à 1,3 Mo pour l’image contenant le débugger gdb. ◦ 600Ko ~ 1 Mo pour l’image permettant le débugging via la ligne série ou le réseau. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

20 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

21 Debugging local sous QNX Débogage de processus local avec gdb, sur systèmes PC et embarqué: Programme compilé avec option ‘-g’ (taille passe de 7,5 à 25Ko). H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

22 Debugging distant sous QNX Informations de débogage et code source restent sur le système hôte. Exécutable à analyser téléchargé vers le système cible. programme H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

23 Debugging distant sous QNX 1) ligne série 2) réseau ethernet en ligne de commande 3) réseau ethernet dans l’IDE QNX Momentics H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

24 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

25 DiskOnChip (EEPROM XIP bootable apparaissant comme disque dur grâce au pilote TrueFFS) DiskOnModule (EEPROM reconnue nativement comme disque dur IDE/SATA) Clé USB Images système sur mémoire flash H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

26 Images système sur mémoire flash Méthode en utilisant l’utilitaire ‘fdisk’: 0) [pour le DiskOnChip, charger le pilote TrueFFS] 1) Créer une partition QNX 2) Positionner le ‘boot flag’ 3) Initialiser la partition 4) Ecrire le chargeur de démarrage QNX 5) Monter la partition 6) Copier l’image système préalablement créée, sous le nom ‘.boot’ H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

27 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

28 Démarrage via réseau: BOOTP ‘Bootstrap Protocol‘ : la machine qui démarre découvre 1) son adresse IP 2) adresse IP serveur 3) adresse IP passerelle 4) nom d'un fichier à charger en mémoire pour exécution. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

29 BOOTP request 0.0.0.0:67 255.255.255.255:68 BOOTP reply Client IP + Server IP + Gateway IP + Boot File Name Client Server ARP requests BOOTP requests Client IP:67255.255.255.255:68 BOOTP replies Client IP + Server IP + Gateway IP + Boot File Name ARP request TFTP read request TFTP read reply (image transfer) ARP reply

30 1) Disquette Etherboot (boot loader open-source palliant à l’absence de ROM PXE de certaines cartes réseau) 2) BIOS de PC et de système embarqué ->erreur TFTP si image >512Ko 3) pxegrub: petite image pour démarrage sur le réseau Démarrage via réseau: bootp H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

31 BOOTP requests BOOTP replies Client Server ARP requests TFTP read request TFTP read reply (pxegrub transfer) ARP reply TFTP read request TFTP read reply (QNX system image transfer)pxegrub

32 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

33 Développement croisé Création d’une image pour une cible ARM depuis l’IDE QNX sur un PC x86. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

34 Caractéristiques désirées Taille: 100x100 mm Connectique: ◦ Ethernet 10/100MBit ◦ RS232 ◦ USB Supporte QNX H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

35 Caractéristiques de la carte Module Colibri PXA270 de Toradex ◦ Processeur Marvell Xscale PXA2700 312 MHz ◦ 64 Mo de RAM ◦ 32 Mo de mémoire flash Carte support avec connecteurs souhaités (Série,USB, Ethernet) H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

36 Choix de la carte ARM Petite carte BSP disponible sous QNX et gratuit H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

37 Board Support Package Un BSP (de QNX) pour la carte est téléchargé. Il contient : ◦ Certains drivers de la carte ARM. ◦ un fichier de build (.bld). ◦ ce qui est nécessaire pour démarrer une image sur la carte. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

38 Création de l’image sous l’IDE Création de l’image simple et intuitive via l’IDE. ◦ Seules quelques modifications à faire au niveau du fichier directeur. IDE QNX disponible sous windows/linux également. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

39

40 Environnement de travail H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

41 Plan Situation des activités. QNX. Construction d’une image système. Debugging. Démarrage de la cible sur Flash. Démarrage sur le réseau. Développement Croisé. Conclusions H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

42 QNX: points forts Entièrement conforme à POSIX 1003.1- 2001 Processus hors espace noyau, y compris les drivers -> gdb utilisable Documentation claire et unifiée Support payant très efficace QNX gratuit pour enseignement / recherche H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

43 QNX: points faibles Indisponibilité de pilotes pour hôtes de développement et de BSP pour les cibles Interface graphique propriétaire spécifique, mais légère et temps réel. H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

44 1 OS. Pourquoi avoir choisi QNX RTOS (Real Time Operating System) de type Temps Réel Dur Système modulaire convenant à la fois pour une machine standard et une utilisation embarquée H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

45 Questions ? H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

46 Aspects techniques Empreinte mémoire minimale 200ko XIP ( eXecute In Place), exécution de code sans copie préalable en mémoire centrale H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

47 Perspectives Micro serveur WEB Ecrans tactiles (QNX / linux) H.E.P.L. - Séminaire Embarqués du 21 avril 2010.

48 Système embarqué cible PC104 H.E.P.L. - Séminaire Embarqués du 21 avril 2010.


Télécharger ppt "Haute École de la Province de Liège Catégorie Technique Bachelier en Informatique et Systèmes  Finalité Informatique Industrielle H.E.P.L. - Séminaire."

Présentations similaires


Annonces Google