Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


Timer Interrupt crashes after changing to c++

Hello
i am building an application on a stm32f769-Disco with stemwin without os
momentary very simple, just writes the screen and the TIM2 is generating
a interrupt with ca 30 Hz and toggles on D6. sofar so good...
now i rightclick the project, choose convert to c++, clean and rebuild
the application still starts and works but as soon i start the TIM2 Interrupt:
if (HAL_TIM_Base_Start_IT(&TimMasterHandle) != HAL_OK) {
it crashes instanly.....
where does “change to c++” change the configuration?
thanks for any help!
all the best
styro

France

Hi,

One possible cause is that, if your interrupt handler is in a C++ source file, the Interrupt handler must be a C linkage functions. In C++ you must then prepend extern "C" to the function declaration and definition, otherwise the function name will be decorated by the C++ compiler to become something like TIM1_IRQHandler_v instead of TIM1_IrqHandler, thus the linker will pick the default handler which just loops indefinitely...

Bernard (Ac6)

Yeah Thanks, that was it!

all the best
styro