Une bonne base : faire clignoter une LED de la carte
Étape 1 : Créer une fonction
Jusque là rien de compliquer !
Étape 2 : Créer les bus JTAG pilotant la LED
Je dois au minimum créer 2 Bus :
- Un bus de sortie (pour émettre une valeur sur la broche physique)
- Un bus de contrôle (pour valider la cellule JTAG de sortie)
- Eventuellement, je peux créer un bus d'entrée pour relire la valeur envoyée
Un bus est un ensemble de cellules JTAG. Ici mon bus ne contiendra qu'une seule cellule.
La première ligne correspond à la création du bus nommé "mon_bus_out".
Les paramètres sont une chaîne de caractères avec son nom réel (libre à l'utilisateur) et une référence sur la carte (par défaut, on place "&board").
Ensuite, j'initialise mon bus en lui indiquant quelles cellules JTAG lui sont rattachées. Cette initialisation est faite grâce à "BusInit".
Le premier paramètre est le nombre de triplets "LABEL_PORT, CELLULE MSB, CELLULE LSB".
Le second paramètre est la ou les cellules JTAG composant le bus ( ici, une référence sur le port io_out du composant mn43, avec la cellule 30 ).
Il faut réaliser la même chose avec la cellule de contrôle :
A cet instant, je peux utiliser les bus créés.
Étape 3 : Créer le code de clignotement de la LED
Il faut tout d'abord passer le composant intéressé en mode Extest, mais attention! il faut être sur que les autres cellules JTAG sont bien dans un état Disable.
Il n'y a plus qu'a faire clignoter la LED :
En conclusion : si vous pouvez réaliser cette séquence, alors toutes les portes du test Boundary Scan avec TH_JTAG vous sont ouvertes.