C/C++ Good embedded systems training kit using C++?

AI Thread Summary
The discussion centers around finding a suitable embedded systems training kit that supports C++ and offers robust features for self-learning. The Freescale S12UB is mentioned as a preferred option but is currently backordered. Suggestions include exploring the MPC5200 and various ARM9/ARM7 development boards, which are noted for their capabilities and affordability. Additionally, alternatives like the VIA Mini-ITX boards are highlighted for their programmability and low power consumption. Overall, the focus is on identifying effective tools for developing embedded applications in preparation for a senior design project.
leright
Messages
1,317
Reaction score
19
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.
 
Technology news on Phys.org
leright said:
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.

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 --
http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=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.

http://www.rabbitsemiconductor.com/products/kits/
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.
http://www.uclinux.org/

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
http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?key=DO-SP3E1600E-DK-UNI-G
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
http://www.altera.com/products/ip/processors/nios2/ni2-index.html

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.via.com.tw/en/products/mainboards/
http://www.idotpc.com/TheStore/pc/viewCategories.asp?idCategory=2
http://www.epiacenter.com/index.php

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.
http://microcontrollershop.com/default.php?cPath=154_170_280
http://www.atmel.com/dyn/products/devices.asp?family_id=605
http://www.atmel.com/dyn/products/product_card.asp?part_id=2983

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,
etc.
http://focus.ti.com/mcu/docs/mcupro...milyId=342&DCMP=MCU_other&HQS=Other+IL+msp430
http://focus.ti.com/mcu/docs/mcuprodmsptoolsw.tsp?sectionId=95&tabId=1203&familyId=342&toolTypeId=1
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.
http://ecos.sourceware.org/hardware.html

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 /
architecture.

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:
http://www.linuxdevices.com/

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.
http://www.opensparc.net/

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.
http://www.keil.com/dd/chip/3734.htm
http://www.nxp.com/pip/LPC2132FBD64.html
http://www.newmicros.com/
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:
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top