Schritt 3: Schritt 3: Treiber-Entwicklung
Um die JTAG peripheren entwickelte sich zuvor von Linux verwenden zu können, benötigen wir einen Treiber erzeugt einen Eintrag in/proc (speziell /proc/jtag). Wir werden diesen Eintrag verwenden, als eine normale Datei um die peripheren Register lesen und schreiben. Die Treiber-Code basiert auf der zeigte in der "Hands on Tutorial", aber da unser Fahrer verschiedene Register, brauchen wir eine Möglichkeit zur Auswahl des Registers können wir mit arbeiten. Aus diesem Grund hat der Fahrer eine Variable, die enthält die Anzahl der ausgewählten Registers, und wenn es eine Write-Ereignis auf /proc/jtag es die Datenlänge prüft erkennt, wenn die Länge 1 ist, dann es die ausgewählten Registers, sonst ändert sich, was, die er schreibt, dass Daten in den ausgewählten registrieren. Zum Beispiel wenn wir wollten den Wert "70" zu schreiben, auf das dritte Register und nach dem Lesen, dass des zweite Registers könnten wir tun:
- Echo 3 >/Proc/Jtag
- Echo 70 >/Proc/Jtag
- Echo 2 >/Proc/Jtag
- Cat/Proc/jtag
Sobald der Benutzer ein Gerät, das sie testen will hat, erstellt eine Datei, die die Register und ihre Position in der JTAG-Kette definiert. Wir entwickeln eine High-Level API, die ermöglicht dem Benutzer, verwenden Sie diese Datei zum Schreiben und Lesen der Register des Gerätes getestet werden, und basierend darauf entwickeln wir die ordnungsgemäße Anwendung debuggen.