I went to a embedded conference today (re: sales pitch). It's been awhile since I've been exposed to salesperson snake oil but I thought it would be useful to see what the state of the art in the embedded world was like. All in all it was a useful event and I did learn a few things.
First of all the first thing that struck me was WindRiver conversion to Linux. Their attitude was a welcome improvement on my last professional involvement with them which was very different. The company still has propensity to binary blobs as I watched their spiel for the Tilcon GUI environment. I wasn't sure exactly what it did better than existing toolkits like QTopia or GTK, especially as the back-end on Linux was X11!
I spoke to the MontaVista guys about their offering and got a few pointers to my holly grail of a decent embedded build system. I'm going to have a play with BitBake and have a go at getting Gentoo Embedded building. Maybe a custom distro for my netbook?
Hardware has moved on a little. Pretty much everyone is using JTAG for ICEs now, most with more advanced tools like integrated Logic Analysers and CPU Trace support. The talk from the Lauterbach guy was good. I was particularly impressed in their coverage tool which can integrate power measurement with code coverage to indicate mJ per line of code. Next time I'm responsible for deciding on development hardware I'll certainly get some of their kit for trail. My only real disappointment is none of the JTAG debugger boards have really worked on decent GDB integration. If GDB is supported it's usually by a hacked up forked version of an old build. A number of the sales drones expressed surprise that I would want to use a clunky command line instead of their pretty GUIs. I will use their GUI tools if I'm doing fancy timing analyses or coverage work, but sometime you just want to connect to the host see where it is and get a back-trace, command line GDB is by far the most useful debugging tool for well over half the problems I ever have to look at.