Independent consultant Thomas E. Besemer writes for Embedded.com: “Is embedded Linux viable? You bet. Is it free? No way. If time-to-market matters, you get a lot from companies like Wind River with stable environments, or perhaps the current embedded Linux vendors.” The December’s article is accompanied by a number of insightful comments, and an additional response by the author.
QED
I didn’t agree with this guy opinion about ‘free’ GPL software. Yes, it is free but not in term
of money, but in term of ideology, where you have access to the source code. In term of money, maybe it is cheaper than others especially if you are considering long term investment.
Just look at tivo vs. sonicblue.
Tivo uses linux — spent 2 years trying to fix that infamous mysterious bug. Sonicblue uses vxworks — vxworks was solid as hell and sonicblue spent those same 2 years on the development of the killer apps (commercial skipping and sending video files via ethernet).
Ironically, because of the inferior nature of linux in the embedded environment, tivo was spared the lawsuits that hollywood launched against sonicblue.
Embedded Linux certainly is free, seeing as how Linux itself is free. If there are no viable free solutions ATM, the source is right there for you to develop your own.
– First, a kernel was not available for our particular strain of the PowerPC
What? If it’s a PowerPC than it has a PPC32 core with a PowerQUICC variant. Cache, MMU, etc might vary. If the MMU or cache are different than deal with it, you have the code. 95% will be the same.
– The trap we got into was we ported the first release of Linux we had to our hardware, and then each time our consultant group released a new version, we had to do the port again. an
Dont upgrade unless you have a reason. Because a new version is released is not sufficient. Otherwise you will always be upgrading. Remember, Linux releases new features far more frequently than vxWorks
– The Linux build environment, at least for the PowerPC, does support building images suitable for ROM. However, what is not supported is creating the ramdisk image which contains all of the executables in /bin type directories, or /etc and /lib content.
Please look at romfs, initrd, and ramdisk. These are all filesystems to use in an embedded-ROM system. Examples to solve your problem are on the net, I used them.
– A couple of weeks at this, and we’ve got a ROM based image that our application does not run under, and it’s slightly bigger than 4Mb.
This could have been determined beforehand in the requirements design stage. Which dependancies, libraries, etc. and their sizes.
– Other trappings? Well, Linux is a protected namespace, MMU based environment.
Exactly! People pay good money for MMU prrocesss model RTOSs! You want MMU process protection. Why? So when a process inadvertently crashes it doesnt kill the kernel or other processes. All RTOSs are moving to this MMU model. vxWorks has a new product called AE that does this as well. Though, from what I hear vxWorks AE is very problemmatic.
This guy wants a task model RTOS. Hello 1980’s. Youu have a MMU on that processor, use it!
– Cross development tools? I had to build them. Not a big deal, but not for the faint hearted. I was able to find a web link on how to build the PowerPC cross environment with GCC, but ran into hassles on building glibc.
Why would you rebuild/port a PPC32 core gcc compiler. It’s out there!
Dont ever rely on “out-of-house” contracted development. Certainlly if you have a tight schedule. Your schedule will almost definitely suffer.
Gheesh!!!!
This piece could so easily have been about any x OS targeting y hardware by programmer z who doens’t know i about j.
It was well written, and informative. But it is very subjective, and very much from the angle of the experiences of the author. The author was a VxWorks vetern. It was their first project. They didn’t want a ‘vendor’ because of cost. They paid that cost in their own time learning from scratch. That they got what they got so fast is a tribute to their skill.
“This guy wants a task model RTOS. Hello 1980’s. Youu have a MMU on that processor, use it! ”
There is a linux without MMU
http://www.kerneltrap.com/node.php?id=442
and ucLinux (a patch to run linux without a MMU (Memory Management Unit).
But that article smels like a reclam anyway . linux expert
bleah
Why the hell going down the road of Windows or Linux for embedded systems, when you can go with already established ultra-stable systems, like VxWork, QNX, etc ?
“I’ve spent the last 15 years making my bread and butter doing VxWorks-based projects”
“their schedules showed availability after our product was to ship”
So… Just to be clear… you started programming <italic>after</Italic> the ship date was announced?
You are whineing after you painted yourself into a corner,
and as a 15 year vetran, you might have recognised this concern early on.
I have the code to embeded linux. If it dont like It, I can modify it, pay consulting groups reasonable fees. I do not have the code to VxWorks, If I dont like it, its tough, and the developer liscence dollars are down the toilet.
Also, since you have VxWorks experence, and it would have been so much easier… why didnt you conside doing side by side deveploment?
“thus, I had to cobble together a set of scripts to do this. ”
This actually shows the tone of your whole project. You cobbled something together, to cover your *ss, after you started on a project that the ship date was announced.
If you have a problem, that money can solve…
“By the way, we missed our demo for the investors. ”
No wonder, that was the fault of your marketing department. Dogbert could have shown them a week old bowl of serial, and had them think it was the next 64 bit processor.