Paso 3: Paso 3: desarrollo de controladores
Para poder usar el JTAG periférico desarrollado anteriormente de Linux, tenemos un conductor que crea una entrada en/proc (específicamente /proc/jtag). Vamos a utilizar esa entrada como un archivo normal con el fin de escribir y leer los registros periféricos. El código del controlador se basa en que en las "manos en el tutorial", pero ya que nuestro conductor diversos registros necesitamos una forma para seleccionar el registro que vamos a trabajar con son. Debido a esto, el conductor tiene una variable que contiene el número del registro seleccionado, y cuando detecta un evento de escritura de /proc/jtag comprueba la longitud de los datos, si la longitud es 1 entonces cambia el registro seleccionado, otro escribe que registro de datos a los seleccionados. Por ejemplo si estuviéramos a punto de escribir el valor "70" en el tercer registro y después de que lea el segundo registro que podríamos hacer:
- echo 3 >/proc/jtag
- 70 de echo >/proc/jtag
- echo 2 >/proc/jtag
- cat/proc/jtag
Una vez que el usuario tiene un dispositivo que quiere probar, crea un archivo que define los registros y su posición en la cadena JTAG. Estamos desarrollando un API de alto nivel que permite al usuario utilizar ese archivo para escribir y leer registros del dispositivo a ser probado, y basado en él desarrollaremos la correcta aplicación de depuración.