McuOnEclipse Components: 22-Nov-2015 Release

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:

  1. Updated Segger RTT component
  2. New Segger SystemView component
  3. FreeRTOS ‘tasklist’ shell command
  4. FreeRTOS with support for Segger SystemView

SystemViewer

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:

Segger RTT Terminal Functions

Segger RTT Terminal Functions

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:

Segger RTT Properties

Segger RTT Properties

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:

Segger System View Methods

Segger System View Methods

With the properties I can configure all the necessary settings:

Segger System View Properties

Segger System View Properties

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:

FreeRTOS with Segger SystemViewer

FreeRTOS with Segger SystemViewer

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:

Segger SystemViewer

Segger SystemViewer

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 🙂

3 thoughts on “McuOnEclipse Components: 22-Nov-2015 Release

  1. 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

    Like

    • 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 🙂

      Like

  2. 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

    Like

What do you think?

This site uses Akismet to reduce spam. Learn how your comment data is processed.