Hi Richard. Hi all.
I want to open a discussion about debugging application with freertos, using a IDE.
First, after discussion in this forum, between me, other developers and Richard, Richard added Trace Hook Macros in freertos kernel. So, now it’s possible to add some code for “trace kernel events and gathering information about tasks and queue”. I’m thinking how build some powerful code for these macros.
Moreover, i’m trying to use eclipse, and it seems a very powerful IDE with allows to add features developing plugin.
1. developing general purpose Trace Hook Macros with these features:
______Trace all kernel events, and collect them in some well organized structure
______Save information about taks and queue status, during creation and delete operation
2. developing plugin for eclipse, which can gathering all previous information, during dubug operation, i.e. when application is halted
______Plugin should be able to manage collected data, doing works like shows task stacks info (current SP and max usage), queue info (element pending), cpu task usage in timing sequence (i.e., using some GUI), heap memory usage with its fragmentation.
3. the main idea is: simple hook functions, which adds small cpu usage to real application, and small additional ram for storing information AND very complex eclipse plugin, which has infinite resources, running on PC host
Now, we can start to discuss here:
1. if this idea could be generally useful for a lot of developers
2. how develop trace hooks macros
3. how develop eclipse plugin
I can give a contribution for point 1 and point 2, but i have no experience and knowledge with eclipse plugin developing.
I know that Richard wants a freertos portable using different ide and compiler, but i think that it could be important have a powerful OPENSOURCE toolchain Eclipse-FreeRTOS-GNU_Compiler_Debugger (it’s my dream…) highly integrated (for example, before my experience with freertos, i tried MicriumRTOS integrated in IAR, using a plugin for debugging rtos resources when application is running on microcontroller…)
ok… i hope i was clear… sorry for my dummy English! :O)