Target Descriptions (Debugging with ROCGDB)

Next: Operating System Information, Previous: Agent Expressions, Up: Top [Contents][Index]

## Appendix G Target Descriptions

One of the challenges of using ROCGDB to debug embedded systems is that there are so many minor variants of each processor architecture in use. It is common practice for vendors to start with a standard processor core — ARM, PowerPC, or MIPS, for example — and then make changes to adapt it to a particular market niche. Some architectures have hundreds of variants, available from dozens of vendors. This leads to a number of problems:

- With so many different customized processors, it is difficult for the ROCGDB maintainers to keep up with the changes.
- Since individual variants may have short lifetimes or limited audiences, it may not be worthwhile to carry information about every variant in the ROCGDB source tree.
- When ROCGDB does support the architecture of the embedded system at hand, the task of finding the correct architecture name to give the `set architecture` command can be error-prone.

To address these problems, the ROCGDB remote protocol allows a target system to not only identify itself to ROCGDB, but to actually describe its own features. This lets ROCGDB support processor variants it has never seen before — to the extent that the descriptions are accurate, and that ROCGDB understands them.

ROCGDB must be linked with the Expat library to support XML target descriptions. See Expat.

Next: Operating System Information, Previous: Agent Expressions, Up: Top [Contents][Index]