Outils pour utilisateurs

Outils du site


playground:cours_mr_guillot

Programmation carte à puce AVR

Cette page décrit l'environnement matériel et logiciel dans lequel vous effectuerez les TP du cours de Mr Guillot. Vous trouverez aussi une brève description de l'utilisation des logiciels AVRDUDESS et GSCRIPTOR.

Liens


Accès au wiki du bocal
Page de Mr Guillot Philippe avec les codes sources et la documentation

Introduction


Lors des TP , vous serez amener à programmer des cartes à puces de type AVR. Vous écrirez vos programmes que vous transférez une fois compilés sur la carte à puce . Pour vérifier le bon fonctionnement des programmes vous devrez communiquer avec la carte à puce a partir du PC.

Le processus peut donc se decomposer en trois phases :

  • Écrire et compiler du code.
  • Transférer le code compilé sur la carte à puce.
  • Communiquer avec la carte à puce programmée.

Cote matériel vous disposerez:

  • D'un PC.
  • De cartes à puce.
  • D'un programmateur de cartes à puce.
  • D'un lecteur de cartes à puce type ISO7816.

 cartes à puces  programmateur  lecteur

Cote software vous disposerez:

  • D'un compte Linux personnel et itinérant.
  • D'un kit de développement (SDK) : Code::Blocks IDE.
  • D'une interface graphique pour programmer les cartes : AVRDUDESS.
  • D'une interface pour communiquer avec la carte : GSCRIPTOR.

Code::Blocks IDE

L'utilisation de Code::Blocks vous sera présentée en TP

AVRDUDESS


AVRDUDESS est une interface graphique de la commande avrdude , cette commande permet de programmer des microcontroleurs AVR.

Elle permet aussi de lire le contenu des mémoires présentes sur la carte et les inscrire dans un fichier

D'autres fonctionnalités sont disponibles , elles ne seront pas décrites ici.

Utilisation


L’icône du logiciel AVRDUDESS se trouve dans la barre d'outil en bas de l'écran (voir Image1)

Image1 : Icône AVRDUDESS

Lancez l'application :

Image2 : AVRDUDESS

La partie 1 permet de configurer la programmation du microcontrôleur

  • type de programmateur
  • Port de connexion
  • vitesse de transfert
  • Bit clock

Les valeurs des champs sont correctes vous n'aurez pas à la modifier .

La partie 2 permet de spécifier le microcontrôleur à programmer . Ce champ est vide du fait que vous pouvez travailler sur deux types de microcontroleurs différents ( AT90S8515 ou ATMEGA163)

Vous pouvez sélectionner le microcontrôleur dans le menu déroulant ou cliquez sur le bouton detect une fois le programmateur connecté au PC et la carte insérée à l’intérieur de celui ci.

La partie 3 permet de configurer l’accès aux mémoires du microcontrôleur, elles sont de deux types :

  • Mémoire Flash
  • EEPROM

Pour programmer vos microcontrôleurs , une fois les fichiers sélectionnés vous devez choisir l'option write

La partie 4 représente les arguments passés à la commande avrdude.

Programmer la mémoire flash

Cliquez sur le bouton parcourir au niveau de la partie flash

Image3 : Flash sélection AVRDUDESS

Les fichiers à écrire dans la flash sont des fichiers dont l'extension est .hex

Programmer la mémoire eeprom

Cliquez sur le bouton parcourir au niveau de la partie eeprom

Image4 : Eeprom sélection AVRDUDESS

Les fichiers à écrire dans la mémoire eeprom sont des fichiers dont l'extension est eep.hex Pour pouvoir les visualiser dans la fenêtre de sélection des fichiers , choisissez “All files(*.*) dans le menu déroulant “File of type:”

Lancer la programmation de la carte à puce

Image5 : Lancer la programmation AVRDUDESS

Une fois le programmateur connecté au PC , la carte insérée dans celui-ci et les fichiers à écrire dans les mémoires sélectionnés, vous devez:

  1. Cliquez sur le bouton Detect pour sélectionnez le bon microcontrôleur
  2. Choisir l'option “Write” dans la partie mémoires
  3. Et en dernier cliquez sur le bouton “Program!”

Sur l'image 6 on peut voir dans la fenêtre de logs que la programmation est en cours d’exécution.

Image6: Programmation en cours AVRDUDESS

Sur l'image 7 on peut voir dans la fenêtre de logs que la programmation est terminée et s'est déroulée correctement.

Image7: Programmation terminée AVRDUDESS

Vous pouvez retirer la carte , elle est prête à être insérée dans le lecteur.

GSCRIPTOR


Une fois la carte programmée vous pouvez communiquez avec celle ci depuis le PC en utilisant le lecteur de carte à puce et le le logiciel GSCRIPTOR.

La communication doit se faire en respectant le protocole ISO7816

Connectez le lecteur au PC et insérez la carte dans celui ci .

Le logiciel GSCRIPTOR se lance depuis la barre des taches.

Image8 : Icône GSCRIPTOR

Utilisation

La communication se fait à l'aide de commandes auxquelles la carte répond (Dans l’ISO 7816 ces commandes sont normalisées et s'appelle des commandes APDU)

Image9 : GSCRIPTOR

Dans la fenêtre de commandes vous pouvez directement écrire vos commandes ou ouvrir des scripts de commandes que vous aurez écrit au préalable ( ce sont des fichiers texte)

Une fois les commandes écrites dans la fenêtre de commandes vous pouvez cliquez sur le bouton “Run” pour lancer l’exécution des commandes . Le résultat des commandes s'affiche dans la fenêtre des résultats.

Image10 : commande APDU GSCRIPTOR

Les résultats s'affichent dans la fenêtre des résultats soit en hexadécimal soit en ASCII au choix de l’utilisateur.

Image11 : Résultat commande APDU en Hexadécimal GSCRIPTOR

Image12 : Résultat commande APDU en ASCII GSCRIPTOR

playground/cours_mr_guillot.txt · Dernière modification: 2015/02/23 09:35 par mehdy