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
