Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

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