44
Microinformatique embarquée à l’ISET - HEL

Microinformatique embarquée à l’ISET - HEL

  • Upload
    said

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Microinformatique embarquée à l’ISET - HEL

Microinformatique embarquée

à l’ISET - HEL

Page 2: Microinformatique embarquée à l’ISET - HEL

2 approches sont étudiées

A) Windows CE

B) Linux embarqué

Page 3: Microinformatique embarquée à l’ISET - HEL

Traitement Image Matrox DOS

Spectromètre embarqué NTEDiscOnChip

Traitement des Défauts Apprentissage RedHat Emacs

Mise en Œuvre Clips

Historique A&R

Page 4: Microinformatique embarquée à l’ISET - HEL

Windows CE

Page 5: Microinformatique embarquée à l’ISET - HEL

Historique CE

2000 2001 200219991998 2003 200419971996

CE 2.11CE 2.11

CE 2.12CE 2.12

CE 3.0CE 3.0 CE .net 4.0CE .net 4.0

CE .net 4.1CE .net 4.1

CE .net CE .net 4.24.2

CE 5.0CE 5.0

CE 1.0CE 1.0CE 2.0CE 2.0

Temps réelPB 3.0

eVC & eVB 3.0

PB 4.0eVC 4.0 CE 6.0CE 6.0

2006

Page 6: Microinformatique embarquée à l’ISET - HEL

Qui fait quoi ?

ApplicationWin32 - CE

Matériel

Sous-ensemble de l’API Win32

Couche d'adaptation du matériel (OAL)

DeviceDrivers

ObjectStore

Kernel GWES Shell

microsoft

OEM

utilisateur

Page 7: Microinformatique embarquée à l’ISET - HEL

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

PlatformPlatformManagerManager

inclus

inclus

Page 8: Microinformatique embarquée à l’ISET - HEL

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

Page 9: Microinformatique embarquée à l’ISET - HEL

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.

Page 10: Microinformatique embarquée à l’ISET - HEL

2 - Embedded Visual Tools• Outils de Vérification & Performances

– Kernel Tracker chronogrammes des objets systèmechronogrammes des objets système– Call Profiler analyse des temps d’exécutionanalyse des temps d’exécution– Performance Monitor graphiques d’activité du systèmegraphiques d’activité du système

• Outils de gestion de la cible et utilitaires– ZoomIn copies d’écranscopies d’écrans

• Outils de Debug– SPY++ messages Windowsmessages Windows– Heap Walker analyse de la zone de mallocanalyse de la zone de malloc– Process Viewer informationinformation processus et threadsprocessus et threads

– File Viewer gestion des fichiers de la ciblegestion des fichiers de la cible– Registry Viewer édition de la base de registres de la cibleédition de la base de registres de la cible– System Infos paramètres généraux du systèmeparamètres généraux du système

Page 11: Microinformatique embarquée à l’ISET - HEL

3 - Développer des Applications

OS Windows CE .NETOS Windows CE .NET

Runtime CLR

Modèle d’application Modèle d’application ManagedManaged

Visual Studio .NETVisual Studio .NETavec Device Extensionsavec Device Extensions

C# ou VB .NETC# ou VB .NET

Applications pour le Applications pour le Compact Framework .NETCompact Framework .NET

Compact FrameworkCompact Framework

Compilées

Modèle d’application Modèle d’application NativeNative

embedded Visual Studio 4.0embedded Visual Studio 4.0Platform Builder 4.1Platform Builder 4.1

C ou C++C ou C++

Applications Win32Applications Win32

Common Language Runtime

Page 12: Microinformatique embarquée à l’ISET - HEL

Application CE 6.0

Présentation d’Olivier Delvaux

Page 13: Microinformatique embarquée à l’ISET - HEL

Linux EmbarquéApplications Web Server

Page 14: Microinformatique embarquée à l’ISET - HEL

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

Page 15: Microinformatique embarquée à l’ISET - HEL

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

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

Page 16: Microinformatique embarquée à l’ISET - HEL

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

Page 17: Microinformatique embarquée à l’ISET - HEL

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

Page 18: Microinformatique embarquée à l’ISET - HEL

Configuration de la carte

Pour activer le mode Debug, Placer le Jumper entre la Pin1 et la Pin20 du connecteur BDM (Background Debug Mode)

Mode Debug: Activation

Page 19: Microinformatique embarquée à l’ISET - HEL

Accès au mode DEBUGRS232

115200Bauds8 bits de données No Parity1 Stop BitPas de contrôle de flux

Page 20: Microinformatique embarquée à l’ISET - HEL

• Test de la communication» Communication hyperterminal

ouverte

» Reset de la carte

Mode Debug: Utilisation (1)

Configuration de la carte

Page 21: Microinformatique embarquée à l’ISET - HEL

Configuration de la carte

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

Mode Debug: Utilisation (2)

Page 22: Microinformatique embarquée à l’ISET - HEL

• 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 0x200000Ecriture physique en mémoire FLASH

MAJ de l’image Linux avec la liaison RS-232 implémentée

Configuration de la carteMode Debug: Utilisation (3)

Page 23: Microinformatique embarquée à l’ISET - HEL

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

Page 24: Microinformatique embarquée à l’ISET - HEL

Connexion via TELNET

Sous Linux :• Connexion : telnet adresse_IP_Serveur• Upload d’un fichier via TFTP : tftp –g –l nom_du_fichier adresse_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

Page 25: Microinformatique embarquée à l’ISET - HEL

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

Page 26: Microinformatique embarquée à l’ISET - HEL

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.

Page 27: Microinformatique embarquée à l’ISET - HEL

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.

Page 28: Microinformatique embarquée à l’ISET - HEL

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.

Page 29: Microinformatique embarquée à l’ISET - HEL

Résumé

Les CGI sont des programmes (c ou c++ …) spécifiques situés sur un serveurqui peuvent être exécutés par un client à partir de pages HTML et renvoient unflux 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);}

CGI

Page 30: Microinformatique embarquée à l’ISET - HEL

• 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équateex: serial_tx(dev,RS232,strlen(RS232));

• Réception et interprétation de la String de retrourex: serial_rx(dev,rx,98);

• Renvois du flux HTML avec variablesprintf("<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");

CGI

Page 31: Microinformatique embarquée à l’ISET - HEL

• Mise en place d’un CGI:1.Compilation sur une station Linux :

m68k-elf-gcc –m5307 –Wl,-elf2flt –Os –o cgihello cgihello.c –lc

2.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)

CGI

Page 32: Microinformatique embarquée à l’ISET - HEL

CGI

Première Application

Affichage de la température de 2 capteurs via la ligne série de

l’ATMega8

Page 33: Microinformatique embarquée à l’ISET - HEL

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

Capteurs de température Dallas 1Wire DS1820 et I2C DS1621

Liaisons Ethernet

Client HTTP

DNP/5280

Architecture

Page 34: Microinformatique embarquée à l’ISET - HEL

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

Suivant le lien sur lequel on clique, on envois un argument au programme CGI

Page HTML

Page 35: Microinformatique embarquée à l’ISET - HEL

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;

Résultat

Page 36: Microinformatique embarquée à l’ISET - HEL

Deuxième Application

Contrôle à distance d’un oscilloscope numérique à travers

une interface CGI

Page 37: Microinformatique embarquée à l’ISET - HEL

Aperçu du résultat à obtenir

Liaison Logique

Linux Embedded

Browser

RS-232

Page 38: Microinformatique embarquée à l’ISET - HEL

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

Oscilloscope TDS210

Page 39: Microinformatique embarquée à l’ISET - HEL

• 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

Oscilloscope TDS210

Page 40: Microinformatique embarquée à l’ISET - HEL

• 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 ).

Oscilloscope TDS210

Page 41: Microinformatique embarquée à l’ISET - HEL

• 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).

Oscilloscope TDS210

Page 42: Microinformatique embarquée à l’ISET - HEL

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

Page 43: Microinformatique embarquée à l’ISET - HEL

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

[Oscilloscope]

[Résultat Browser]

1

2

34

Serveur WEB embarqué

Page 44: Microinformatique embarquée à l’ISET - HEL

Merci pour votre attention

Place à la Jeunesse