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
Summary
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 🙂
Hi Erich,
Will you be posting any updates to your quad copter project before xmas? as i am considering a similar project that i may start during xmas and you blog posts would be very helpful especially the PID controller.
Rgds
LikeLike
Yes, I hope so, but I cannot promise anything. The quadrocopter (and anything else here) is a hobby project, and family and work comes first.
The most efficient way would be probably to jump into my university classes right now as this and next week is all about control theory and PID 🙂
LikeLike
Hello Erich,
I have updated to this version assuming this works with KSDK 1.3.0.
I am using FreeRTOS on a K64F. I am following the old KSDK 1.2.0 guide that you posted. When I generate the files, it keeps on deleting fsl_os_abstraction_bm.c and fsl_os_abstraction_bm.h. It claims it is not needed
Then I can’t compile the project since osa1 depends on it.
I told it not to delete it and it compiled.
Thank you,
Jason
LikeLike