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


initialise_monitor_handles causes SIGTRAP

I am trying to use SWO/SWV on a STM32F429i-Disco.
My Linker flags are : -specs=nosys.specs -specs=nano.specs -specs=rdimon.specs -u _printf_float
Debugger Startup flags: monitor reset halt arm semihosting enable

What have I missed?

Tunisia

Yes, this incomplete configuration is to enable semihosting (not SWO/SWV) :
you have missed the : -lc -lrdimon
the complete linker flags are :

-specs=nano.specs -u _printf_float -specs=rdimon.specs -lc -lrdimon


To use SWO/SWV:
in syscalls.c, add #include “stm32f4xx.h” (depends on your device) & (you should include CMSIS folder)
and modify the _write function :

int _write(int file, char *ptr, int len)
{
	int DataIdx;

	for (DataIdx = 0; DataIdx < len; DataIdx++)
	{
	   ITM_SendChar( *ptr++ );
	}

	return len;
}


After that, you can use printf to output message via printf.

To visualize the ITM output, you can use ST-Link Utility (menu : ST-LINK > Printf via SWO Viewer)

Best Regards,
Tarek