¿cómo leer de la SPI FLASH?

Discursiones en general sobre el proyecto que no tienen cabida en otro foro / General discussion for uncateorized topics about the ZX-Uno project
Responder
Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

¿cómo leer de la SPI FLASH?

Mensaje por jepalza » 08 Nov 2015, 13:38

Hola chicos:
estoy a vueltas con el core del BOMBJACK. Funciona de maravilla, todo, sonido, teclado (en lugar de mando, va por teclado PS2, mas cómodo al menos para mi), pero los gráficos me salen "vacios", solo bloques de color.

Este core funciona de la siguiente manera:
Al ser el total de ROMS mayor en kilobytes que los bloques de BRAM libres, lo que hace, es "pegar" los 128k de gráficos detrás del BIT de 333k, obteniendo uno de 461k, a partir de la dirección final del BIT de la spartan 6 lx9, o sea, la 0x53500. Luego, en el core, se hace un "bootstrap" incial, que mantiene el juego congelando mientras el boot no se haya realizado, y lo que hace es coger los 128k de roms gráficas, y copiarlas en la SRAM desde la dirección "0" de esta. Al finalizar, pone a "1" el bootstrap para que no se repita, y la SRAM en modo "solo lectura" para que se comporte como una ROM.
Con los bloques BRAM libres ahora, puede mapear el juego con la RAM interna.

Hasta aquí el funcionamiento teórico, pero ocurre que en el Papilio Pro mediante una SRAM externa colocada por mi, funciona de maravilla, copiando la FLASH sobre la SRAM externa. Pero cuando lo replico en el ZXUNO solo veo bloques vacios, que en realidad es TODO CERO's, o sea, SRAM limpia.

editado: he borrado un comentario que hacía alusión a los pines HOLD y WP, por que me había colado (gracias a quest que me ha avisado)

¿alguna ayuda? ¿quizás el módulo de lectura de SPI del papilio (flash de 4mbits) no sea el mas correcto para la flash del ZXUNO (8mbits)?

Imagen
Última edición por jepalza el 08 Nov 2015, 14:10, editado 1 vez en total.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: ¿cómo leer de la SPI FLASH?

Mensaje por Quest » 08 Nov 2015, 14:06

Cuidado! Los pines Hold y WP NO están conectados sólo a EXT en la v2! Están conectados a la FPGA para poder leer a SPI x4 el bitstream.

Si haces lo que comentas te puedes cargar esos pines de la fpga (a mi me pasó), por eso a partir de la v4 no estarán mapeados a EXT para evitar este tipo de cosas.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: ¿cómo leer de la SPI FLASH?

Mensaje por jepalza » 08 Nov 2015, 14:08

Jopetas!! no lo he visto, me he quedado solo con el EXT. Dejo de jugar con eso entonces, y edito el mensaje.

De todos modos : ¿alguna forma alternativa de leer la SPI cpn este formato?

Código: Seleccionar todo

	-- FLASH chip SPI driver
	u_flash : entity work.spi_flash
	port map (
		O_FLASH_CK		=> O_FLASH_CK,	-- to FLASH chip SPI clock
		O_FLASH_CS		=> O_FLASH_CS,	-- to FLASH chip select
		O_FLASH_SI		=> O_FLASH_SI,	-- to FLASH chip SPI input
		O_FLASH_DONE	=> flash_done,
		O_FLASH_DATA	=> flash_data,

		I_FLASH_SO		=> I_FLASH_SO,	-- to FLASH chip SPI output
		I_FLASH_CLK		=> I_CLK,
		I_FLASH_INIT	=> flash_init,
		I_FLASH_ADDR	=> user_address
	);

Responder