El día 10 de septiembre de 2012 09:51, lluis martinez
El lun, 10-09-2012 a las 08:45 -0300, Juan Erbes escribió:
El día 10 de septiembre de 2012 05:52, lluis martinez
escribió: El dom, 09-09-2012 a las 23:00 -0300, Juan Erbes escribió:
Se me ha desprogramado el firmware del stereo de mi camioneta, y quedó muerto.
La unica forma de reprogramarlo, es a través de los terminales JTAG de la placa del microcontrolador principal, que es un doble nucleo BX8055 o LM3895 equivalente. El nucleo que interactúa directamente con el software de control, es de la familia ARM7TDMI.
Tomando una postura "comoda", me compré una interfaz USB-JTAG, pero me llevé el fiasco de que solamente funciona con el software del fabricante.
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka12723.htm...
Pero por lo que pude ver, y despues de renegar un par de semanas, solamente permite volcar archivos hex o bin, pero no en el formato que viene el firmware, formato mcs. Según algunas fuentes, ese formato de archivo, es de intel:
http://ece.wpi.edu/courses/ee4801/suppnotes/hex/hexfile.html
http://www.xilinx.com/support/answers/476.htm
Pero según un conversor de codigo abierto, llamado sreccord, es de Motorola:
srec_info AUDIO_v2x_V101_CZ501_MXIC_110125_00_375K.mcs Format: Motorola S-Record srec_info: AUDIO_v2x_V101_CZ501_MXIC_110125_00_375K.mcs: 1: warning: ignoring garbage lines srec_info: AUDIO_v2x_V101_CZ501_MXIC_110125_00_375K.mcs: 109: hexadecimal digit expected
http://srecord.sourceforge.net/
Al tratar de convertir el archivo con la aplicación de la misma familia, da error:
srec_cat AUDIO_v2x_V101_CZ501_MXIC_110125_00_375K.mcs -o cz501.hex -intel srec_cat: AUDIO_v2x_V101_CZ501_MXIC_110125_00_375K.mcs: 1: warning: ignoring garbage lines srec_cat: AUDIO_v2x_V101_CZ501_MXIC_110125_00_375K.mcs: 109: hexadecimal digit expected
Probé con otro conversor de codigo cerrado, llamado hex6x, de Texas Instruments (solamente el ejecutable), pero me pide una variable t.out, que probablemente se refiere a un archivo creado con la aplicación principal: wine hex6x.exe AUDIO_v2x_V101_CZ501_MXIC_110125_00_375K.mcs -o -i cz501.hex "AUDIO_v2x_V101_CZ501_MXIC_110125_00_375K.mcs", line 1: FATAL ERROR: cannot open input file 't.out': No such file or directory (aborting)
De la aplicaciones que aparentemente funcionan, hay una llamada promgen, pero para obtener ese utilitario solo, debo resgistrarme y bajar el entorno completo de programación, que está en el orden de los gigabytes: http://www.xilinx.com/support/answers/476.htm
Alguien me puede dar una mano con esto?
-- USA LINUX OPENSUSE QUE ES SOFTWARE LIBRE, NO NECESITAS PIRATEAR NADA Y NI TE VAS A PREOCUPAR MAS POR LOS VIRUS Y SPYWARES: http://www.opensuse.org/es/ Puedes visitar mi blog en: http://jerbes.blogspot.com.ar/
Si yo no recuerdo mal ese formato es originario de intel, las lineas empiezan con los dos puntos. El formato tipico de motorola es el S, las lineas empiezan con una "S". Ahora no tengo a mano ningun conversor, pero te lo busco.
¿Lo podras executar en WINDOWS?
Lo había ejecutado previamente, pero no recordaba el mensaje exacto.
En teoría, ambos formatos, origen y destino, son de intel, el origen mcs-86, y el destino hex tambien de intel.
Los utilitarios de Xilinx, pueden volcar directamente a través de JTAG, los archivos mcs a la Flash, ya sea del microcontrolador, o externa, como este caso. Por otro lado, de esa misma firma hay un utilitario que mencioné antes, llamado promgen, que parece bastante prometedor, pero no encontré la forma de poder descargarlo solo, sin tener que bajar la suite completa, que además tiene las versiones también para Linux: http://www.xilinx.com/support/download/index.htm
Bueno, me jugué por Linux, empecé la descarga en el trabajo, espero que el proxy no me la corte, son 6,5 GB, y con el pendrive de 8 GB me llo puedo llevar. Es interesante ver, como en este campo, muchas companías le dan tanta o mas importancia a Linux, que a windows. Algunas de ellas, tienen el desarrollo principal hecho en Linux, y la versión windows, la corren con el emulador Cygwin: http://macraigor.com/swproducts.htm
Pero lamentablemente, solo funcionan con sus interfaces.
Para los primero 4 microcontroladores que programé (1 familia PIC16F, y 3 Atmel AVR), usé una interfaz serie, con los pines soldados directamente en la placa donde debían funcionar, y no tueb ningun problema, usando un programador universal llamado Ponyprog, del cual tambien hay versiones Linux. Pero esta vez, cometí el error de comprar una interfaz propietaria. La alternativa de armar una interfaz JTAG, por puerto paralelo, no me sirve, porque el mobo de mi pc ya no lo trae, y por puerto serie, tien los pines en el mobo, pero ese tipo de interfaz, no implementa todos los terminales de la interfaz JTAG.
Gracias, Juan
El hex es un archivo a lo bruto, contiene directamente la info, sin cabeceras ni checksums, no creo que el inventor sea Intel, mas bien procede de los principios de los ordenadores, y es que antes de existir los micros e incluido Intel ya existía vida digital.
Supongo que debió empezar a usarlos IBM.
Encontré una info adicional, del desarrollo del firmware, pero del modelo anterior del microcontrolador, el MLC3890, y el que tengo es el MLC3895: http://read.pudn.com/downloads100/sourcecode/unix_linux/network/410748/MP3P3... De este link, se pueden ver algunos detalles de cada uno de los archivos fuentes o headers: http://en.pudn.com/downloads100/sourcecode/unix_linux/network/detail410748_e... Ej: http://read.pudn.com/downloads100/sourcecode/unix_linux/network/410748/MP3P3... En coreano: http://www.dssz.com/302016.html Salu2 -- USA LINUX OPENSUSE QUE ES SOFTWARE LIBRE, NO NECESITAS PIRATEAR NADA Y NI TE VAS A PREOCUPAR MAS POR LOS VIRUS Y SPYWARES: http://www.opensuse.org/es/ Puedes visitar mi blog en: http://jerbes.blogspot.com.ar/ -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org