Como grabar cores en el UnAmiga

Cómo y cuándo actualizar el firmware y/o los cores, funcionalidades que se van añadiendo

Moderador: jepalza

Responder
Avatar de Usuario
jepalza
Spartan 3
Mensajes: 226
Registrado: 14 Ago 2018, 18:51

Como grabar cores en el UnAmiga

Mensaje por jepalza » 16 Ago 2018, 20:12

Paso a detallar los pasos necesarios para implementar el A500 Minimig en la placa genérica con Altera EP4CE22 y la "sombrilla" que hemos preparado Antonio Villena y yo.

Estos pasos suponen que tienes un grabador USB-Blaster, original o clónico. Los pasos son iguales, pero en el caso del clónico, según modelos, los "drivers" lo mas seguro es que no te sirvan los oficiales, y debas instalar unos genéricos, por ejemplo, los de la página oficial del FTDI.

En mi caso, tengo uno de los grabadores Clónicos, y si habéis comprado la placa al mismo señor que yo, en china, tendréis el mismo modelo, por lo que, seguramente, no os sirvan los oficiales. Yo instalé unos que bajé de esta página:
http://www.helpjet.net/Fs-74907242-6919 ... 75413.html
(si no los encontráis, buscad "CDM 2.04.16 WHQL Certified" que algún sitio los tendrá.)

Otra cosa, es que, al menos en mi caso, no deja instalarlos de modo automático. Hay que hacerlo "a mano", con lo de "actualizar drivers/tengo disco/etc" e ir navegando hasta la carpeta. (estos pasos no los explico, que son un rollo, son clásicos de "guindous")

Si tienes un grabador oficial, puedes directamente instalar el programador del Quartus, que él solo se encarga de los "drivers".

El programador, se puede usar el módulo independiente, no es necesario instalar el Quartus 17.1 completo, que son 12gigas de datos.
El "independiente" (o "standalone" que dirían los angloparlantes), podría ser este, por ejemplo:
https://www.altera.com/downloads/softwa ... e/121.html

Y digo podría, por que yo empleo el completo de la 17.1, pero he leído por la red, que este independiente en versión 12.1 también sirve.

Ahora, para grabar, tenemos dos posibilidades, bien en modo "volátil" o "permanente". EL volátil, lo mete en la RAM de la FPGA, y al apagar se pierde. Es muy rápido de grabar, solo 5 segundos, y es ideal si vas a estar cambiando de cores (por ejemplo, el otro core que tengo preparado, el del Next186)
Pero entiendo que querréis el permanente, que lo graba en la flash especial "EPCQ64". Este proceso tarda unos 30 segundos.

Para el modo temporal, se usan los ficheros de extensión ".SOF" y para el fijo los de tipo ".JIC"


Como vale mas una imagen que mil palabras, dejo fotos del proceso.

Modo volátil (SOF)
Imagen

Modo permanente (JIC)
Imagen


Nota: Si ademas, somos "programadores", y hacemos nuestros propios cambios al core, para volver a generar el fichero ".JIC" de la flash permamente, os dejo "el cómo", sacado de la documentación oficial, adaptado a nuestra flash.
Imagen



**************************************************
Notas exclusivas del core "Minimig A500" "mio":
** Como es lógico, está adaptado a nuestro "sombrero" (o "sombrilla", por que no cubre toda la placa :rofl!: )
Para lo cual, he elimindado cosas, de momento, supérfluas, como el puerto serie, el segundo mando (que en realidad es el primero, por que supuestamente sirve también para el ratón original del A500, aunque yo no lo he probado), varios led del sistema, interruptores para seleccionar el audio mono/estéreo, o el modo de vídeo 15khz.
** Se puede (en el futuro) hacer otra "sombrilla", para el lado opuesto, que lleve UART, JOY-A e interruptores de selección.
** Yo de momento, solo he habilitado el modo 15khz, en el PIN-M7 , que queda justo pegado a los pines de 3.3v. de la "sombrilla". Por defecto, lo he dejado activo interno en "1", que significa "apagado", o sea, modo VGA. Si quieres modo 15khz, puentea el PIN-M7 con GND. Sería conveniente, si solo usas VGA, puentear a +3.3 el pin, por que si no, el estado interno de "1" se puede ver afectado hasta con solo acercar el dedo al pin, y se activa "sin querer". Esto es por que ese pin no lleva resistencia tipo "PULL-UP", por que no estaba preparado para ello, y ha sido un inserto de última hora.
** La "sombrilla" lleva dos LED, uno indica acticidad del Floppy (FD) y el otro de HardDisk (HD), pero "solo" de lectura, de escritura no indican, por que son LED aparte, y por no complicar el diseño, no los he incluído. Hice una prueba de mezclar el estado de lectura con el de grabación, pero queda feo, por que el led se enciende demasiadas veces, y parece que siempre está fijo.
** el led interno de la propia placa Altera, el "D8" lo he acoplado al estado del FIFO, para ver actividad de la CPU, y saber que "sigue viva"
** El botón de "reinicio" del minimig (HARDRESET) es el botón "K3", y el reinicio tipo A500 real, sería la combinación "CTRL+ALT+ALT-GR" (según qué teclados)
** por último, al principio no os asustéis, por que la primera vez que arranca (en frío), tarda un rato, y no sale nada en pantalla (pantalla apagada). "Creo" que el fallo es por que la SDRAM de nuestra placa no se reinicia correctamente, y lleva datos corruptos. Pero una vez iniciado (tarda unos 12 segundos), cada que vez que reiniciamos "en caliente", aparece el logo "minimig" con la pelotita famosa de amiga, girando.
** para los que no lo sepáis, la tecla F12 es el menú minimig.....

angel
Veroboard
Mensajes: 4
Registrado: 26 Ago 2018, 10:07

Re: Como grabar cores en el UnAmiga

Mensaje por angel » 26 Ago 2018, 10:10

Hola.
Menos mal que hay un manual para los que no tenemos ni idea de estos temas :lol:
Saludos.
Ángel.

gamusino69
Veroboard
Mensajes: 7
Registrado: 04 Sep 2018, 11:29

Re: Como grabar cores en el UnAmiga

Mensaje por gamusino69 » 03 May 2020, 21:32

Muy interesante.

Responder

Volver a “Firmware”