2022-11-20 02:09 PM
New project with STM32CubeIDE version 1.10.01 Part is STM32L562Q
Configured chip, running bare metal (no RTOS). SysTick source is TIM2.
main() -> HAL_Init() -> HAL_InitTick -> HAL_TIM_Base_Start_IT()
Then, right after the TIM2 is enabled, we get <signal handler called>() at 0xffffffb8
The Segger J-LINK Plus Compact probe green LED flashes rapidly once this happens. What did the code generator leave out? This code doesn't even get out of the gate and get through HAL Init. We turn on TIM2 and we're done/hung.
2022-11-20 07:22 PM
Check IRQHandler name and binding.
Watch for .cpp or C++ compilation for name mangling.
Check Vector Table address/mapping.
Custom board, make sure boot0 pulled low.
2022-11-21 08:08 AM
Thanks, you bring up a good point on BOOT0. I was enabling trust zones and using the boot loader but decided to drop that complexity until the base design is solid. Forgot to flip BOOT0 from pullup to pulldown. You're correct in assuming I want default 0x08000000 as my default starting address.
I'll check on the name mangling, as I do have interrupt handlers for all the interrupts I use. I did notice that 4 of my vectors in device memory do not point to code. So I'm digging into that.
Thank you for the debug tips.
2023-06-29 01:22 AM
Hi Grizz,
Did you find a solution?
I have the same problem. Using FreeRtos and because of that I'm using TIM7 as timebase for the HAL.
2024-08-02 09:15 AM
HI,
Facing the same issue with FreeRTOS and TIM11 as a timebase for HAL.
Board used is NUCLEO-F401RE.
Any solution would be appreciated.
Regards
2024-08-05 01:11 AM
Hi,
I had to solve SysTick and HAL_Delay.
You can checkout this tutorial:
Getting Started with STM32 - Introduction to FreeRTOS (digikey.com)
Regards,
Mat