A lot of good things happened in the last three weeks, so here is a new updated McuOnEclipse component release, with the following main improvements:
- Updated Segger RTT component
- New Segger SystemView component
- FreeRTOS ‘tasklist’ shell command
- FreeRTOS with support for Segger SystemView
1. Updated Segger RTT Component
The Segger RTT has been updated to the latest V2.20a version. The component has extended methods to use it as a terminal:
The version of the library is shown in the properties. I can now specify for the terminal channel the buffer mode and better configure the timeout:
2. New Segger SystemViewer Component
The new Segger SystemViewer is now supported with its own component (see “Segger SystemView: Realtime Analysis and Visualization for FreeRTOS“). The primary usage is to use it with an RTOS (FreeRTOS), but with OnUserStart() and OnUserStop() I can use it for my own profiling:
With the properties I can configure all the necessary settings:
I can use the SystemViewer component with the RTT component as a base, e.g. using a RTT commandline/shell interface. To use it with FreeRTOS, I can enable it in the RTOS component (see next section).
💡 Support for ARM Cortex-M0+ has been added to the SystemViewer Library, but it is still experimental!
FreeRTOS with the Segger System Viewer
To use the Segger SystemViewer, all what I need is to enable ‘Use Trace Facility’ in FreeRTOS and enable the Segger System Viewer Trace:
The RTOS has been extended to support nicely the Segger System Viewer. The viewer available free-of-charge from https://www.segger.com/systemview.html
Both the kernel activities and the free stack space is reported now:
FreeRTOS Task List
The FreeRTOS shell interface was using a legacy RTOS API to show the list of task with the ‘status’ command. This is now implemented with the standard RTOS API, and the task list is reported with the ‘tasklist’ command.
Old output with ‘status’:
< FRTOS1 status 0> FRTOS1 : 0> TASK LIST: 0> Name State Prio Stack TCB# 0> -------------------------------------------------------------- 0> Shell R 1 423 1 0> IDLE R 0 180 3 0> Logger B 2 194 2
New output with ‘tasklist’ reports in addition the task handle, the base priority and the run time counters (only show values if runtime statistics are enabled):
< FRTOS1 tasklist 0> TCB# Handle Name State Prio Runtime Stack 0> 1 0x200007E8 Shell Ready (1,1) 0x00000000 416 0> 3 0x20001088 IDLE Ready (0,0) 0x00000000 180 0> 2 0x20000D00 Logger Blocked (2,2) 0x00000000 194
This update is heavily around FreeRTOS and the Segger tools. I hope it is useful for you. The new files can be downloaded from SourceForge: https://sourceforge.net/projects/mcuoneclipse/files/PEx%20Components/
For installation see “McuOnEclipse Releases on SourceForge“.
Happy Updating 🙂