Slashdot Mirror


Microcontroller Linux

allanj writes "Have you seen the Clinux stuff running of the uCsimm modules? They are pretty little machines with a version of Linux that, with kernel and the entire filesystem needed to boot, comes in at only 900 Kb. The whole thing took 30 minutes from initial power-up to first boot. Some (quite basic) assembly of hardware required though. The best part? The entire computer fits in a 30 pin RAM socket, with 8 Megs RAM, 2 Megs Flash ROM and an ethernet controller chip. It's powered by a Motorola DragonBall, so it's not for too processor-intensive tasks, but most things run just fine. Oh, and it has a gcc cross-compiler pre-packaged to run off your host system, so development can start immediately."

32 of 123 comments (clear)

  1. Re:How hoggish :) by pjrc · · Score: 2
    >Put it on a PIC

    I've done a few product designs currently selling in volume, based on the Microchip PIC...

    With 2K (instruction, 14 bits per) linear code address space, some chips using bank swapping for more, and a linear RAM space of only 128 bytes, again bank swapping on some larger parts.

    Microchip now have some larger parts, but the popular 14 bit opcode parts have 11 bits for code addresses and 7 bits for ram addresses. Great for small projects coded in asm, of really small projects coded in C... but it ain't gonna run linux.

    There's also a few issues with the instruction set that burn up that limited code space. You don't get conditional branches, only skips past jump instructions. There's no add or subtract with carry input, so you're going to use many extra cycles for 16 bit math, and it gets really ugly for 32 bit math. Kludged indirect addressing (FSR and INDIRECT memory locations) with only a single pointer for the entire chip also isn't so hot. Despite being labeled "RISC", the chips are a classical accumulator architecture, even if you call is "W" and "WREG" instead of "A" and "ACC". The only thing RISC about the chip is a very small number of instructions.

    Of course, you do get low power, OTP eprom with in-circuit programming, lots of built-in peripherals, pretty low cost, some low-cost dev tools, and they tend to actually be available in small and large quantity... but there's no way it's gonna run linux.

  2. Re:Just what my toaster and coffee maker need! by bluGill · · Score: 4

    Make is a general purpose program, and need not be used for only c programs.

    In fact, make is an excellent choice, because it allows for dependcy checking. ie: there is a empty pot in place, water avaiable, and enough coffee beans/grounds. Sure you can do it with custom code, but make does a good job of that.

  3. Re:So what does linux on a microcontroller offer? by TechyImmigrant · · Score: 2
    It looks to me like the situations you describe are more a case of the hardware moving to meet the OS, rather than the other way round. This is certainly not a bad thing for the right product. The Tivo and the the in card MP3 players are two prime examples. They both benefit greatly from using the Linux codebase.

    What I'm questioning is the use of linux in things that are an order of magnitude smaller. Like cell phones, handheld PDAs and personal location systems. The interfaces are generally dictated by the microcontroller and/or whatever ASIC might be in the system. Hard disks are out of the question.

    Running traditional linux apps seems to be an unlikely goal - I'm not paying to run a webserver from my cell phone and X applications are not ideal for a 128x72 LCD screen.

    Quite possibly, the need for a real filesystem might be a good dividing line. Where you need such a thing, linux gives you lots of goodies for providing and using the filesystem. In a system which has no such need, linux looks too much like an overwight dinosaur.

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  4. Re:So what does linux on a microcontroller offer? by hey! · · Score: 2

    I think there is a niche for a beastie like this in devices with limited production runs that need versatile and sophisticated behavior and network connectivity.

    I don't think they make much sense today for mass consumer applications like cell phones, because at the kinds of volumes consumer devices are sold in you can afford more software development, but at the prices they are sold at you can't afford the per unit hardware costs. On the other hand, there are many kinds of high value industrial machinery and scientific instrumentation, which are produced singly or in only thousands of units per year. In that sort of device, this kind of unit makes a lot of sense. Ethernet makes this scenario extremely sweet -- you can control your devices through SSH over commodity network cable if you want, or embed a tiny web server giving you the machine's status and history.

    I work in the public health arena. Lots of places are spraying pesticides for West Nile Virus. It would be nice to capture GPS data and machine telemetry for later transfer to a database and GIS for regulatory reporting and performance analysis. I could imagine coming in at the end of the day and removing a cartridge containing the device's brains, and connecting the device to an Ethernet hub. Kind of like synching your palm pilot. A few KLOCs of Python written for a Linux box would probably suffice to do everything needed.

    The problem is that for my industry the economics of the unit don't quite work out. It needs a bit more memory and it'd have to come in at under $100 a piece, $50 would start to be the no-brainer level. If something like the ucSimm were produced on an industrial scale, it probably would cost much, much less. I suppose that higher production runs and a few years of cranking the Moore's law cycle, they might eventually shrink in size and cost to within an order of magnitude of today's PICs. That would be revolutionary.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  5. Re:Another fun joke by slickwillie · · Score: 2

    There is another freeware OS for microcontrollers: uCos. I don't know what they wopuld like it to be called, but everyone I know calls it "mu-cous".

  6. Re:A fun joke by generic-man · · Score: 2

    That's it. I am suing Internet. Your refusal to listen to whatever I have to say as if it were spoken by God himself will get you removed from Internet.

    I know what the University of California is. I know what the Greek letter mu is. But it will be a cold day in hell before I pronounce C-SIMM as anything but "U-C SIMM."

    (Is it me, or is this whole karma freeze thing awesome? I could troll at Score 2 all day.)

    --
    For more information, click here.
  7. So what does linux on a microcontroller offer? by TechyImmigrant · · Score: 4
    I have a rather direct interest in microcontroller based operating systems (I design microcontroller based products) so Linux on a micro might seem to be something I should be interested in. Yet I can't really indentify why I might want to use it.

    The things I look for in a microcontroller OS are stuff like..

    A small footprint
    Lightweight realtime multitasking (if multitasking is required)
    Rapid boot (millseconds)
    Persistent state support
    Will fit in a single flash chip with space for the application
    Hosts whatever protocol stack is going in the product (stuff like GSM, IS95, TCP/IP, IS707 seem to be the usual suspects).
    Most importantly.. A really really good remote debugger, cross target development environment and totally uncrashable kernel

    So could someone clue me in as to why I should use something like this rather than say Nucleus?

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  8. Automotive Chip Integration by G.+Waters · · Score: 2

    This may be a little off topic, but I think it would be interesting to see a project vehicle built around an embedded linux system. Of course the boot time would need to be reduced from 30 minutes for this to be remotely feasible.

    Linux appears to be a good candidate for controlling hardware, robotics, etc, due to its management of hardware as files. Unfortunately I do not seem to find very many instances of it being used in such a capacity. Perhaps this could be one of the first implementations we'll see.

    Some people are very adamant about restoring old pre-computer vehicles, and seem to be put off by the lack of customability incurred by electronic systems. Perhaps somewhat inexpensive fuel-injection systems with PC access to engine settings via linux (or BSD, etc) would make people more inclined to restore using modern technology.

    Old tractors, boat engines, and older road-going vehicles could benefit from packages designed for their specific powertrains. Basically such systems could allow "legacy" vehicles to be compliant with modern fuel efficiency and emissions guidelines.

    There are several systems available now that accomplish this same task with proprietary systems, however, it would be fascinating to see if Linux's continual improvement and development could be transferred to physical devices. Ex: As developers learn more of the failure points and successes of engines through viewing "event logs" steps could be made to inform engineers to as to what direction their engines should take in future iterations.

    If any of you guys know if any work or projects being done similar to this please post some examples. I'm sure someone is or will try it before long if it is not already in the works. I'm curious as to where others see integration going in the future.

    G. Waters
    "Sigs Cause Cancer"

  9. Re:SLASHDOT IS A BIG SCAM!!!! by generic-man · · Score: 2
    1. Click the "Location," "Address," or "Netsite" box in your web browser.
    2. Type in http://www.slashdot.com.
    3. Press ENTER.
    4. Resolve never, ever to post a comment on this web site again.

    --
    For more information, click here.
  10. What does one cost? by WillWare · · Score: 2

    I've read about these things before, but the website mentioned here doesn't give a price. I might be more inclined to buy one if I knew what it would cost me.

    --
    WWJD for a Klondike Bar?
    1. Re:What does one cost? by micahjd · · Score: 3
      Try uclinux.com

      There's a .org for the OS and a .com for the hardware.

      --
      -- 2 + 2 = 5, for very large values of 2
  11. Re:Just what my toaster and coffee maker need! by PD · · Score: 2

    >sudo ./make_coffee -strength 10 -cups 3
    Segmentation Fault - Core Dumped

    Hey! Who shit in my coffee cup!

  12. Just what my toaster and coffee maker need! by ndfa · · Score: 4

    ndfa$ telnet coffee
    Trying 10.1.1.25
    Connected

    uClinux 2.0.38.1pre7
    username: root
    password:
    # make coffee -strength 10 -cups 3
    Making coffee now

    ahhh.... geeks, turning coffee (caffine) into code for generations!

    --
    Non-Deterministic Finite Automata
    1. Re:Just what my toaster and coffee maker need! by scrytch · · Score: 2

      make doesn't take args like that

      make coffee strength=10 cups=3

      there. shame on you for telnetting in as root tho. :)

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    2. Re:Just what my toaster and coffee maker need! by Chris+Mattern · · Score: 3

      Root for applications? Shame on you; you
      should know better than that...

      Chris Mattern

    3. Re:Just what my toaster and coffee maker need! by Evangelion · · Score: 2


      not only that, he's telnetting in as root. shame on him. the coffeemaker should burn all of his coffee if he does that...
      --

  13. Re:Already seen this months back by NoWhere+Man · · Score: 2

    yeah that is what I assumed, but there is no documentation stating otherwise that I could find.

    --

    "Imagination is the only weapon in the war against reality." -Jules de Gautier
  14. Little Linux by Municipa · · Score: 2

    With all the effort to cram Linux into the tiniest processors, I'm surprised someone hasn't etched the latest Linux source onto the head of a pin like they did with the Encylopedia Brittanica a few years back. How cool would that be!

    Imagine a beowulf cluster of those pins! Sorry I couldn't resist.

  15. Boot time... by Speare · · Score: 2

    The whole thing took 30 minutes from initial power-up to first boot. And they say Win98 takes too long to boot.

    Foghorn Leghorn says, "That, I say, that's a joke, son!"

    --
    [ .sig file not found ]
  16. More "informative" ucLinux info by micahjd · · Score: 5
    Ah, I've been hoping this would come up on slashdot sometime...

    To fill in some of the gaps in the /. story: ucLinux is a port of the 2.0 linux kernel to MMU-less architectures. It's mainly run on the Motorola 68000 series, but it is also used quite a bit on the (much faster) motorola coldfire chips. The ucSimm is based on the motorola 68EZ328 Dragonball chip, with onboard memory controller and LCD controller. It's the same chip used in most Palm computers.

    I haven't used the ucSimm, but I have first-hand uclinux experience with my own hardware. (kiwi.sourceforge.net) It runs pretty nicely, and it definitely doesn't take 30 minutes to boot. Don't know where that came from. Because most of the time-consuming things like loadable modules usually aren't included in the boot process, it only takes seconds to boot. Most of the time is spent decompressing the initial filesystem into DRAM.

    ucLinux has been used for many things, including industrial control (microcontroller replacement) and robotics. I have been working, slowly, to make some type of usable PDA based on ucLinux. The Kiwi has been my crude but mostly operational attempt at hardware, and I've been working on a small and efficient GUI system, PicoGUI
    (sorry i haven't updated these pages in a while. Most of the fun stuff is taking place in the sourceforge CVS)

    --
    -- 2 + 2 = 5, for very large values of 2
  17. Re:A fun joke by generic-man · · Score: 2

    I thought it was "you-see SIMM," much the same way as you might pronounce "UC-Irvine," "UC-Berkeley," etc. And you can use µ to produce the symbol, so no biggie there.

    In short, please remove yourself from Slashdot before posting any further "fun jokes." You're ruining my Internet experience.

    --
    For more information, click here.
  18. Already seen this months back by NoWhere+Man · · Score: 2

    I actually came across similar devices months back when the Matchbox Webserver story was done.
    Though, that was an off-shoot from another website and might not have been seen by many people.

    Regardless, the applications for devices such as these are clear. And those of you that have been wondering about GUIs and such, I just have to ask: Why would you want one??
    The applications at the very most would require only console. Its not like you'll be playing Quake 3 on one of these things. And another person seemed to comment that it takes awhile to boot (30 minutes), that it might be using some slow process like floppy disks. Keep in mind that the install is about 900k, and the device has only flash rom (it says FLASH RAM on the webiste but I believe this to be a mistake), capable of 2MB, for storage. And a total of 8MB DRAM. When was the last time your swap space was that size?

    I wouldn't be surprised if the website you view years from now might be hosted on one of these types of devices...

    --

    "Imagination is the only weapon in the war against reality." -Jules de Gautier
  19. It takes 3 seconds, not 30 min. by andersen · · Score: 3

    The stated 30 min boot time was the time it takes to open the box and plug things in. Once it is all set up it takes only 3 seconds to boot.

    --
    -Erik -- --This message was written using 73% post-consumer electrons--
  20. Slashdotted simms? by KFury · · Score: 3

    Uh oh. Judging by the inaccessability of the servers mentioned, I sure hope their site isn't running of a uClinux simm!

    "Oops, I forgot to turn off httpd logging. The memory filled up in 1.8 seconds!"

    Then again, a rack enclosure with 50 of these guys and a load balancer could be an interesting prospect. Forget tracking session variables by cookie. Each user could be diverted to their very own simm 'associate' for their custom eCommerce transaction!

    Kevin Fox

  21. Clarification about boot-time by allanj · · Score: 2

    OK, I can see how it could be mistaken for a 30 minute boot-time. My mistake. Sorry. It is 30 minutes from the uCsimm comes out of its antistatic bag until it boots Clinux, which takes just 3 seconds (as andersen has been really busy pointing out - thanks man).

    --
    Black holes are where God divided by zero
  22. Does Every Employee Have To Post This Article? by tomblackwell · · Score: 2

    If memory serves me right, it's been posted at least twice before.

    Is there some sort of Slashdot office pool involving the number of times this one goes up on the site?

    1. Re:Does Every Employee Have To Post This Article? by disarray · · Score: 5
      Is there some sort of Slashdot office pool involving the number of times this one goes up on the site?

      So it would seem.

      http://slashdot.org/search.pl?query=uClinux

  23. Project Idea: self-contained Linux Spex by fluffhead · · Score: 2

    Combine the uCsimm with the MicroOptical Integrated Eyeglass Display in order to provide what could possibly be the world's smallest functional Borg headset....
    Plus the fact that they look like total BCG's (Birth Control Glasses) should only enhance the Geek appeal....
    See the MIT Wearables page for more ideas....

    #include "disclaim.h"
    "All the best people in life seem to like LINUX." - Steve Wozniak

    --

    #include "disclaim.h"
    "All the best people in life seem to like LINUX." - Steve Wozniak
  24. Possible application by baka_boy · · Score: 3

    uClinux isn't, AFAIK, a true real-time OS, so it's applicability for critical embedded systems is somewhat limited. However, a uCsimm could be a cheap, flexible means of giving TCP/IP and Ethernet support to devices that can only handle serial communications. Hell, toss some basic IP masquerading and filtering code in there, and you've got a great, low-cost firewall for all those cable and DSL-wired households who don't know the first thing about security.

    1. Re:Possible application by SEE · · Score: 2

      low-cost firewall for all those cable and DSL-wired households who don't know the first thing about security

      I resent that. I'm fully secure; my LAN's gateway (the one attached to the cable modem) is a Windows 98 Second Edition box. Anybody tries to exploit it, and it BSODs spectacularly, cutting off all attacks. On the other hand, those Linux boxes people use as firewalls keep running, giving the cracker a chance to overcome its security. What's the point of a firewall if it doesn't go down in flames?

      (By God I hope people realize I'm not serious.)

      Steven E. Ehrbar

  25. uCLinux in Blow Up Dolls? by efuseekay · · Score: 2

    horny$ ssh pamela
    connected to pamela..69.69.69.69

    (ssh) password :

    pamela$ make love
    Making love

    pamela$ ./love
    segmentation fault..Core dumped.

    Moral : always use ssh for safe sex

    --
    Mode (3) smart-aleck mode. Press * to return to main menu.
  26. Re:GUI OS under 70 meg by Fantome · · Score: 2

    http://jailbait.sourceforge.net/

    Fits in 16 MB, includes Netscape, telnet, ssh, and other such neccessities