I've been working ELLCC, a clang/LLVM based development tool chain targeting ARM, Mips, Microblaze, PowerPC, and x86 targets. The tool chain is pretty complete and runs on Linux, Windows, and Mac OS X. Linux target run-time support is complete using libc++, musl, and compiler-rt and now I'm working on adding bare metal library support. The first target I've been concentrating on is ARM. I've got pretty complete support for the ARM Cortex-A9 (MMU/non-MMU, virtual file system, multi-priority scheduler, file descriptor support, etc.) Most recently I've added support for LwIP and a revamped Berkeley style socket interface for it and have gotten to the point where I'll be doing more device driver work.I'm looking at adding device tree support to make the assignment of address, interrupt vectors, etc. a bit cleaner. Does anyone here have an opinion as to whether device trees are the way to go?
Seeking opinions on using device tree for I/O definition
design;operating systems