Skip to main content
Visitor II
June 22, 2020
Question

Systick interrupt not working on BOOT_ADD1 context

  • June 22, 2020
  • 23 replies
  • 3163 views

Hi,

I develop a software using delay (and do Systick resource). This software works fine when it's mapped @0x08000000 and using BOOT_ADD0.

But, when I maps it @0x08008000 and use BOOT_ADD1, no Systick raises !

Somebody has already resolve this problem.

Thanks in advance.

    This topic has been closed for replies.

    23 replies

    ABITT.1Author
    Visitor II
    June 24, 2020

    OK, into the SystemInit function, the VTOR register is initialiser with FLASH_BASE and VECT_TAB_OFFSET.

    where this data are set ?

    Visitor II
    June 24, 2020

    Assuming your startup assembly code is not much different from mine, replace the statement that sets SCB->VTOR (in system_stm32*.c) with this:

    extern uint32_t *g_pfnVectors;
    SCB->VTOR = (uint32_t)&g_pfnVectors;

    it puts the address of the actual vector table in SCB->VTOR, regardless of where it ends up in memory.

    ABITT.1Author
    Visitor II
    June 25, 2020

    Good, this fix works fine.

    Is it planned to take this fix in future issue of STM32CubeIDE ?

    Thanks for your help.