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


About debugging with ITM

Hello.
My attempts to use the ITM in the SW ended as follows. Writing SWO stream into the external file by directive for OpenOCD allowed discover strange format. First byte in words sequence always is 1, second byte is the useful information written by ITM_SendChar(). What is the first byte? This sequence not may be redirected in console or text file without filtering. When outputting values equal to 1, using ITM_SendChar(1), useful data is no longer distinguishable. In addition in output sequence too many errors. This errors present on any transmission speed. Who know, what is this? List of configuration and fragment of swo.log file below.

nucleo_f334r8.cfg

|# This is an ST NUCLEO F334R8 board with a single STM32F334R8Tx chip.
|# By Ac6
source [find interface/stlink-v2-1.cfg]
set WORKAREASIZE 0x2000
source [find target/stm32f3x_stlink.cfg]
itm port 0 on
tpiu config internal swo.log uart off 64000000 2000000
reset_config srst_only srst_nogate

swo.log

Clock initialized.
Start initialize.
Ports.
Timer3
ADCs.
HRTimer.
Communications.
Started.
Peripherals.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop execcuted.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executDisplay loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Discuted.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop execut@Z@®play loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
DispDisplay loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Dis¬uted.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executep executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop eDisplay loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
DisDisplay loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Dis executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop executed.
Display loop exDisplay loop executed.