On Fri, 2017-03-17 at 12:14 +0200, Liviu Ionescu wrote:
> if this is not of any value for you, please ignore the suggestion.

Don't take it too personally. I was under the impression that there is
some draft that can be discussed, and that the prototype I saw can be
considered such a draft. If we are only discussing some abstract idea,
then let me say that the idea is great and I would love to see that
implemented. But I'm also afraid that implementing something like that
is just impossible. I may be wrong, but just considering the 4 RTOSes
that I mentioned (your, mine, FreeRTOS and ChibiOS) I see a lot of
incompatibilities from that perspective.

I just don't know how do you plan to solve all these incompatibilities
that I've mentioned. If you plan to somehow solve them (and have some
viable solution), then this is an interesting thing. But if you don't,
and expect the RTOS to adhere to the DRTM structure that you used for
your own project, then I'm afraid that it's not very tempting (unless a
particular RTOS uses almost 100% identical core concepts)...

This could be easily done with run-time support, but with in-RAM
buffers for the threads where the RTOS would just fill the info exactly
as needed by GDB (thread address + string). This would be extremely
easy to support in OpenOCD and probably easy to implement in the RTOS,
but would use some RAM and - unfortunately - cause some run-time
overhead, possibly significant. I think that if we would agree on some
structure of that data (for example standard circular doubly-linked
list) and its contents (described as offset + size, with some sentinel
value meaning that this is not implemented, like 0 size), then this
would be much easier, but still cause some overhead at run-time, only
smaller (so maybe acceptable). It would still use more RAM than the
native approach.

I really see no way of providing all that descriptions in compile-time
in a generic way. Let me reiterate, that the idea is interesting, but
the problems are quite significant. For start, just ignore everything
else and tell me how would you describe iterating over threads in your
system (tree-like arrangement of lists with parent-child relationship)
and the system which uses just a single flat list.

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