when debugging CMSIS-RTX, I often use Event Viewer, and I see my created threads are in Event Viewer's left list, but at the same time, some unknown threads whose name is <No Address> are also there,and sometimes the number of these weird threads is increasing! I really cannot figure out what are these threads with <No Address> tag? Is that mean there's something wrong with my program? Can anyone help me please? thanks a lot!
Hi,
do you get any Trace errors (see uVision Status bar)? Showing <No Address> is most times an indicator for corrupted ITM Trace data (the RTX reports on Ch.31). Please check your Trace configuration, if the SWO Speed is correct. If you have a ULINK pro, you can better use the 4pin Trace Port, this is much faster.
You may also raise a support request.
. BR, /th.
yeah,there's indeed some errors, it shows 'Data Overflow' while sometimes 'buffer overrun' or 'No synchronization' .
The board is STM32F7 discovery, so it's ST-link inside the board and the core clock is 216MHz. SWO speed is autodetected,which is 4MHz. I just select Pin 31 in ITM ports , and only 'CPI 'in Trace Events, and Timestamps Prescaler is 1. Is there any wrong configuration?
Data overflow and buffer overrun means you're capturing events too fast. The ST-Link is not that fast (i.e. compare a ulink pro with 50 MHz SWO Clock). Try reducing the timestamp amount (increase the prescaler) and try to reduce the number of events to capture (disable most itm ports, tracing etc).
No synchronization means there is something really wrong. Usually the clock is not set up correctly. Setting up a break point after the clock initialization and then continuing works for me, if the clock is set up right.