Hi,I have built a system with PCIe-NIOS-SDRAM, with the program being stored in a separate onchip memory. I am able to read and write data to SDRAM through PCIe, And also able to read and write from NIOS2, but I observe the following things; + When I use Printf statement in NIOS2IDE, I get the ascii code of printf written to SDRAM! This doesn't make any sense to me, I think its a debug feature, if so I would like to turn it off. + If I don't use printf. still a few unintended bytes are written in the code space of SDRAM. But I don't want to leave any memory locations for program, thats why I have the on chip memory. Please let me know how to solve the above issues. I can provide more information, please let me know.. Thanks, Ujjwal
The printf code almost certainly uses malloced memory - which is why you are seeing in in SDRAM.I would certainly try to get the stack in on-chip memory - and to use tightly coupled on-chip memory so you don't need to allocate resources to a data cache or large i-cache (you still need an i-cache for the boot code and JTAG debug - unless you are loading the code over PCIe). If you do nee careful placement of code/data in memory blocks. I'd suggest writing your own linker script from scratch - start from the documentation rather than the default script!