AnsweredAssumed Answered


Question asked by Matt G on May 14, 2018
Latest reply on Jun 7, 2018 by Clive Two.Zero



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.