I am using a BF561 for a pretty large program and I have a large amount of data being written to my SDRAM (addr 0x00000000 to 0x01FFFFFF). I access that data through a pointer. There are times that it appears the data gets corrupted and I'm not sure why. Some sets of compiled code are good when I click the "internal SRAM and external SDRAM" radio button for Memory Usage, but other times it still gives me an issue. So my questions are:
- Does that radio button assign code to the external SDRAM too? Or does it keep that space free unless I assign code there? Does it initialize the external SDRAM differently if I check that button or not?
- If I have a pointer that is set to point to addr 0x00000004 (so it's not a null pointer), what is the behavior if I don't have SDRAM initialized correctly?
- I do not currently have "SDRAM bank 0 in use" checked in the compiler settings. Would this make a difference in how my code accesses data?
Thank you for your help.