Post Go back to editing

Debug tools for freertos?

We have during the last 10 years moved from VDSP++ and VDK via CCES+micrium to the current CCES+freertos setup.

The RTOSes themselves have their pros and cons but they all do their job.

The more troublesome part is the debug tools, with less tools being available in the dev environment for each step.

Using VDK and VSDP++ full system trace was available out of the box including interrupts, threads, semaphores and mutexes in realtime.

With CCES and micrium it is possible to halt the program and view the RTOS status window. This is helpful sometimes but a lot less than what was available before.

Switching from micrium to freertos leaves me with no os debug support whatsoever within CCES. 

There are 3rd party tools available like the percepio tracealyzer and the (free) segger systemview. Unfortunately systemview don't support realtime trace for blackfin due it not being support by JLINK. There are some 3rd party Eclipse freertos tools that may or may not work with CCES?

When developing complex realtime multithread applications on ICE-2000, CCES and Freertos on BF70x. Are there any recommended tools for trace and debug?

  • ADI, any answers? We're having the same issues.

  • Hi

    many apologies for the delay.

    At the moment we have not tried any third party debug tools with our ports of FreeRTOS.

    We are currently working on a first release of a FreeRTOS Add-In for CrossCore Embedded Studio.

    This will support the BF7xx, ADSP-SC5xx and ADSP-215xx processors.

    The first release of the add-in will include support for easy FreeRTOS project configuration within CCES, providing configuration tools and automatic set up of the FreeRTOS components within your project.

    The subsequent releases of the add-in will contain functionality to assist in debugging FreeRTOS applications allowing you to view the scheduler status and individual thread stacks etc.

    We are keen to get feedback from developers as to what features they would find most useful in such an add-in.

    In the mean time we're putting together some general advice for debugging FreeRTOS applications on the supported ADI processors and we will post that on this forum soon.

    Regards,

    Dave

  • Hi all,

    we're using percepio's Tracealyzer for debugging.

    I am really looking Forward to the FreeRTOS Add-In for CrossCore Embedded Studio (CCES).

    At the moment it's really not very comfortable to debug task stacks and synchronization objects such as semaphores, Queues, etc.

    Best regards,
    Matthias

  • Hi Dave,

    Thanks for the update.

    - being able to watch OS and thread states like you mention would be very useful.

    - In addition to this a system trace, something like the VDK KernelEventHistory in VDSP++ is essential for debugging

    - perhaps the CoreSight / Trace Unit could be used for non intrusive data transfer to the host?

    How are things progressing?

  • Hi all,

    can you give an update about the current progress?

    Best regards,
    Matthias

  • Hi,

    unfortunately at this time we do not have a specific date when this product will be released.

    Regards,

    Dave

  • Hi Dave,

    Last year you mentioned "In the mean time we're putting together some general advice for debugging FreeRTOS applications on the supported ADI processors and we will post that on this forum soon."

    Even if you don't have the FreeRTOS plugin/debugger ready yet, it would be very helpful if you could publish a set of guidelines or tips for debugging FreeRTOS apps in the absence of the debugger tool.

    Thanks.

  • ADI wrote, in 2019:

    > The subsequent releases of the add-in will contain functionality to assist in debugging FreeRTOS
    > applications allowing you to view the scheduler status and individual thread stacks etc.

    > We are keen to get feedback from developers as to what features they would find most useful in such an add-in.



    We're well into 2021 and there's apparently no progress here. This is a serious impediment to using FreeRTOS on the SHARC for anything non-trivial. I tried a couple of FreeRTOS-aware plugins for Eclipse from various third-parties. None of them work with FreeRTOS on SHARC and I assume that this is because the SHARC debugger does not have the same API as GDB.

    As the original poster pointed out, this is a big retrograde step from VisualDSP++ and VDK. We're committed to SHARC for our current project, but this situation will make us seriously consider using something else in future, unless ADI sorts this out.  

  • hi dave,

    since resources seems limited I suggest that you skip the setup gui and focus on debug view / history / guidelines.

    starting threads is just a few lines of code and it easily gets messy whenever a GUI setup too much for you.

    seeing thread status within the debugger is not as trivial and would be way more useful, in my opinion.

    regards