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 23, 2020

    I've tried some cases :

    • application mapped to 0x08000000 with BOOT_ADD0=0x2000 ==> OK
    • application mapped to 0x08004000 with BOOT_ADD0=0x2001 ==> KO (the application starts but waits at the first HAL_delay())

    The HAL_delay function waits some millisecond, the counter is incremented by the systick_handler, handler under interrupt.

    I really think that I have bad setup some where ! but where ?

    Visitor II
    June 24, 2020

    > but where ?

    How could I guess when you don't answer my question about the contents of the flash at 0x0800003C and 0x0800803C ?

    ABITT.1Author
    Visitor II
    June 24, 2020

    of course, sorry :(

    @0x0800003C and @0x0800803C I have the address of the systick_handler (handler incrementing a static variable on each IT at 1ms).

    Visitor II
    June 24, 2020

    And how do I guess their values?

    ABITT.1Author
    Visitor II
    June 24, 2020

    This values seem to be good.

    when I look the flash memory address corresponding to the 0x0800803C content, it correspond to the systick_handler !

    The problem isn't there.

    The problem is that there isn't IT event raised !

    Visitor II
    June 24, 2020

    Sorry, if you don't tell the values, I can't help you any further.

    ABITT.1Author
    Visitor II
    June 24, 2020

    OK

    @0x0800803C contains 0x08008F25...

    and this address location correspond to the systick_handler...

    ABITT.1Author
    Visitor II
    June 24, 2020

    0693W000001rPH7QAM.jpg0693W000001rPGeQAM.jpg

    Visitor II
    June 24, 2020

    What value does the SCB->VTOR register contain?

    ABITT.1Author
    Visitor II
    June 24, 2020

    Thank you for your question.

    Finally, it's this register which have a bad value.

    after modify it with the 0x08008000 value, it works fine :)

    I looking for the good way to program this register, with the good value (corresponding to the mapping setup done into the LD file)