Altera_Forum
Honored Contributor
15 years agoStruggling with boot from initialized onchip RAM
Greetings fellow Alterians!
I am using Quartus II 9.1 SP2, Cyclone III (16K) and EPCS16. My development board works fine and I can download and run software on my NIOS II via USB Blaster with no trouble. I have not gotten around to programing the EPCS yet. I have been running around in circles trying to do something that I had originally thought would be pretty straight forward. I want to boot my NIOS II from an on-chip RAM that is initialized from a HEX file. The crux of the problem appears to be that I cannot get the ".text" linker section to be within the "reset" linker region in the BSP editor. I have found several references that say that this must be done in order to boot in this way, including page 4-40 of the "Nios II Software Build Tools document" in a section called "Run from Initialized Memory Configuration". The last sentence says "The default Tcl script chooses this configuration when the reset and .text memory are the same.", but no where can I find any instructions on how to actually make this happen. According to BPS editor, the "reset" region can only be 32 bytes large, which is not enough to hold my application. Making it larger results in a hard error in the BSP Editor. I tried bypassing the editor and configuring settings.bsp directly, which resulted in a compile error due to the region being too small for my application. I am generating a HEX file out of the NIOS II software build environment (Eclipse) for my application and using it as the initialization file for the on-chip RAM. I'm generating this using the "mem_init_install" make target. I am obviously missing something here, and the documentation is clear as mud on how to do this. Any insights from more experienced NIOS II developers would be much appreciated. LH