Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tcf-dev] TCF context hierarchy for bareboard

I’m looking at creating a TCF agent for both bareboard and RTOS debugging of our 8-bit parts.  The basic idea is to have RTOS dll’s that can be optionally loaded by the agent to provide their own context hierarchy.  When no RTOS is in use the agent would use its bareboard context hierarchy.

 

I’ve read over http://git.eclipse.org/c/tcf/org.eclipse.tcf.git/plain/docs/TCF%20Context%20Identifier%20Explanation.html but I’m still not 100% sure how best to create the hierarchy for bareboard.  Surely others have done this so wanted to see how they approached it.

 

A typical hierarchy for operating systems would Processes => Threads => Stack Frames => Registers, with memory probably being accessible at the process level, and run control applying to threads and maybe also processes.  This can of course vary from OS to OS which is why the context hierarchy was left very generic.

 

For bareboard you just have a single element of execution per processor, so maybe it looks something like Processor => Stack Frames => Registers, with run control applying to the processor itself.  In the embedded space it’s typical to have different types of memory, possibly with their own address spaces, e.g. RAM, Flash, and also lots of peripheral registers that are typically memory mapped.  This last part is what I’m not really sure how to handle.  The core registers would be under stack frame, but the peripheral registers would be under processor, but probably even under one of the specific memory contexts, e.g. RAM.  So basically what I’m thinking is something like this:

 

Processor

                Stack Frames

                                Core Registers

                Run Control

                Memory

                                Flash/ROM

                                RAM

                                                Peripheral Registers

 

Anyway, just wanted throw this out there and make sure I’m on the right track at least.  If anyone wants to share that approach that’d be great.

 

Thanks,

Warren

 

This message (including any attachments) is intended only for the use of the individual or entity to which it is addressed and may contain information that is non-public, proprietary, privileged, confidential, and exempt from disclosure under applicable law or may constitute as attorney work product.  If you are not the intended recipient, you are hereby notified that any use, dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, notify us immediately by telephone and (i) destroy this message if a facsimile or (ii) delete this message immediately if this is an electronic communication.  

Thank you.


Back to the top