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
