PDA

Ver la versión completa : Usar JTAG como I/O



Luis gallardo
31/08/2007, 22:59
Saludos a todos en el foro.

He estado investigando si se puede acceder al puerto JTAG para enviar y/o capturar señales I/O.

La idea es poder usar el GP2X en pequeños proyectos que involucren el control de hardware (por ejemplo, encender leds, recibir señales, ect). Pero solo he encontrado referencias del JTAG para recuperar el GP2X cuando se daña el firmware.

Si alguien me puede orientar, lo agradecería enormemente.

LG

Aiken
01/09/2007, 00:56
primero no tengo muy claro si estas hablando de la GP2X o de la GP32, pero estas en el foro de programacion gp32.

y respecto a lo que preguntas.

Olvidate de jtag, el puerto EXT de la gp2x o gp32, si, ambas lo tienen, que yo sepa al menos dispone de dos puertos UART.

Lo que no se es si dan niveles TTL o analogicos, pero aunque fueran analogicos se podrian convertir a digitales y leer las señales, encender leds o lo que quieras.

Aiken

Luis gallardo
01/09/2007, 04:15
Ok, mala mia...me equivoqué de foro.

De todas formas el UART sería para la comunicación serial con el GP2X (y supongo que con el GP32) . Pero lo que quiero es simplemente recibir o enviar cero y unos, sin necesidad de un protocolo. Por eso pensé en el JTAG.

Aiken, gracias por la respuesta...

Puck2099
01/09/2007, 09:25
Lo muevo a su sitio...

Luis gallardo
01/09/2007, 16:17
Creo que mas que una pregunta de "hardware", es una pregunta de "software" , ya que lo que quiero saber es si existe algo como un /dev/ttyS0 donde uno pueda enviar y recibir información...Quizás programación de un puerto, o localidad de memoria.

Gracias de antemano a quien pueda ayudarme

KaosOverride
01/09/2007, 21:07
Yo me olvidaria de atinar por el JTAG... Es simplemente un puerto extra de control de la CPU... Con este puerto lo que hacemos es dar una orden de stop a la CPU, le decimos que de tal a tal region de RAM le vamos a transferir un bloque de datos, y despues le decimos que salte a tal posicion y ejecute a partir de ahi...

Es un debugger por hardware... la CPU me da que no puede acceder a el como puerto de servicios... Es como el conector de diagnosticos de los coches, que le meten una especie de ordenador de mano especial para eso y diagnostican el coche... no puedes usar esa toma para poner un radiocassete extra, cargador de cds o una toma de mechero extra... Es simplemente para preguntar al motor sus parametros, logs de error y cambiar algunos parametros para hacerlo funcionar....

ya que lo que quiero saber es si existe algo como un /dev/ttyS0 donde uno pueda enviar y recibir información...Quizás programación de un puerto, o localidad de memoria.

Me temo que no, mas que un puerto de la CPU, son señales que interfieren en el funcionamiento de la CPU... en sus componentes...

oyzzo
01/09/2007, 22:37
Creo que mas que una pregunta de "hardware", es una pregunta de "software" , ya que lo que quiero saber es si existe algo como un /dev/ttyS0 donde uno pueda enviar y recibir información...Quizás programación de un puerto, o localidad de memoria.

Gracias de antemano a quien pueda ayudarme

Si que Existe un puerto serie, mirate la cradle y veras que hay varios puertos y puedes usarlos como puertos normales y corrientes, no entiendo como se te ha pasado por la cabeza usar el puerto JTAG teniendo series y paralelos, ademas de que el puerto jtag no lo puedes usar como tu quieras ya que tiene su protocolo a nivel de hardware como ya ha descrito kaosoverride. Hay informacion de sobras para sacar un puerto serie o paralelo del EXT de la gp2x y programarlo como si fuera un pc con linux :)

KaosOverride
02/09/2007, 00:58
y ojo que el RS-232 del puerto EXT no usa los mismos niveles que los de un PC, hay que filtrarlos como el circuito propuesto aqui en el wiki

Tendras que hacerte con un conector delpuerto EXT y con algunas cosillas mas como un MAX3232
http://wiki.gp2x.org/wiki/USB_Host_BoB_Schematic

http://wiki.gp2x.org/images/9/91/Bob_rs232.png

Tambien pasa por comprar una cradle o dockstation en HardcoreGamer :D

Aiken
02/09/2007, 03:00
y ojo que el RS-232 del puerto EXT no usa los mismos niveles que los de un PC, hay que filtrarlos como el circuito propuesto aqui en el wikiTendras que hacerte con un conector delpuerto EXT y con algunas cosillas mas como un MAX3232


**** pues lo que yo le habia dicho, que tendra que subir las señales a nivel TTL, por ejemplo con el MAX232.

Aiken

< - >

Creo que mas que una pregunta de "hardware", es una pregunta de "software" , ya que lo que quiero saber es si existe algo como un /dev/ttyS0 donde uno pueda enviar y recibir información...Quizás programación de un puerto, o localidad de memoria.
Gracias de antemano a quien pueda ayudarme

Y que crees que es el /dev/ttyS0? es un puerto serie, es decir una de las UART del puerto ext. Y tendras que convertir los niveles a ttl con un max232 o similar.

Aiken.

Luis gallardo
02/09/2007, 18:28
Gracias por los comentarios.

Ya ten&#237;a funcionando el puerto serie con el circuito que sugiri&#243; KaosOverride, solo me preguntaba si pod&#237;a usarse otra cosa, para poder enviar se&#241;ales...porque por ejemplo, si quiero prender un simple led tendr&#237;a que tener todo un protocolo serial, un dispositivo que lo entienda para que luego este encienda el led.

Buscaba algo mas sencillo como levantar una bandera...y como vi el JTAG pens&#233; que a lo mejor podr&#237;a usarlo, ya que a la larga el JTAG es un dispositivo de entrada y salida, que como bien han dicho todos es para el diagnostico de la unidad. Pens&#233; que a lo mejor se pudiese acceder a trav&#233;s de una posici&#243;n de memoria o archivo especial en Linux