Choosing an Embedded OS for Sustainability? 68
vivekb asks: "I work for a small start-up that's building its first commercial product. Because cost is less of an issue than development time, we've decided to make the brains out of an ETX computer with some sort of (non-realtime) operating system. Based on initial costs of tools and estimated license fees, the cheapest OS's I've found are Windows CE and several offerings of Linux. The big question that I can't answer is, 'How much will these platforms cost in sustaining activities?' In three years, when we're fixing bugs or applying patches, how much will we be paying vendors and how much will we be spending on internal developers? When the Linux kernel is at version 3.0 and our device is still running 2.6 -- or when CE reaches .INFO and we're still at .NET -- will support even be available? If anyone has past experience picking an embedded OS for a screen-and-button based electronic device, what did you learn to stick with or avoid?"
Nucleus from Mentor Graphics (Score:1, Informative)
What you need to do is list out the features you want from an OS. Once you have that, a quick visit to the web sites of various OS vendors should help you quickly narrow your list down to a dozen or so. When I had to make this decision, I found the vendors were happy to send me API documentation, programming manuals, and in some cases, an evaluation copy of the OS itself.
I ended up choosing Nucleus from Mentor Graphics. I bought the components I needed and nothing else. I don't pay per unit royalties, it has worked for years without needing to be upgraded, and I have the FULL source code so I can be confident that everything works just like I think it does.
QNX or one of the BSD's? (Score:2, Informative)
Re:Hire An Expert (Score:4, Informative)
There is a lot of truth to this. A few years ago, I joined a project team after development had been underway for a while. Most of the people had no embedded experience, and I had to spend a lot of time redoing things that would have been OK on a general purpose system, but were nightmares under an RTOS. There a lot of programming fields where speciality and experience matter, and embedded systems is one of them.
Re:Linux for Longevity. (Score:3, Informative)
Limbo, its language, is c-derived, but safe. The network model makes sense. And it's mature as an embedded platform.
Re:Hire An Expert (Score:2, Informative)
Microsoft offers a minimum of 5 years support for Windows CE. Beyond that you can get up to 5 more years support (at additional cost). Click here [microsoft.com] to read more about how we support Windows CE.
We're active on the newsgroups as well, as are many of the more experience developers who've used CE in their products.
I'm not familiar with ETX hardware, but we have excellent support for x86-based CPUs and the usual peripherals. You can even add device drivers to your build by dragging and dropping them from the catalog in our IDE. You can download our tools and most of the source code (even the kernel) here [microsoft.com]. It's a free 4-month trial, so please check it out.
Good luck with your project!