Follow Slashdot stories on Twitter


Forgot your password?
Programming Software Linux Technology

How to Embed Linux 25

Doc Ruby writes "LinuxJournal has an intro to uCLinux by David McCullough, one of the project developers. Specific techniques are discussed for Linux programming on this version, that runs on devices without the MMU that the Linux VM usually requires. Developers can make Linux apps run on uCLinux devices, including PDAs like a Palm IIIx, routers, DVD players, and even a FPGA."
This discussion has been archived. No new comments can be posted.

How to Embed Linux

Comments Filter:
  • Does anyone know of a similar article that pertains to embedding windows (or some other OS)? I'd like to see a comparison.

  • by Anonymous Coward on Friday August 06, 2004 @09:41AM (#9898454)

    Two words: Interrupt latency.

    Linux is a server/desktop OS. It's not a real-time OS. There are very different requirements for that job, and Linux would need a complete redesign to meet them. Read Ed Nisley's column in Dr. Dobb's; he's gone into detail about this stuff.

    If you try to please everybody, you'll please nobody. There is no need to put a server OS in a defibrillator.

    There are many other options far better suited to the problem domain. QNX, for example.

    • by byolinux ( 535260 ) * on Friday August 06, 2004 @10:00AM (#9898634) Journal
      Linux is a server/desktop OS. It's not a real-time OS.

      It's a kernel. But yeah, it's not a real time OS. Or a dog. Or a salad.
    • There are many other options far better suited to the problem domain

      Which problem domain ?

      It seems you are assuming that every possible embedded situation requires real time scheduling from the OS.

      I use the Linux kernel for many embedded devices where I work, but I have not REQUIRED real time scheduling yet for any of them. DVD Player, Parking Machine, Firewall Appliance, Router, etc... None of those need real time scheduling.

      There is no need to put a server OS in a defibrillator

      But I don't mak
      • A DVD player on sufficiently low-powered hardware would need real time scheduling. It has to read the audio and video streams from disc, decode, and playback according to a strict schedule (~30 fps on NTSC, etc).

        Any "need" for real time scheduling can be mitigated by using much faster hardware. However, we should not confuse the analysis of the hard real time requirements with overkill solutions.

        A firewall or router, on the other hand, is generally required to have a certain average performance. That is

    • Embedded != Realtime

      While most realtime systems are embedded systems, many embedded systems are not realtime systems. Your PDA is an embedded device, but it is not a realtime device.
      • Embedded != portable

        I think what's happening is that the term embedded is being watered down.

        A basic PDA that acts as an electronic address book and has no connectivity would qualify under the traditional definition, while something like a Pocket PC would not. The essential character of a traditional embedded system is that it is a special purpose device, like a washing machine or a basic calculator.

        Under the new definition, a desktop PC could be considered "embedded" just as easily as most PDA's.
        • I think what's happening is that the term embedded is being watered down.

          This bothered me for quite a while, then I realized it doesn't really matter. People with "real embedded" (which in my book means having knowledge of low-level control) experience will know what I mean when I use the term.

          The embedded system I work on in my day job runs on a 1.5GHz Pentium, has over 1MLOC, costs around $800,000, uses close to 2kW of power, and at around 900lbs, is definitely not portable. And I still see posts here

        • Blame Microsoft. I still haven't figured out what makes Windows XP Embedded and embedded operating system, but that doesn't stop the PHBs at my company from mandating it for our formerly hard realtime embedded devices.
    • Its royalty/cost free, which helps if you have small production devices where you cant charge enough to recoup the cost of the OS..

      QNX, VXWorks, which are better technological choices, arent exactally free ....
    • "There are many other options far better suited to the problem domain. QNX, for example."

      Sure. I expect you'll be sending me a check to cover the license cost any day now.

      I'd love to get my hands on QNX, WindRiver, MontaVista, Lineo, LynuxWorks, MetroWerks, etc.
      But get real: for garage hackers like me, what else is there except OSS?
      • A real garage hacker writes his own OS ;)

        Really, except from devices requiring LAN connectivity, I don't see the point of using a whole OS, like Linux. For most simple applications, which embeded systems are targeted at, you just write the application code (in ASM, C or whatever) and that's just what the microcontroller runs. No need for a separate OS. The app becomes its own OS.

    • by Voivod ( 27332 ) <cryptic&gmail,com> on Friday August 06, 2004 @08:53PM (#9905380)

      Two words: Interrupt latency.

      Tried RTLinux? All the fun of Linux, with all the benefits of a hard real-time microkernel. I just finished about 3 weeks of development with it, and it performed as advertised. It was very cool to have a scope hooked up watching interrupt line latency and see no change in ISR performance as I ran a kernel compile and copied huge files around in the background while my hard real-time task continued marching along.
  • by SpaceLifeForm ( 228190 ) on Friday August 06, 2004 @11:12AM (#9899032)
    is to cram a distro up the back end of Darl McBride.
  • ..but is "uCLinux" pronounced "micro-C Linux?"

    I haven't seen this answered in any articles or FAQs.

  • I thought i read somewhere that 2.6 had a feature that made it run on mmu less cpus. Why not use the 2.6 kernel more then?
  • Its been /.ed about on multiple occations, but the uClinux distro (if you can call it that?) is what we use on the []

    We've got really great developers working on the project and even though there is no GUI way of putting linux on your iPod, its in the works. Its still simple to any /.er to do without a GUI and I suggest checking it out.

    We're still working on getting the 2.6 kernel working with the iPod. We've only sucessfully got 2.6 working once (I think) and it sounded great! 2.4 doesnt sound as goo

No problem is so large it can't be fit in somewhere.