We've added an embedded Linux development section with in-depth information on device-driver coding and more that even a desktop developer can use.
Those of you who are primarily interested in the development of embedded systems may ask why start reading Linux Journal now when you can just tell it's going to be full of non-embedded stuff? And why should regular Linux developers care about the embedded articles? The stuff you're interested in won't run on a Linux watch anyway, right?
The short answer is that Greg Kroah-Hartman's Driving Me Nuts column, on device drivers, will be starting this month. Greg maintains the Linux USB and PCI Hot Plug support and has written great articles for both Linux Journal and Embedded Linux Journal. Now we bring you Kernel Korner every month and Driving Me Nuts every other month, which averages out to a monthly helping and a half of kernel goodness you won't find anywhere else.
Now that you've sent in your subscription card, the long answer is that Linux, and free software in general, are inherently embeddable. By their nature, embedded projects thrive on software that is free to port, customize and sell. If you don't believe this, look at the spectacular success (ha!) of the much-hyped wannabe “Media OS”, BeOS, which sank without a splash while the real media devices, such as TiVo and Moxi, went Linux.
When I told Greg about the new Cypress USB chip, the SL811HS, and the driver for it that Cypress is releasing under GPL, his first reaction was that he was glad Cypress has “a clue”. It looks like a very useful part, too. It does both host and slave, so you could plug a PDA into your computer to sync files and plug USB peripherals, such as a mouse or keyboard, into the PDA later. Try one.
For those of you developing for desktop or server Linux, why make your users sit around and get carpal tunnel syndrome when they could be using a convenient embedded device where the real work (or fun) is? Or better yet, why not cut the user out of the boring stuff altogether and let the machine deal with the real world? Your software will effectively accomplish more in an “embedded” device than in the server room or office. Same goes for your web site. Try it on a Zaurus today.
But back to the clue part. Embedded Linux isn't just a shrink-wrap package that says “embedded” on it. It's a standard generic platform with a thorough collection of drivers that's growing every day (thanks Cypress), distributed under a license that lets you get some work done. Just like regular Linux, embedded systems are good software for clueful people.
An embedded system doesn't need system administration.
It comes with the application pre-installed. You don't have to install additional software to get something done.
It's responsive. Many embedded systems have formal real-time requirements, but even those that don't at least don't make you wait for silly things like fdisk.
It interfaces with the real world, not just the network and a carpal-tunnel-slaying keyboard and mouse.
It can't be reasoned with! It doesn't feel pity, remorse or fear!
And it absolutely will not stop, ever, until you are dead!
No, wait, the last two are “The Terminator”, not all embedded systems. But you get the idea. Embedded systems are what software wants to be when it grows up, and “regular Linux” is headed in the same direction.
Don Marti is technical editor of Linux Journal.