What develoment kits would you would consider for senior undergrad and graduate level embedded systems course? It needs to be versatile and support several peripherals at reasonable cost. It will also be used in senior projects and MS projects. What C compiler you would recommend? What RTOS ports exist for this platform? How popular is this system? Any links?
Thanks a lot
Nick13
This message was sent using the comp.arch.embedded web interface on wwwEmbeddedRelated.com
"nick13" skrev i meddelandet news: snipped-for-privacy@news.supernews.com...
A low cost AVR based system would be:
ATSTK500
WinAVR (Free of Charge, downloadable from
formatting link
AVR Studio - also free of charge from
formatting link
RTOS links on same website.
You can program and simulate with this toolset. If you want an emulator, then the JTAGICE Mk 2 might be of interest.
A good chip to start with would be the ATmega16.
If you want to play with FPGAs/Verilog/VHDL, then you can add a header board with the ATSTK594.
-- Best Regards, Ulf Samuelsson snipped-for-privacy@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB
These kits are already reasonably priced, and educational discounts are available. Several instructors and schools in several countries have set up curricula around Z-World and Rabbit Semiconductor core modules or SBCs. The dev kits include a full version of our compiler with extensive driver libraries and samples, including a TCP/IP stack.
A uC/OS-II port for Rabbit processors is available (normally as an $159, license-free add-on), but the tools also include "costatement" extensions for cooperative multi-tasking that works without an RTOS.
Millions of Rabbit-based chip, core module, and SBC units have been shipped for thousands of commercial products world-wide.
I target my AVR based modular products at the undergraduate education market. The AVR is popular and a good example of a RISC architecture based microcontroller which gives a very good level of performance for its clock rate and power consumption. I offer a range of peripheral boards that can be added on to the processor as required to create a mix of system capabilities.
Regarding tools, the AVR benefits from a wide range of 3rd party C (and other languages) tools not to mention the GNU C tools. For code development this is what I exclusively use now in the guise of the WinAVR system which provides a GUI front end. I'd suggest visiting
formatting link
if you want an excellent source of information on AVR software and hardware products.
8051 (any one of the 600+ varients from 30+ silicon vendors) There is no peripheral that the 8051 family does not have. They are also the basis for a lot of SIM cards and smart cards. there are also radiation hardened versions for space use.
or of course the "32 bit 8051" or ARM7 again lots of varients from lots of vendors but this is a little more expensive.
Eval versions of Keil, IAR, Tasking, Raisionance etc etc etc Then there are a whole host of free ones
Most are standard ISO C with extensions.
RTOS is not normally needed but there are several free ones. (uCOS-II, FRERTOS etc etc )
Most common micro on the planet by a large margin (about 1 in 3 MCU on the planet is a 51 type). Been used for about 20 years. The compiled binary for the first ones will run on the new ones.
For example Atmel who make the AVR also do the 51. AFAIK the sell similar numbers of both. However there are another 30 odd Silicon companies who also sell the 51. No one else makes the AVR. That said technically the AVR is a newer "better" part.
The Rabbit is an odd one that again like the PIC is single source and a system that is similar only to itself.
For educational use I would recommend the 8051 as it is by far the most common and the closest thing you will get to a universal MCU There are plenty of tools from the free and inexpensive to through to the high integrity stuff.
Far more than you need. Almost EVERY silicon vendor does them. There is VAST amounts for free and example code for them.
Start with 8052.com
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/\ /\/\/ snipped-for-privacy@phaedsys.org
The 8051 is great for assy programing. Has a nice easy instruction set and a straight forward architecture. Not much else going for it though.
The arm has nothing in common with the 8051.
C does not run well on a 8051.
Well sort of, I haven't seen 1 fully ansi complient yet but I havent seen them all.
Don't even go there.
There are loads, due to the fact that they are a least 20 years old and everyone makes them and not due to any technical merit.
Yep, no improvement in 20 yrs.
The C language is prettymuch universal nowadays, so it doesn't much matter what chip you use as long as its big enough and the compiler is ansi. Look for a 16 bit chip, most can be had with a starter kit of some sort.
I guess the 8051-based products that are out there and running on C code I wrote are just my imagination?
I know what the generated machine code looks like (a little ugly at times), but I would never have been able to develop the code in assembly only in any reasonable amount of time - the size of the firmware is very large in a few of the projects.
On 05 Feb 2005 13:50:35 GMT, snipped-for-privacy@aol.com (CBarn24050) wrote in comp.arch.embedded:
Nonsense, although it does take some awareness. I have produced embedded systems with 8051 derivatives programmed in C for more than a dozen years. Keil was extremely good than, and has gotten better since.
I haven't seen a fully ANSI 89 conforming C compiler for ANY 8-bit micro, and the only close to fully conforming ones I have used for
16-bit environments are Microsoft's and Borland's older compilers used on chips like the 80188 and 80186.
But the current C standard is ISO 1999, almost 5 1/2 years old, and I don't know of a fully conforming C99 compiler for ANY embedded processor or controller of ANY size from ANY vendor.
Admittedly, RTOS on 8051 is a pretty silly concept. Most likely, if a project needs a real RTOS, 8051 or any 8-bitter is an incorrect design choice.
Let's see, original parts were 1 MIPS, some of them out there now can hit 100 MIPS for short stretches. That's what I'd call no improvement.
First of all, that's "ANSI" (American National Standards Institute), not "ansi". And they do not own the C standard anymore, ISO (International Organization for Standards) does, and have since 1990, about one year after the original ANSI standard. But ANSI is a member organization of ISO, and the ISO standard is also an ANSI standard, and a BSI standard in Great Britain, and so on in other member nations.
Personally, I think most 16-bit chips are a bad idea these days, although there are some niche parts for specific applications that are an exception. The low end ARM parts are in the same price range.
And as for "the compiler is ansi", name one for an embedded processor or controller that is. I mean that really fully conforms to even the original ANSI 1989 standard, meeting the requirements for a "free-standing" implementation.
--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~ajo/docs/FAQ-acllc.html
The widest range of any MCU multiple sources LOTS of tools etc etc
Not architecturally. The similarity is that it is the 32 bit 8051 in that "everyone" is producing variants and tools for it.
Though the majority use C ver well on it (including safety and mission critical stuff) At one point most mobile phone sim cards were 51's programed in C
No one uses "ANSI-C" on embedded systems... BTW I assume you mean ISO-C? C90 or C99?
A few but as you say don't use one.
The same can be said for the QWERTY keyboard. This OP was asking about educational use.
Yep :-)
You mean ISO-C.... none of them are the best they get is mostly C90 + extensions.
Why 16 bit? The parts, dev kits and tool are a lot more expensive. ^This is why a lot of educational establishments use the 51.
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/\ /\/\/ snipped-for-privacy@phaedsys.org
Just as my 1929 Ford can operate on 3rd millenia roads. Later models have differences, but run the same software - me. Compatibility is convenient.
--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
Since I'm one of the authors who has published this comment, I feel the need to defend it: The ARM7 core and the 8051 core have this in common: ubiquity. The thrust of the "ARM7 is the 32-bit 8051" statement is that ARM7 fills the same niche in the 32-bit space that 8051 fills in the
8-bit space. Furthermore, due to its tiny die space, ARM7 is beginning to eat 8-bit designs also.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.