Si quieres que el código se ejecute en SRAM. Hay varios pasos a seguir.
1. La tabla de vectores de interrupción debe modificarse para que se pueda reasignar.
#ifdef VECT_TAB_SRAM
NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
#else
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
#endif
2. Para configurar la carga dispersa, debe configurar la dirección de ejecución de su segmento de código y segmento de datos en RAM, que es el dominio de ejecución en el manual del brazo.
3. Su código es equivalente al modo de inicio y aplicación. El inicio se ejecuta en flash y luego la aplicación se mueve desde ni flash a la dirección de sram.
La dirección de su dominio en ejecución es la dirección donde se mueve el código a sram