Due to a limitation of the Nios® V/g processor in the Intel® Quartus® Prime Pro Edition Software version 23.3, the Nios® V/g processor cannot directly boot from memory-initialized Instruction TCM.
The main cause of this problem is that the Instruction TCM is only accessible as instruction memory (not supported as both instruction and data memories). Therefore, the alt_load() function is not applicable to copy the data sections. The user needs to instantiate and initialize a dedicated data memory for Instruction TCM.
To workaround this problem in Intel® Quartus® Prime Pro Edition Software version 23.3, follow the steps below:
1. Instantiate Instruction TCM for instruction memory.
2. Instantiate a memory device for data memory connected to the data manager port. Either on-chip memory or Data TCM is fine.
3. Convert the .elf file to a .hex file for both ITCM and data memory. Make sure the begin and end addresses are correct for each memory.
4. Initialize both the instruction and data memory devices with their respective .hex file.
5. Recompile to generate the new .sof file.
This limitation is currently scheduled to be enhanced in a future release of the Intel® Quartus® Prime Pro Edition Software.