1 / 44

Microinformatique embarquée à l’ISET - HEL

Microinformatique embarquée à l’ISET - HEL. 2 approches sont étudiées A) Windows CE B) Linux embarqué. Historique A&R. Traitement Image Matrox DOS Spectromètre embarqué NTE DiscOnChip Traitement des Défauts Apprentissage RedHat Emacs Mise en Œuvre Clips. Windows CE. CE 6.0. CE 5.0.

said
Download Presentation

Microinformatique embarquée à l’ISET - HEL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microinformatique embarquéeà l’ISET - HEL

  2. 2 approches sont étudiées A) Windows CE B) Linux embarqué

  3. Historique A&R Traitement Image Matrox DOSSpectromètre embarqué NTEDiscOnChipTraitement des Défauts Apprentissage RedHat Emacs Mise en Œuvre Clips

  4. Windows CE

  5. CE 6.0 CE 5.0 CE .net 4.1 CE .net 4.2 CE 3.0 CE .net 4.0 CE 2.11 CE 2.12 CE 1.0 CE 2.0 Historique CE PB 4.0 eVC 4.0 Temps réel PB 3.0 eVC & eVB 3.0 1996 1997 1998 1999 2000 2001 2002 2003 2004 2006

  6. microsoft OEM utilisateur Object Store Device Drivers Kernel GWES Shell Couche d'adaptation du matériel (OAL) Qui fait quoi ? Application Win32 - CE Sous-ensemble de l’API Win32 Matériel

  7. Les Outils Windows CE • Etape 1 Fabriquer le système • Platform Builder • Gestion des composants du système • Etape 2  Surveiller le système • Embedded Visual Tools • Processus, Mémoire, Fichiers … • Etape 3  Développer des Applications • Embedded Visual Studio Applications C/C++ utilisant l’API win32 et la LibC • Visual Studio.net • Applications C# utilisant le Compact Framework inclus Platform Manager inclus

  8. 1 - Platform Builder • Base de données de Binaires & Sources • OEM Adaptation Layer • Noyau Windows CE • Pilotes de Périphériques (PCI, USB, Com …) • Piles de protocoles, Systèmes de fichiers, Modèle d’IHM • Shells & Applications

  9. 1 - Platform Builder • Environnement de développement • Génération de Makefiles • Compilateurs croisés (x86, ARM, SH, MIPS) • Outils de packaging, et de téléchargement • Outil Graphique Interactif (IDE) • Visualisation des composants, choix, Drag&Drop • Menus contextuels, Debug symbolique.

  10. 2 - Embedded Visual Tools • Outils de Vérification & Performances • Kernel Tracker  chronogrammes des objets système • Call Profiler  analyse des temps d’exécution • Performance Monitor  graphiques d’activité du système • Outils de gestion de la cible et utilitaires • ZoomIn  copies d’écrans • Outils de Debug • SPY++  messages Windows • Heap Walker  analyse de la zone de malloc • Process Viewer  informationprocessus et threads • File Viewer  gestion des fichiers de la cible • Registry Viewer  édition de la base de registres de la cible • System Infos  paramètres généraux du système

  11. Modèle d’application Native Modèle d’application Managed embedded Visual Studio 4.0 Platform Builder 4.1 Visual Studio .NETavec Device Extensions C# ou VB .NET C ou C++ Applications Win32 Applications pour le Compact Framework .NET Runtime CLR Compilées Compact Framework 3 - Développer des Applications Common Language Runtime OS Windows CE .NET

  12. Application CE 6.0Présentation d’Olivier Delvaux

  13. Linux EmbarquéApplications Web Server

  14. Présentation de la carte DIL/NetPC DNP/5280

  15. Présentation de la carte DIL/NetPC DNP/5280 Le kit de développement est composé d’un microcontrôleur basse consommation Motorola ColdFire, d’un stack TCP/IP Realtek et d’un Web Server « BOA ».

  16. Présentation de la carte DIL/NetPC DNP/5280 • DIL/NetPC DNP/5280 with 66 MHz Motorola MCF5280 ColdFire and Firmware in Flash memory, 3.3 VDC Vcc • Firmware and Embedded Linux pre-installed in Flash memory • Evaluation Board DNP/EVA2-SV6 (Special Version 6) • Null modem Cable • 110 VAC or 230 VAC to 5 VDC International Power Supply • CD-ROM with User Manual and Hardware/Programmers Manuals • Embedded Linux with Source

  17. Présentation de la carte DIL/NetPC DNP/5280 • GNU Cross Tool Chain for C/C++ Software Development for Linux-based PCs • elf2flt Converter Program (m68k ELF to uClinux bFLT) • GNU gdb and gdbserver for Ethernet-based Remote Debugging • Free TFTP Server Program for Win32-based PCs • Linux Remote Login with Telnet • Web Server Setup Sample • Embedded TFTP Client • Many Sourcecode Samples

  18. Configuration de la carte Mode Debug: Activation Pour activer le mode Debug, Placer le Jumper entre la Pin1 et la Pin20 du connecteur BDM (Background Debug Mode)

  19. Accès au mode DEBUGRS232 • 115200Bauds • 8 bits de données • No Parity • 1 Stop Bit • Pas de contrôle de flux

  20. Configuration de la carte Mode Debug: Utilisation (1) • Test de la communication • Communication hyperterminal ouverte • Reset de la carte

  21. Configuration de la carte Mode Debug: Utilisation (2) • Commandes utiles à la configuration • Show • Set • Client <son IP> • Gateway <passerelle du réseau local> • Netmask <adresse de sous-réseau> • Server <adresse IP du serveur utilisé lors de la MAJ de l’image Linux>

  22. Configuration de la carte Mode Debug: Utilisation (3) • Commandes utiles à la configuration • Help : affiche toutes les commandes disponibles. • Dn –i : permet d’uploader l’« image.bin » à partir du serveur TFTP renseigné par le champ serveur (cf. set serveur <IP>) • fl w 0xff850000 0x10000 0x200000 Ecriture physique en mémoire FLASH MAJ de l’image Linux avec la liaison RS-232 implémentée

  23. Connexion au PC • Connexion Ethernet à l’aide d’un câble croisé. • Pour se connecter via une liaison Ethernet nous devons configurer des IP en mode statique. Exemple : IP Serveur = 192.168.0.2 IP Client = 192.168.0.1

  24. Connexion via TELNET • Sous Linux : • Connexion : telnet adresse_IP_Serveur • Upload d’un fichier via TFTP : tftp –g –l nom_du_fichieradresse_IP_machine • ... autres commandes Consol Linux (rm,cd ..,…) • Sous Windows : • Connexion : telnet adresse_IP_Serveur • Upload et download d’un fichier via TFTP : PUT et GET

  25. Serveur WEB embarqué • Le noyau linux embarqué possède un serveur web « BOA » • Il se trouve dans le répertoire /home/httpd/ de la carte de développement • Ce répertoire doit obligatoirement contenir un fichier index.html

  26. CGI • La Common Gateway Interface (littéralement « Interface passerelle commune »), est une technologie des serveurs HTTP. Ce dernier, au lieu de renvoyer le contenu d'un fichier (image ou HTML), exécute un programme puis retourne le contenu généré, comme s'il s'agissait d'un contenu de fichier. • CGI permet de passer des paramètres au programme, de telle manière qu'il en tienne compte pour générer les données.

  27. CGI • Indépendant du langage • Certains répertoires sont définis pour être servis par un programme CGI (CGI-BIN dans notre cas). Lorsqu'une requête correspondant à ce répertoire est effectuée, le serveur appelle le programme CGI correspondant, en envoyant au programme toute donnée que le client aurait envoyée (par exemple, un mot-clé pour effectuer une recherche). Le résultat du programme CGI est récolté par le serveur, puis retourné au client.

  28. CGI • Indépendant du langage. • Certains répertoires sont définis pour être servis par un programme CGI (CGI-BIN dans notre cas). Lorsqu'une requête correspondant à ce répertoire est effectuée, le serveur appelle le programme CGI correspondant, en envoyant au programme toute donnée que le client aurait envoyée (par exemple, un mot-clé pour effectuer une recherche). • Le résultat du programme CGI est récolté par le serveur, puis retourné au client.

  29. CGI Résumé Les CGI sont des programmes (c ou c++ …) spécifiques situés sur unserveur qui peuvent être exécutés par un client à partir de pages HTML et renvoient un flux HTML au client au travers d’un serveur web (BOA dans ce cas). Principe en C main { printf( «<HTML> [FLUX HTML] </HTML> »); return(EXIT_SUCCESS); }

  30. CGI • Mécanisme: • Paramétrage et activation de la liaison série. • Switch case sur les paramètres d’entrée • Envois de la commande adéquate ex: serial_tx(dev,RS232,strlen(RS232)); • Réception et interprétation de la String de retrour ex: serial_rx(dev,rx,98); • Renvois du flux HTML avec variables printf("<HTML>\n"); printf("TEST DE LA CONNEXION : %s \n",&rx); printf("<A HREF=\"http://172.16.108.91\">Back to the menu</A>"); printf("</HTML>\n");

  31. CGI • Mise en place d’un CGI: • Compilation sur une station Linux : m68k-elf-gcc –m5307 –Wl,-elf2flt –Os –o cgihello cgihello.c –lc • Migration vers la carte : cd /home/httpd/cgi-bin tftp –g –l cgihello <IP Source> chmod 777 cgihello Ligne de compilation du cross compilateur C (GCC)

  32. CGI Première Application Affichage de la température de 2 capteurs via la ligne série de l’ATMega8

  33. Architecture • Le température est envoyée sur le port série par une carte annexe (ATMega8). • La plateforme linux coldfire renvoie ces données sur demande en flux http. DNP/5280 Capteurs de température Dallas 1Wire DS1820 et I2C DS1621 Liaisons Ethernet Client HTTP

  34. Page HTML Suivant le lien sur lequel on clique, on envois un argument au programme CGI <a href=http://192.168.0.200/cgi-bin/temp?a>Afficher la valeur des 2 capteurs. <br><br></a> <a href=http://192.168.0.200/cgi-bin/temp?b>Afficher la valeur du capteur i2c. <br><br></a> <a href=http://192.168.0.200/cgi-bin/temp?c>Afficher la valeur du capteur 1wire.<br><br></a>

  35. Résultat • switch(*argv[1]) • { • case 'a': • printf ("Content-type: text/html\n\n"); • printf ("<html>\n"); • printf ("<head>\n"); • printf ("<title>\nCGI Hello Demo</title>\n"); • printf ("</head>\n"); • printf("<BODY vLink=#FFFFFF aLink=#FFFFFF link=#FFFFFF bgColor=#800000>"); • printf("<center>"); • printf("<center><font color=#FFFFFF> Thermometre numerique</font></center>"); • printf ("<h1>\n capteur 1wire : %c%c</h1>\n",var1,var2); • printf ("<h1>\n capteur i2c : %c%c,%c</h1>\n",var3,var4,var5); • printf ("</body>\n"); • printf ("</html>\n"); • break;

  36. Deuxième ApplicationContrôle à distance d’un oscilloscope numérique à travers une interface CGI

  37. Aperçu du résultat à obtenir Browser Liaison Logique Linux Embedded RS-232

  38. Oscilloscope TDS210 • Communication : • RS232 : • No Parity • 1 Stop Bit • 9600 Bauds • Pas de contrôle de flux • 8 bits de données • Logiciel : • Hyper terminal pour tester les commandes.

  39. Oscilloscope TDS210 • Commandes utilisées pour le dialogue avec l’oscilloscope : • RS232? • Affiche la configuration en cours de la liason serie de l’oscilloscope. • MEASUREMENT:IMMED? • Affiche la configuration de la mesure immédiate : • CH1 / CH2 • TYPE : Moyenne ou Fréquence • Coupling : AC/DC

  40. Oscilloscope TDS210 • Commandes utilisées pour le dialogue avec l’oscilloscope (2): • MEASUREMENT:IMMED:VALUE? • Renvoi la valeure de la mesure immédiate • BUSY? • Renvoi : 1 (Occupé) / 0 (Libre) • MEASUREMENT:IMMED:TYPE FREQ • Défini la mesure pour une fréquence. • MEASUREMENT:IMMED:TYPE MEAN • Défini la mesure pour une tension (DC-AC efficace ).

  41. Oscilloscope TDS210 • Commandes utilisées pour le dialogue avec l’oscilloscope (3): • CHX:COUPLING YY • X : 1 ou 2 pour le canal. • YY : AC-DC pour la valeur à mesurer. • MEASUREMENT:IMMED:SOURCE CHX • Défini le canal X (1 ou 2) comme la source de la mesure. • CHX:VOLTS? • Retourne l’échelle des V/DIV du canal X (1 ou 2).

  42. Serveur WEB embarqué • Exemple de page html : <html> <head> <title>Nouvelle page 1</title> </head> <body> <A HREF="http://172.16.108.91/cgi-bin/test.cgi?a"> Test RS-232 </A> </body> </html> Résultat : Page web avec un lien vers le test.cgi en passant le paramètre ‘a’.

  43. Serveur WEB embarqué • Exemple de page html : <TABLE BORDER=5 CELLPADDING=0 CELLSPACING=0 ALIGN="CENTER"> <TR><TD><p></p> <A HREF="http://172.16.108.91/cgi-bin/test.cgi?a"> Test RS-232 </A> </TD></FORM></TR></TABLE> 1 2 [Résultat Browser] [Oscilloscope] 4 3

  44. Merci pour votre attention Place à la Jeunesse

More Related