On Fri, 2017-03-17 at 11:27 +0200, Liviu Ionescu wrote:
> > On 17 Mar 2017, at 10:18, Freddie Chopin <[email protected]>
> > wrote:
> > 
> > Are you proposing an universal, system-agnostic data format, which
> > would allow to debug any RTOS which provides that data in OpenOCD?
> 
> that would be really nice, but for now it is not realistic.
> 
> the DRTM library will obviously work only for systems that use a
> collection type that is known, but this library knowledge can be
> grown incrementally, as needed.
> 
> but the basic idea of DRTM is not to support all collection types
> available in the galaxy, but to avoid hardcoding into the debugging
> tools any offsets and other data that might change between
> builds/versions, and to provide this support to multiple tools (like
> OpenOCD, J-Link, QEMU).
> 
> if for distortos you can guarantee that such offsets will never
> change in time, than you are lucky, you do not need anything like
> DRTM, but µOS++ is highly configurable and the structure of the
> system objects can change not only between versions, but even between
> builds for the same version, based on configuration options (for
> example with or without statistics), and I cannot/do not want to
> commit on keeping these offsets frozen forever (and ever).

The idea sounds nice, but from the perspective of OpenOCD your DRTM
code (which I've checked a few days ago) is asking for way to much
information. Unless I've forgotten about something now, OpenOCD needs
only:
- thread address,
- thread name,
- thread state,
- thread registers.

Your code also asks for priority, inherited priority (a concept which
may as well be absent in an RTOS), child & parent threads (which may or
may not be supported at all). You also assume that there is a
"variable" which says whether a scheduler is started (another thing in
other RTOSes which I cannot really understand - why do they require you
to "start" it?). It also seems that in your project the threads are
arranged in a tree-like structure of lists, while I plan to only
support a single flat list for debug purposes.

I'm just afraid that what you try to do is basically this:
https://xkcd.com/927/

Regards,
FCh

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to