Good embedded systems training kit using C++?

In summary, a good embedded systems training kit using C++ should include a comprehensive guide to learning the language, practical exercises and projects, and access to necessary tools and resources. It should also cover topics such as real-time operating systems, hardware interfacing, and debugging techniques. Additionally, the kit should be designed for all skill levels and provide hands-on experience in building and programming embedded systems using C++. Overall, a good training kit should equip individuals with the knowledge and skills needed to develop efficient and reliable embedded systems using C++.
  • #1
leright
1,318
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
  • #2
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:
  • #3


Yes, there are many good embedded systems training kits available that use C++. Some popular options include the STM32 Discovery Kit, the Arduino Mega 2560, and the Raspberry Pi. These kits offer a range of features and capabilities, and many come with tutorials and resources to help you learn and develop your skills. It's important to choose a kit that aligns with your specific project needs and level of expertise. Additionally, you can also consider reaching out to your university's engineering department or looking for online forums and communities for recommendations and advice on the best kit for your goals. Good luck with your senior design project!
 

1. What is an embedded system?

An embedded system is a computer system that is designed to perform a specific function within a larger system. It is typically a combination of hardware and software, and it is embedded into a larger device or machine.

2. Why is C++ commonly used for embedded systems training?

C++ is commonly used for embedded systems training because it is a high-level programming language that allows for efficient and low-level control of hardware. It also has a large library of functions and data types that are useful for embedded systems development.

3. What makes a good embedded systems training kit?

A good embedded systems training kit should include a microcontroller or microprocessor, development tools such as an IDE and debugger, and a variety of sensors and actuators. It should also have detailed documentation and tutorials to guide the user in learning and practicing embedded systems concepts.

4. How can C++ be used in embedded systems development?

C++ can be used in embedded systems development to write efficient and low-level code for controlling hardware. It can also be used for tasks such as memory management, data manipulation, and communication with other devices.

5. What are the benefits of learning embedded systems using a training kit?

Learning embedded systems using a training kit allows for hands-on experience with hardware and software development. It also provides a structured learning environment with step-by-step tutorials and projects, making it easier to understand complex concepts and apply them in real-world situations.

Similar threads

Replies
8
Views
1K
  • Programming and Computer Science
Replies
1
Views
2K
Replies
10
Views
2K
  • Programming and Computer Science
Replies
1
Views
3K
Replies
4
Views
4K
  • Computing and Technology
Replies
16
Views
3K
  • Programming and Computer Science
Replies
1
Views
925
Replies
6
Views
1K
Replies
5
Views
2K
Replies
4
Views
1K
Back
Top