Slashdot Mirror


Linux Distributions for Embedded Development?

FirmWarez asks: "Time to put together a new Linux box. I'm an embedded systems guy. I need to support cross development for a number of embedded platforms, from tiny micro-controllers through Coldfire, ARM, and other embedded processors. Projects will range from 'for work' to putzing around with open sourced consumer gadgets. What Linux distribution would you choose and why?"

3 of 56 comments (clear)

  1. Re:URL by Coke+in+a+Can · · Score: 5, Funny

    Best. Typo. Ever.

  2. Does it matter? by joe_bruin · · Score: 4, Interesting

    You want a Linux desktop/server distribution that will hold your hand and install all the tools for you for embedded software development? It doesn't exist. At this level of work, you should be familiar enough with your tools to install and maintain them yourself. You'll need to know this stuff anyway when you find out that this object file compiled with gcc 2.95 doesn't work with the gcc 3.4 you installed.

    There are two situations here. One is where you just need a development environment and cross compilers. In this situation, it makes no difference which distribution you use. Use the one you're most comfortable with. I've been working off of a 4 year old Redhat machine for all of my work, and just switched to a brand new Suse box, and I can't tell the difference. Hell, sometimes I use my MIPS cross compiler on Windows with Cygwin.

    The second situation is one where you will be trying your software out the dev machine before you have target hardware. In this case, you'll want one whos kernel and the rest of the environment matches what you'll have on your target. You should be putting this Linux system together from scratch. Download a kernel (try the ARM ones), busybox and uclibc. VMWare is also your friend.

  3. Keep it simple by Cryptnotic · · Score: 4, Informative

    Use the easiest and most up-to-date distro you can. I personally use Fedora Core 5 for cross-development, but RedHat, SuSE, Debian, Ubuntu or whatever is probably fine. You'll need to add (or build) your own cross-compilers and debuggers. Nothing comes with those tools out of the box. And generally for every target, there is generally a preferred toolchain and set of libraries. buildroot (http://buildroot.uclibc.org/) is very handy for building cross-toolchains, by the way.

    Things that you'll want to install:
            minicom (a serial terminal emulator program)
            tftp server (for embedded systems to boot over the network)
            telnet (for things that don't include ssh)

            cross-toolchains (*-gcc) and cross-debuggers (*-gdb), you'll have to build these yourself, probably.

    Then whatever development environment you want. I personally like using Eclipse with the C/C++ environment, since I don't need to manage makefiles or build scripts by hand and it can target native compiles as well as cross-compiling.

    --
    My other first post is car post.