I am trying to bring-up and test a RISC-V uController using the TinyFPGA. The uController relies on an SPI peripheral to retrieve the code from an external flash memory. I intend to flash my code in the TinyFPGA’s flash memory using the “TinyFPGA-Bootload”, and then connect the SPI interface to the FPGA to access the flash memory.
The issue I am having is that my uController is supposed to look for the first instruction at address 0x00, while the TinyFPGA-Bootloader stores the user data at address 0x50000. I guess there are two ways to solve this:
1- I edit the TinyFPGA-Bootloader such that it partitions the flash memory differently, so that the user data is stored starting address 0x00. However, I am not sure whether this is possible ? and how it should be done?
2- The other way, would be to implement some logic on the FPGA to shift the address requests coming from the uController to the user data addrerss defined by the bootloader (0x50000). However, I am not what would be the implications of this on the performance ? and how hard would this be to implement ?