G-ICE. Simulering i hårdvara (3 / 3 steg)
Steg 3: Steg 3: Driver utvecklingen
För att kunna använda JTAG perifera utvecklat tidigare från Linux, behöver vi en förare som skapar en post i/proc (särskilt /proc/jtag). Vi använder posten som en vanlig fil för att skriva och läsa de perifera register. Driver koden är baserad på den visade i "Händerna på tutorial", men eftersom våra förare har olika register behöver vi ett sätt att markera registret är vi kommer för att arbeta med. Med detta har föraren en variabel som innehåller numret på den valda bokförda och när den upptäcker en skriva händelse på /proc/jtag kontrollerar datalängd, om längden är 1 då ändras det valda registret, annan skriver att data till den valda registrerar. Till exempel om vi skulle skriva värdet "70" på tredje registret och efter att läst andra registret kunde vi göra:
- Upprepa 3 >/proc/jtag
- ECHO 70 >/proc/jtag
- Upprepa 2 >/proc/jtag
- cat/proc/jtag
När användaren har en enhet som hon vill testa, skapas en fil som definierar register och deras position i JTAG kedjan. Vi utvecklar en hög nivå API som tillåter användaren att använda filen att skriva och läsa register för enheten som skall provas, och utifrån det vi kommer att utveckla en riktig felsökning tillämpning.