Nios V, Max10, N25Q512A QSPI, XIP
Hello all.
I have this Max10 Dev Kit, it has 512Mbit N25Q512A QSPI flash.
I have a Nios V/m processor, and if I execute out of on-chip memory everything works fine.
I'd like to try Execute in place (XIP).
In Platform Designer I'm using the "Generic Serial Flash Interface Intel FPGA IP" component.
In the Nios V/m I have my reset vector pointing to "external_flash.avl_mem", offset is zero.
In the bsp-editor my .reset and .text are pointed at external_flash.
I convert app.elf to app.hex with:
elf2flash --input=app.elf --output=flash.srec --reset=0 --base=0 --end=0x3ffffff riscv32-unknown-elf-objcopy --input-target srec --output-target ihex flash.srec app.hex
Then I use "Convert Programming File" to convert app.hex to app.pof (using device CFI_512Mb). app.pof only contains the app.hex, I remove the "SOF Data" page, and Add Hex Data.
I use the "Parallel Flash Loader ii" to write app.pof to QSPI_Flash.
Then I reflash the Max10 with my nios.pof, but nothing runs.
Is this supported? Am I doing something wrong?
Thanks for your time.
Have you tried changing the addressing mode to 4 byte addressing? The default is 3-byte and is configured through the Control Register (0x0) of the IP. It could be that the 512mb memory requires more than 3-bytes to access.