AnsweredAssumed Answered

stm32 m0 and firmware relocation

Question asked by Denis Gottardello on May 24, 2018

According with the example these lines of code

 

    #define APPLICATION_ADDRESS     (uint32_t)0x08004000
    volatile uint32_t *VectorTable = (volatile uint32_t *)0x20000000;
    uint32_t ui32_VectorIndex = 0;
    for(ui32_VectorIndex = 0; ui32_VectorIndex < 48; ui32_VectorIndex++) {
        VectorTable[ui32_VectorIndex] = *(__IO uint32_t*)((uint32_t)APPLICATION_ADDRESS + (ui32_VectorIndex << 2));
    }
    __HAL_RCC_AHB_FORCE_RESET();
    __HAL_RCC_SYSCFG_CLK_ENABLE();
    __HAL_RCC_AHB_RELEASE_RESET();
    __HAL_SYSCFG_REMAPMEMORY_SRAM();

 

work in my SMT32F091RCTx demo board but only with
CubeMX -> SYS -> TimeBase Source -> SysTick

If I chane it in CubeMX -> SYS -> TimeBase Source -> TIM1

the relocated firmware doesn't start.
What have I to do in order to have my relocated firmware working?

Outcomes