Asked this before but only got partial answers, for one specific case. Here's what I need to do:
- on the RT1064 EVK, using MCUXpresso, I need to use the SDRAM for data (not code)
- data is "static" so (to conform to C specification) must be cleared by the C runtime before the "main" program starts (this means the SDRAM must be initialized PRIOR to main being executed)
- I need this to work in two scenarios: execute-in-place, and running in RAM. For the RAM case obviously I also need to be able to burn the code to flash so that the EVK can run without the debugger attached
So my questions are (and if possible please answer each one):
- should I enable the SEMC in the MCUXpresso Peripherals page, and if so, what settings should I use for the dozens of parameters?
- should I use the Pins page to configure the pins used by the SDRAM and if so which pins and to what values should I set them?
- should I put XIP_BOOT_HEADER_DCD_ENABLE=1 and SKIP_SYSCLK_INIT in the Preprocessor settings?
- should I declare my C variables using the __BSS(BOARD_SDRAM) qualifier or is there a better way?
- are there any other steps I need to take to get the SDRAM to work under both my scenarios?