We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I was having some issue executing from SDRAM (now working) and looked into this support document:
http://www.keil.com/support/docs/3777.htm
For part 2 of this note - should:
RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN;
SYSCFG->MEMRMP |= SYSCFG_MEMRMP_SWP_FMC_1;
actually be:
SYSCFG->MEMRMP |= SYSCFG_MEMRMP_SWP_FMC_0; // from "stm32f756xx.h" : #define SYSCFG_MEMRMP_SWP_FMC_0 0x00000400U // from "stm32f756xx.h" : #define SYSCFG_MEMRMP_SWP_FMC_1 0x00000800U
From the Ref' Manual: Bits 11:10 SWP_FMC[1:0]: FMC memory mapping swap Set and cleared by software. These bits are used to swap the FMC SDRAM banks and FMC NOR/PSRAM in order to enable the code execution from SDRAM Banks without modifying the default MPU attribute 00: No FMC memory mapping swapping SDRAM bank1 and Bank2 are mapped at 0xC000 0000 and 0xD000 0000 respectively (default mapping) NOR/RAM is accessible @ 0x60000000 (default mapping) 01: NOR/RAM and SDRAM memory mapping swapped, SDRAM bank1 and bank2 are mapped at 0x6000 0000 and 0x7000 0000, respectively NOR/PSRAM bank is mapped at 0xC000 0000 10: Reserved 11: Reserved