Bueno, pues aquí formulo esta pregunta que me parece que necesita un milagro para responderse, pero si alguien ha programado ya esta familia de micros podría comentar un poco su experiencia.
Ha caido en mis manos un Z51F0811 de la familia Z8051 que son los 8051 que recientemente (2012) ha introducido Zilog en el mercado. La verdad es que para ser un micro de 1 dolar tiene un montón de funcionalidades. Me gustaría hacer un hola mundo pero sin invertir en un programador para este micro, al menos de momento. La idea es subir al chip un HEX de ejemplo y comprobar cómo funciona. El problema es que la Datasheet es muy vaga en el manejo de la programación. He repasado 20 veces el datasheet y siempre me faltan datos para poder hacer algo. Por ejemplo, el sistema usa 2 líneas (twin bus) para acceder al depurador integrado del chip, o OCD. La forma de manejar estas líneas es muy parecida a un bus I2C (DSCL,DSDA). Pero hasta ahí llega, porque a partir de ahí aparecen unos algoritmos para las funciones de Flash y EEPROM, algo vagos, que implica escribir y leer valores en los SFR (registros de función especial) dedicados a la programación del chip. Sé cómo enviar paquetes de bytes al microcontrolador, y sé qué registros hay que escribir para operar con la flash y la EEPROM, pero ¿Cual es el formato de los paquetes del bus para leer y guardar valores en dichos SFR?, algo así como [inicio],[comando],[registro],[valor],[final], donde comando pudiera ser leer o escribir registro, el valor sería enviado al micro o devuelto por el micro. Por otro lado para entrar en el modo In System Programming (ISP), es necesario, además de aplicar la secuencia alternativa de 12 pulsos en DSDA y DSCL, antes poner a nivel bajo durante 10us el pin nTEST, pero ¿Donde está ese pin?.
Además hay otro modo, modo de programación paralela, donde los datos se meten en forma de bytes y ahí si aparecen varios comandos para iniciar la lectura o la escritura de las distintas secciones de la memoria del pic, el problema es que esos comandos vienen ejecutados alternando señales en varias lineas, nTEST, nALE, nWR, nRD, PDATA[7:0], lineas de pines que no aparecen equivalencia por ningún lado en ninguno de los encapsulados de este IC. Sí que he visto alguna equivalencia en el Z51F0410 pero es que este micro es uno de 8 pines y poco tiene que ver con el que tengo.
¿Alguien tiene alguna información, alguna appnote, o algo para averiguar de donde saco o bien los pines extraviados o bien los comandos del OCD para el ISP?
Sé que hay programadores alternativos al oficial, aunque pocos, por eso tiene que haber algo que de alguna pista para poder acceder a las especificaciones completas del modo de programación.
Como veis, la pregunta tiene miga, así que que encuentre alguna respuesta directa será un milagro (no la típica de comprate el programador y tendrás menos dolores de cabeza), en cualquier caso toda ayuda será bienvenida.
Gracias y un saludo. ...
Ha caido en mis manos un Z51F0811 de la familia Z8051 que son los 8051 que recientemente (2012) ha introducido Zilog en el mercado. La verdad es que para ser un micro de 1 dolar tiene un montón de funcionalidades. Me gustaría hacer un hola mundo pero sin invertir en un programador para este micro, al menos de momento. La idea es subir al chip un HEX de ejemplo y comprobar cómo funciona. El problema es que la Datasheet es muy vaga en el manejo de la programación. He repasado 20 veces el datasheet y siempre me faltan datos para poder hacer algo. Por ejemplo, el sistema usa 2 líneas (twin bus) para acceder al depurador integrado del chip, o OCD. La forma de manejar estas líneas es muy parecida a un bus I2C (DSCL,DSDA). Pero hasta ahí llega, porque a partir de ahí aparecen unos algoritmos para las funciones de Flash y EEPROM, algo vagos, que implica escribir y leer valores en los SFR (registros de función especial) dedicados a la programación del chip. Sé cómo enviar paquetes de bytes al microcontrolador, y sé qué registros hay que escribir para operar con la flash y la EEPROM, pero ¿Cual es el formato de los paquetes del bus para leer y guardar valores en dichos SFR?, algo así como [inicio],[comando],[registro],[valor],[final], donde comando pudiera ser leer o escribir registro, el valor sería enviado al micro o devuelto por el micro. Por otro lado para entrar en el modo In System Programming (ISP), es necesario, además de aplicar la secuencia alternativa de 12 pulsos en DSDA y DSCL, antes poner a nivel bajo durante 10us el pin nTEST, pero ¿Donde está ese pin?.
Además hay otro modo, modo de programación paralela, donde los datos se meten en forma de bytes y ahí si aparecen varios comandos para iniciar la lectura o la escritura de las distintas secciones de la memoria del pic, el problema es que esos comandos vienen ejecutados alternando señales en varias lineas, nTEST, nALE, nWR, nRD, PDATA[7:0], lineas de pines que no aparecen equivalencia por ningún lado en ninguno de los encapsulados de este IC. Sí que he visto alguna equivalencia en el Z51F0410 pero es que este micro es uno de 8 pines y poco tiene que ver con el que tengo.
¿Alguien tiene alguna información, alguna appnote, o algo para averiguar de donde saco o bien los pines extraviados o bien los comandos del OCD para el ISP?
Sé que hay programadores alternativos al oficial, aunque pocos, por eso tiene que haber algo que de alguna pista para poder acceder a las especificaciones completas del modo de programación.
Como veis, la pregunta tiene miga, así que que encuentre alguna respuesta directa será un milagro (no la típica de comprate el programador y tendrás menos dolores de cabeza), en cualquier caso toda ayuda será bienvenida.
Gracias y un saludo. ...
Última edición: