Skip to main content
JR2963
Senior II
Jun 19, 2023 2:31 PM UTC
Question

Systick does not generate IRQ - STM32G0

Hi,

I have made a custom bootloader. When I jump to application so very often (not always!) the systick in app does not generate interrupt. I checked the Systick - yes systick ticks and is running. For sure I added in main.c:

NVIC_DisableIRQ(SysTick_IRQn);
NVIC_ClearPendingIRQ(SysTick_IRQn);
NVIC_EnableIRQ(SysTick_IRQn);

Any idea please?

This topic has been closed for replies.

2 replies

waclawek.jan
Super User
Jun 19, 2023 10:00 PM UTC

Check if you don't run the application from within an interrupt. 

Some generic "interrupt does not fire" checklist here.

JW

Adrian Chmiel
Associate
Sep 1, 2023 6:25 AM UTC

I had this problem several times, problem mostly time is with BOOT0 pin.

Probably in your design it is connected to something and forces a change of the interrupt vertor table address.

Please check SCB_VTOR registry, should point to flash memory (not System memory of SRAM).

You can dissable checking BOOT0 pin by unchecking Option Bytes in STM32CubeProgrammer
Option Bytes -> User Configuration -> unCheck "nSWBOOT0"

Good luck!