formation à l'utilisation de · pdf file1 formation pegase: la plate-forme wireless du...
TRANSCRIPT
1
Formation PEGASE : La plate-forme wireless du LCPC
Formation l'utilisation de PEGASE : Plate-forme Experte Gnrique pour
Applications Sans-fil EmbarquesVincent Le Cam( Mathieu Le Pen William Martin Laurent Lemarchand )
Ingnieur de recherche, enseignement et expertise
Responsable de la Cellule lectronique et Informatique Industrielle (CEII)
Dpartement MACS(Mesure Auscultation Calcul Scientifique)
IFSTTAR
Version V3.0 Novembre 2011Tous droits rservs
2
Formation PEGASE sur 3 jours - Sommaire :
Journe 1Contexte / Dcouverte / Prise en main
1. Rappels des objectifs de la formation (10 mn)
2. Prsentation et cours gnraux ( j)- lectronique sans-fil et OA - Contexte de PEGASE (Cours de V. Le Cam)- Les systmes GNU/ Linux (Cours de Ph. Le Gal)- Le noyau Linux et les pilotes de priphriques / drivers (Cours de Ph. Le Gal)- Langage C : un tutoriel et quelques grands rappels
3. Mise en route et dcouverte de PEGASE ( j)- Appropriation des principales fonctions et caractristiques physiques et logicielles
3
Formation PEGASE sur 3 jours - Sommaire :
Journe 2Dcouverte et modification des exemplesMes premires applications sur PEGASE
4 - Excution et modification des programmes d'exemple fournis dans le kit PEGASE ( j)
Prsentation du contenu de la librairie PEGASEFocus sur le fonctionnement vnementiel : mcanisme des CallbacksMise en uvre et modification des programmes d'exemple
5 - Dveloppement d'applications orientes mtier (1,5j)Application 1 : Envoi TCP/IP/WiFi de donnes d'un capteur (Acclro MEMS3D) vers un Superviseur en Labview Application 2 : Sensor GPS : envoi d'alarme SMS/GSM sur dtection de dplacement GPS. Serveur TCP/WiFi. Mise en oeuvre d'un automate d'tatApplication 3 : Mise en uvre des fonctions DSP: FFT, min/max/mean, etc.
4
Formation PEGASE sur 3 jours - Sommaire :
Journe 3Dveloppement d'applications sur PEGASE
Etude de vos use-case
5 - Dveloppement d'applications orientes mtier (1,5j)Application 4 : Mise en oeuvre du watchdog sur PEGASE Application 5 : Utilisation de la librairie XML sur PEGASE Application 6 : utiliser la carte fille 8 voies d'entres analogiques : GBF en entre + FFT + envoi TCP vers un serveur Labview Application 7 : Customiser le serveur web intgr sur PEGASE Application 8 : PEGASE et l'nergie : autonomie, CSolarManager, etc. Application 9 : Dvelopper en C++ sur PEGASE
6 Debugage d'applications : gdb, cross-debugage, manip, ...7 tude de vos use-case (1h)......
5
PARTIE 1
PARTIE 1 :
Rappels des objectifs de la formation
6
1 - Rappel des objectifs de la formation :
Objectifs: Prsenter le concept PEGASE en dtail Rendre utilisateur capable d'installer et d'utiliser la plateforme PEGASE en qqs heures
dans son labo A tout le moins : le savoir ncessaire pour comprendre et maintenir une application sur
PEGASE Transfert de connaissance IFSTTAR RST, Ecoles, Universits, entreprises..... Un avoir faire plus gnral que le simple cadre PEGASE : dveloppement en C en
Linux l'embarqu. Connaissances applicables pour de nombreux autres systmes Pour un public averti :
Sensible (ou aime) l'lectronique, l'info. Indus., embarqu... Connat (ou pourrait) le minimum vital du linux : ls, man, gcc... Connat (ou devra) savoir dvelopper en C standard ...voire en C++
7
PARTIE 2
PARTIE 2 :
Prsentation et cours gnral
8
2 - Prsentation et cours gnral
1) Prsentation gnrale de :- lectronique sans-fil et ouvrages d'art 1h (cours V. Le Cam)
2) Prsentation gnrale de :- Les systmes GNU/ Linux 3/4h (cours de Ph. Le Gal)
3) Prsentation gnrale de :- Le noyau Linux et les pilotes de priphriques 1/2h (cours de Ph. Le Gal)
4) Le Langage C : (1/2h) (Mathieu Le Pen)- THE tutoriel de rfrence : "Le Langage C" / Richie et Kernighan- Quelques grands rappels sur le langage C
9
2 - Prsentation et cours gnral
Il existe de trs nombreux tutoriels sur le langage C sur internet !
Pages de Man :> manSous Google
Exemple :http://www.siteduzero.com/tutoriel-3-14189-apprenez-a-programmer-en-c.html
10
2 - Prsentation et cours gnral
C-Rappel : if/else
11
2 - Prsentation et cours gnral
C-Rappel : do-while
12
2 - Prsentation et cours gnral
C-Rappel : for
13
2 - Prsentation et cours gnral
C-Rappel : printf
14
2 - Prsentation et cours gnral
C-Rappel : open/close/read/write
15
3 - Mise en route et dcouverte de PEGASE
PARTIE 3 :
Mise en route de PEGASE
16
3 - Mise en route et dcouverte de PEGASE
Prambule : Tout au long de la formation (et aprs dans votre labo), toujours se rfrer au Guide Mise en Oeuvre de PEGASEVersion V1.F :
17
3 - Mise en route et dcouverte de PEGASE
En suivant le Guide de Mise en Oeuvre de PEGASE V1.F (G.U. = Guide Utilisateur) \ chapitre 3 Dmarrage rapide :
Connecter PEGASE une source 8/24 V Relier PEGASE votre PC par un cordon RS232 / USB Configurer un outil de gestion des ports com sur PC : minicom -s
configurer : 115200 bauds 8N1 Lancer: minicom Faire vrifier le cblage par le formateur Mettre sous tension Observer la squence de boot de PEGASE
18
3 - Mise en route et dcouverte de PEGASE
Booter et re booter la carte (bouton reset) ou taper reboot
Dtecter la squence du boot loader A quoi sert-elle ? Explications du formateur Voir dans le G.U. Le partitionnement de PEGASE ( 5.2). Explications
Se promener sur la carte, vrifier les commandes Linux de base : cd /lcpc ls -l cat /version echo toto Etc. Avec l'Aide mmoire des commandes Unix , vrifier que vous retrouvez
les grands principes d'un systme Linux.
19
3 - Mise en route et dcouverte de PEGASE
Vrifier le partitionnement de PEGASE expliqu en 5.1 du G.U. La partition mtd1 est la partition de boot (volatile)La partition mtd2 est la partition mtier (prenne)
Crer un fichier dans / : Echo test1 > foo1 Crer un fichier dans /lcpc : Echo test2 > foo2 Rebooter la carte Tentez de retrouver les fichiers foo1 et foo2
Que s'est il pass ??? Si votre application doit gnrer et stocker des fichiers de donnes, o
enregistrer vos fichiers de data ? O placer votre future application Monitoring.exe ?
20
3 - Mise en route et dcouverte de PEGASE
/lcpc : bien se rappeler que ce n'est pas un rpertoire comme les autres (pointe sur une mmoire FLASH)
Contrairement /XXX , LCPC pointe sur la FLASH et non la RAM (mtdblock2) Il est donc prenne (rappel) Il est propre PEGASE (produit @ Ifsttar ) et il est cr volontairement pour y
stocker des applications et des donnes Prparer un sous rpertoire de travail de votre choix :
mkdir APPLI cd APPLI echo c parti > foo Rebooter PEGASE Retourner dans /LCPC/APPLI Afficher foo cat foo
Is it OK ???
21
Mise en route de PEGASE
Dcouvrir les autres principaux rpertoires de la distribution Linux sur PEGASE : /bin : explorer et retrouver tous les binaires que vous utilisez sous le Linux
embarqu sur PEGASE Principales commandes Linux : ls -l, cd, ifconfig,... Les fichiers Example_XXX
Comment LINUX sait que les binaires se trouvent ds ce rp. ? Afficher et comprendre la valeur de la variable systme : PATH En tapant la commande: echo $PATH Idem sur tout PC sous Linux
Aller dans le rpertoire /proc et afficher le contenu du fichier meminfo cat /proc/meminfo Contenu = informations importantes sur taille de la RAM Similairement, taper : free
22
3 - Mise en route et dcouverte de PEGASE
/xxx : explorer rapidement les autres rpertoires la racine de / (autres que /LCPC )
Noter que : il s'agit des sous-rpertoires classiques d'un systme Linux (ici d'un uClinux adapt PEGASE)
Sur votre PC sous Linux (ex. : Ubuntu) : retrouver ~ les mmes rpertoires, ~les mmes commandes, et mme logique d'arborescence universelle des systmes GNU/Linux (cf. le cours)
Analogie :Systmes Linux
23
3 - Mise en route et dcouverte de PEGASE
A la racine / : afficher le contenu du fichier version cat /version Qu'affiche ce fichier selon vous ? A quoi correspondent la date et l'heure affiches ?
Dans /lcpc : afficher puis complter le contenu du fichier autorun.sh en suivant la question Q2 de la FAQ du GU (P.53)
root:/> cat /lcpc/autorun.shroot:/> cat >> /lcpc/autorun.shecho cette formation PEGASE est super ifconfigps
root:>Rebooter
Que se passe -t-il ? A quoi sert ce fichier selon vous ? Pour bien comprendre : afficher le contenu de rc : cat /etc/rc
24
3 - Mise en route et dcouverte de PEGASE
Dcouvrir les autres principaux rpertoires de la distribution Linux sur PEGASE Zoom sur un rpertoire important : /dev /dev => Devices = matriels / priphriques Aller dans /dev et lister le contenu ls -l Retrouver des priphriques qui ont t prsents sur PEGASE:
Les timers : ... Le port SPI : ... Le port I2C : null Les ports flags : sous quels noms retrouve-t-on les 48 GPIO ? Les 2 ports srie : ttyBF0 et ttyBF1 A quoi correspond le dev console
Faire echo salut > /dev/console depuis un Terminal en Telnet et regarder ce qui se passe sur un Terminal avec Minicom
Faire echo bonjour > /dev/ttyBF0 Que se passe-t-il ? Comment l'expliquer ? Qu'est ce qui est cbl en dur sur ttyBF1 ?
25
3 - Mise en route et dcouverte de PEGASE
Zoom s