I have been working with a Waveshare Core 429I board, essentially an STM32F429IGT6 & IS42S16400J and Keil.
I am trying to store a large array in the SDRAM using the int32_t Array[xxxxx] __attribute__((at(0xD000000))); command, and have FMC and SDRAM functions initiated first.
I can declare a very large array okay and write to individual elements fine, but when I try to fill it using a for loop the program hard faults and "Cannot access Memory" is displayed. I don't think the for loop requires the array to be in the heap?
I have done lots of reading, I believe there is no reason to need a scatter file, increase the heap size or call the ram functions in the Systeminit routine when using SDRAM in main? I am a complete novice with Keil and my C experience is fairly limited.