Étape 3: Étape 3: développement de pilotes
Pour pouvoir utiliser le JTAG périphérique développé précédemment de Linux, nous avons besoin d’un pilote qui crée une entrée dans/proc (spécifiquement /proc/jtag). Nous utiliserons cette entrée comme un fichier normal pour écrire et lire les registres périphériques. Le code du pilote est basé sur celui a montré aux « mains sur tutoriel », mais étant donné que notre chauffeur ont divers registres, nous avons besoin d’un moyen de sélectionner le Registre sont on va se pour occuper. Pour cette raison, le conducteur a une variable qui contient le numéro du Registre sélectionné, et lorsqu’il détecte un événement d’écriture sur /proc/jtag qu'il vérifie la longueur des données, si la longueur est 1 alors il modifie le registre sélectionné, d’autre qu'il écrit que Registre de données pour les sélectionnés. Par exemple, si nous étions sur le point d’écrire la valeur « 70 » sur le troisième Registre, et après que lu le second registre, nous pourrions faire :
- ECHO 3 >/proc/jtag
- 70 l’écho >/proc/jtag
- Echo 2 >/proc/jtag
- cat/proc/jtag
Une fois que l’utilisateur possède un périphérique qui elle veut tester, crée un fichier qui définit les registres et leur position dans la chaîne JTAG. Nous développons une API de haut niveau qui permet à l’utilisateur d’utiliser ce fichier pour écrire et lire les registres de l’appareil à tester, et sur cette base, nous allons développer la bonne application de débogage.