DSDP-TM Hardware Descriptions at ATI/Mentor 2006x02x17
To follow up on this discussion a bit, I have put together an example of our target description scheme that we use for EDGE Developer Suite. In the zip archive, you will find a number of things:
In our system of things we have three different types of XML files, target, core, and peripheral files. They define targets, cores and peripherals (wow!). We have gone through a few iterations of things, but most everything is the same as it has been for a while.
MyTarget.target: this is the main target file for a particular board. This is a pseudo-real example that has a multicore board that includes an ARM9 and a MIPS24Kc (sure, why not?). It declares things like what cores are on the board, what the memory maps look like for the core and such. inside of the target file it refers to various core and peripherals. I tried to put in some helpful comments that explain things in this file.
doc: directory that contains DTD's for the various target files, and an excerpt of our Eclipse HTML help for the format of the XML files. The doc itself really is a reference only, it doesn't' really show you the big picture very well. Easiest to understand by looking at the files themselves, and then if you don't understand something, look for the particular element/attribute in the DTD's or the doc.
More than anything else I hope that this is food for thought for everyone.
-- Aaron Spear, 17-Feb-2006