Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Good embedded systems training kit using C++?

  1. Jul 9, 2007 #1
    good embedded systems training kit using C++??

    I am looking for a good embedded systems training kit that has some power, lots of features, and is relatively easy to use. I would like to use C++. I would get the Freescale s12ub but it's backordered. I need this kit in order to teach myself enough to do my senior design project in the Fall and Spring semesters.

    Any advice? I could use simple PICs, but I was hoping to get something a bit more sophisticated. Thanks.
  2. jcsd
  3. Jul 10, 2007 #2


    User Avatar

    Well I'm not sure what kind of 'embedded' applications you'd
    benefit from being able to develop, so it's hard to say what's the best tool for the price.

    You might look into the following:

    MPC5200 --
    I seem to recall (fuzzily) that a couple of
    development boards might be relatively low cost for it,
    though I don't immediately recall which -- the lowest I
    see at the moment is $995 which is a bit much for an
    academic / hobby board. As with many development
    tools, some software abd hardware tools for it are in the
    many hudreds to thousands of dollard range,
    and some are free or much less expensive. It's an OK
    processor if you need those kinds of features and can use
    it without a lot of added logic / board design.

    They have some mid-range microcontrollers and
    development kits -- not really C++ oriented, but more
    of a stripped down C development environment from the
    look of it.

    Take a look at the hardware ports that have been done
    for uCLinux -- there are some relatively low cost
    microcontroller boards that it can run on, and you can
    do development in C (and C++ as far as I know) for the
    OS using the target hardware as well as cross-development
    using a desktop PC.

    You could look at various development boards
    for the MicroBlaze soft-processor that runs in some Xilinx
    FPGA chips. There are boards from Xilinx and third parties.
    http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=micro_blaze [Broken]
    http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=DO-SP3E1600E-DK-UNI-G [Broken]
    A bit expensive if you just need a microcontroller / SoC
    type solution, but something to consider if you really
    need the unique benefits of an FPGA with some free
    resources for your hardware system.
    I'm not sure about the C++ support, but at least C
    should work as far as I know.

    Similarly, there's the NIOS soft-processor that can
    be used in some Altera FPGA chips.
    http://www.altera.com/products/devkits/altera/kit-Nios-2c35.html [Broken]

    Here's my favorite pick for something embeddable
    that's VERY programmable with a wide range of true
    C++ development tools, has tons of memory,
    tons of processing capability, and is available at a fraction
    of the price and needs only a fraction of the development
    effort / knowledge of many embedded systems boards:
    The Via EPIA Mini-ITX / nano-ITX / pico-ITX!
    They are fullly PC compatible motherboards, some of
    which can run on 12V dc, take less than 3 Watts of power
    fully operating, some clock in excess of 1GHz even though
    they use very low power, many can run fan-less. They
    are quite popular for embedded audio/video multimedia
    applications as well as other things.
    http://www.epiacenter.com/index.php [Broken]

    ARM9 CPUs make an excllent platform for C/C++
    embedded development. There are System-on-a-Chip
    chips like the ATMEL AT91RM9200, the
    Samsumg S3C2410, and others.
    There are lots of 3rd party development boards too.

    There's the TI MSP430E series,
    you can program them in very frugal C language, not much
    different than a PIC chip in its capacities. Not much
    memory or fancy I/O peripherals. Not what you want to
    use if you're looking for ethernet, firewire, etc, but not
    bad for just a few GPIO pins, an ADC or two, SPI port,
    The $20 MSP430F2013 development 'USB kit' is handy
    for playing around with some of the low pin count devices,
    though if you're really looking for lots of I/O you'll need
    a much higher pin count family member chip.

    Here's a list of devlopment boards that are supported
    by the free eCOS embedded operating system, some
    of the boards are not so expensive, others are quite
    expensive or old / obsolete / hard to find.

    Another option you should not overlook is to just
    consider buying a commercial device that happens to
    have the processor you'd like to begin to program for
    and just use it for software development. Many PDAs
    have StrongArm XSCALE CPUs in them, and also SDKs
    that let you program them in C++. Many of the older
    model PDAs can be bought used or on close-out / overstock
    sale very inexpensively these days, and they're not so
    capable as PDAs compared to the state of the art, but when
    you compare them to the prices and capabilities of many
    embedded development kits for 16 bit or 32 bit
    processors, you may find they're a good value for
    practicing softwware development. Some PDAs even come
    with embedded LINUX operating systems, making it even
    easier to program them than say the ones which have
    something like Windows Mobile or PalmOS which are still
    possible, just not quite as open in terms of tools /

    The MCF5272 is/was a pretty popular chip in the
    Motorola/Freescale line, and was pretty unique at the
    time for having a built in Ethernet MAC function.
    There are some development boards for using it with
    uCLINUX etc.

    For embedded LINUX development, this is a good
    site that lists many of the development tools and
    commercial products that use it:

    Here's the OpenSPARC project, they have taken the
    advanced SPARC architecture and made an
    open-source free to use soft-processor implementation
    of it that you can compile into an actual fast working
    processor with VHDL/Verilog. It is possible to compile
    it into a medum-capacity FPGA. Unless you do have
    a fairly advanced FPGA development board, though,
    this processor design is probably more advanced and
    more demanding of logic resources than you need.

    The ARM9's are the most modern and feature-rich,
    often including a more advanced MMU, etc. But their
    older brothers, the ARM7 chips are now ubiquitous,
    very inexpensive, and very powerful compared to many
    other microcontrollers of the past.
    Check out the TinyARM->Tini2138 module for an
    LPC2138 based module that is not so expensive,
    and they have many other development board / module
    products for many other kinds of microcontrollers too,
    it seems.

    My suggestion is probably either to use the
    VIA Mini-ITX boards, or an ARM9/ARM7 for general
    purpose embedded controller learning and practicing
    due to the powerful capabilities present and the relatively
    highly integrated and often fairly low-cost
    and mature / powerful development platforms.

    Good luck.
    Last edited by a moderator: May 3, 2017
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook