Altera_Forum
Honored Contributor
14 years agobooting from a tightly coupled memory
INTRO:
I'm trying to desing a system where two NiosII share the same instruction TCM. I need that for the design to fit the available M9K and achieve the required performance. It should work as both processors have exactly the same configuration and memory map and all.. I'm using a dual-port on-chip ram and each NiosII has it's tightly coupled instruction master connected to one of the memory ports. There's a problem with that: I have no port left so I can write to this memory. So, the only way out is to initialize this memory while configuring the device. THE PROBLEM: I do "make mem_init_generate" from the NiosII application directory. That gives me a <tcmname>.hex file I guess I should use to initialize the memory. That seems to work (I generate the sof, configure the device and I'm able to read the tcm using system console), although the software don't get to main(). Instruction address offset 0x50 is a jump (bne) to some wrong address. It seems _start code at this address, as shown by "nios2-elf-nm | sort": 01000020 T _start 01000058 t alt_after_alt_main So, it seems the _start at the generated memory initialization .hex file is not pointing to the tcm, right? Any clue about that? Thanks in advance!