EmbeddedRelated.com
Forums

embedded systems skills set

Started by John September 16, 2006
"Steve at fivetrees" <steve@NOSPAMTAfivetrees.com> wrote in message 
news:m7CdnbSpZ-p5d5DYRVnyhw@pipex.net...
> One tends not to run "Solitaire" on a washing machine. (So far, > anyway.)
I've played freecell on one of TekTronix's more sexy scopes but sadly laundry technology is lagging behind. When I was working on fast-jet Head Up Displays I did suggest the inclusion of a tetris-style game for long flights on auto-pilot but management seemed to think that that was "unprofessional." Some people have no vision ;-)
Tom Lucas <news@remove_auto_this_flame_to_reply.clara.co.uk> wrote:
> "Steve at fivetrees" <steve@NOSPAMTAfivetrees.com> wrote in message > news:m7CdnbSpZ-p5d5DYRVnyhw@pipex.net... >> One tends not to run "Solitaire" on a washing machine. (So far, >> anyway.) > > I've played freecell on one of TekTronix's more sexy scopes but sadly > laundry technology is lagging behind.
I have distant memories of when we played arcade style games like Breakout and Missile Command on HP 16500 logic analyzers. Goes to show I guess that lines aren't always easy to draw, back then a logic analyzer definitely was an embedded system IMO, even though most of the software was loaded from floppies. Today there's often a more or less general purpose OS running on a pretty standard HW architecture. /Henrik --
On Mon, 18 Sep 2006 11:19:42 +0100 (BST), Paul Carpenter wrote:
> On Monday, in article <m7CdnbSpZ-p5d5DYRVnyhw@pipex.net> > steve@NOSPAMTAfivetrees.com "Steve at fivetrees" wrote: >>"John" <javacc1@gmail.com> wrote in message >>news:1158533706.714740.146170@e3g2000cwe.googlegroups.com... >>> thanks for all your inputs. >>> >>> Since there are different classes of embedded systems, when people talk >>> about embedded systems, it actually can mean low-level system >>> programming, and high-level application programming as well? >>> >>> Do we consider embedded systems development as hardware development, or >>> software development, or both? It seems to me its a mixture of software >>> and hardware development. And it depends on which area we work on, the >>> more lower level we work on, then it tend to need more hardware >>> background? >> >>I'm an embedded specialist. This means I deal with everything from 8-bit >>micros running in 8k of RAM, right up to embedded PCs running a BSD >>variant - even, may dog forgive me, Windows CE. I'm also a hardware guy, so >>the smaller systems I design myself - but the higher-end systems I buy and >>bury in a box. >> >>Probably the key thing about embedded is that it's a box with a specific >>function - it's *not* a machine you can run anything on. It probably won't >>have a keyboard, screen, mouse, in the accepted sense. It has one job to >>do - e.g. a temperature controller, or a router, or a washing machine. One >>tends not to run "Solitaire" on a washing machine. (So far, anyway.) > > I have seen problems at aerospace companies, where systems for testing > equipment and components, gets messed up too often because they can > install screen savers, play games.... Then they wonder why their tester > does not work!
I've seen problems in our labs where test equipment got a PC virus because they ran some form of Windows OS. It would be nice if the vendor(s) had told us that Windows was in use at least then we might have been able to protect the device a little better. -- Linux Home Automation Neil Cherry ncherry@linuxha.com http://www.linuxha.com/ Main site http://linuxha.blogspot.com/ My HA Blog http://home.comcast.net/~ncherry/ Backup site
Mike Silva wrote:
> John wrote: > > I have some interests in embedded systems and I want to learn more. I > > expect most embedded systems are implemented in either C or C++. > > Basically Java is not an appropriate langauge in embedded system. > > Correct? Also, a good embedded systems programmer is expected to > > understand software and hardware system well? Is device driver related > > to embedded system? What kind of skills set you recommend if I want to > > work in this field? > > To add to what others have said, I would recommend that you buy a > development board based on a small, simple micro architecture, and > start programming it. The 8051, AVR, HC11 or HC12 are some possible > micro families. Get a board with an LCD and keypad and some analog IO > in addition to the digital IO. Program it to do anything you can think > of. To get more ideas, search around the web for class notes posted by > the professors of university embedded programming classes. Start > programming in assembly, then move to C. Many boards will come with at > least a restricted-capacity compiler. > > As one example, there's this board: > http://www.evbplus.com/dragon12.html > > I've never seen one of these in person, but the amount and kinds of IO > make it look like a nice board for starting embedded stuff, and the > HCS12 core architecture and instruction set is very clean, making it a > good choice to learn assembly programming, IMO. Look around the web > and you'll find a great many other board vendors as well.
I must ask what do you guys think about schools using the 68HC11 as a teaching tool? Which processor do you think is best for someone just being introduced to the world of microprocessors/microcontrollers? For example, in my microprocessor class we are being taught how to program the HC11 in assembly. We are also taught to interface with an LCD (16x2) and an ADC and the like. I am in a lesser known University in Toronto (Ryerson, don't laugh). I think the students at the University of Toronto use a full blown Freescale 68000 based system. The one we have is using a fairly trivial debug monitor over RS232 (Buffalo monitor). Even for breakpoints the host software overwrites the target address with a "SWI" instruction. It is pretty fun to play with it and cause the MCU to go into the so called "la la land". -Isaac
Isaac Bosompem wrote:

> I must ask what do you guys think about schools using the 68HC11 as a > teaching tool?
As long as they don't use brain-damaging PIC they are OK. HC11 is not that bad.
> Which processor do you think is best for someone just being introduced > to the world of microprocessors/microcontrollers?
68000, or similar CISC with index, indirect, etc. addressing modes to illustrate the basics. Neumann architecture is preferable.
> I think the students at the > University of Toronto use a full blown Freescale 68000 based system.
To teach basics, it is a good choice. May be even very good choice. -- WBR, Yuriy. "Resistance is futile"
Isaac Bosompem wrote:
> > I must ask what do you guys think about schools using the 68HC11 as a > teaching tool? > Which processor do you think is best for someone just being introduced > to the world of microprocessors/microcontrollers? > For example, in my microprocessor class we are being taught how to > program the HC11 in assembly. We are also taught to interface with an > LCD (16x2) and an ADC and the like. I am in a lesser known University > in Toronto (Ryerson, don't laugh). I think the students at the > University of Toronto use a full blown Freescale 68000 based system.
Personally, I think the HC11 is a good "laboratory" to teach micros, and the HC12 is even better (the instruction set has fewer special cases). The fewer wierd rules and inconsistencies the better. The 68000 has a clean instruction set, but the device might be "too much" for a beginner. That's just an offhand opinion, since I don't have any experience using the 68000 to teach beginners.
"John" <javacc1@gmail.com> wrote in message
news:1158459228.648252.251820@k70g2000cwa.googlegroups.com...
> I have some interests in embedded systems and I want to learn more. I > expect most embedded systems are implemented in either C or C++. > Basically Java is not an appropriate langauge in embedded system. > Correct? Also, a good embedded systems programmer is expected to > understand software and hardware system well? Is device driver related > to embedded system? What kind of skills set you recommend if I want to > work in this field?
I would advise you to read Lewin Edwards book "So you wanna be an embedded engineer". This answers a lot of your questions and/or tells you that some of these questions cannot be answered :-) Meindert

Yuriy K. wrote:

> Isaac Bosompem wrote: > >> I must ask what do you guys think about schools using the 68HC11 as a >> teaching tool? > > > As long as they don't use brain-damaging PIC they are OK.
Agreed :) PIC programming makes people mentally crippled.
> HC11 is not that bad.
Ancient processor, motorola bus, high endian, dumb assembly syntax (instructions like 'aba': is it a = a + b or b = b + a?), not so good datasheets and manuals.
>> Which processor do you think is best for someone just being introduced >> to the world of microprocessors/microcontrollers? > > > 68000, or similar CISC with index, indirect, etc. addressing modes to > illustrate the basics. Neumann architecture is preferable. > >> I think the students at the >> University of Toronto use a full blown Freescale 68000 based system. > > To teach basics, it is a good choice. May be even very good choice. >
An old good PC with DOS is the excellent platform for learning the embedded systems. Cheap, simple, tons of literature, basic peripherals are already on the board. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Isaac Bosompem wrote:

> I must ask what do you guys think about schools using the 68HC11 as a > teaching tool?
Adequate.
> Which processor do you think is best for someone just being introduced > to the world of microprocessors/microcontrollers?
I would prefer 6809 based systems but that would always mean more chips on the board (and hence more expensive) to get the equivalent to the 68HC11 I/O availability.
> For example, in my microprocessor class we are being taught how to > program the HC11 in assembly. We are also taught to interface with an > LCD (16x2) and an ADC and the like. I am in a lesser known University > in Toronto (Ryerson, don't laugh). I think the students at the > University of Toronto use a full blown Freescale 68000 based system.
The Levanthal books for each processor are better, clearer references for the intruction set than the manuals.
> The one we have is using a fairly trivial debug monitor over RS232 > (Buffalo monitor). Even for breakpoints the host software overwrites > the target address with a "SWI" instruction. It is pretty fun to play > with it and cause the MCU to go into the so called "la la land".
With either system Forth would help you crawl up from the assembly level and still allow you to include assembler code if necessary to speed things up. This would also allow you to migrate some of the code from 68HC11 to 68000 without too much trauma. -- ******************************************************************** Paul E. Bennett ....................<email://peb@amleth.demon.co.uk> Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/> Mob: +44 (0)7811-639972 Tel: +44 (0)1235-811095 Going Forth Safely ..... EBA. www.electric-boat-association.org.uk.. ********************************************************************
Vladimir Vassilevsky <antispam_bogus@hotmail.com> writes:
> Yuriy K. wrote: > > Isaac Bosompem wrote: > > > >> I must ask what do you guys think about schools using the 68HC11 as a > >> teaching tool? > > > > As long as they don't use brain-damaging PIC they are OK. > > Agreed :) PIC programming makes people mentally crippled. > > > HC11 is not that bad. > > Ancient processor, motorola bus, high endian, dumb assembly syntax > (instructions like 'aba': is it a = a + b or b = b + a?), not so good > datasheets and manuals.
Big-Endian is definite plus. If you don't like ABA, you can always write a macro. Manuals and datasheets are orders better than some other companies'. ["Big-Endian byte order is known as 'normal', 'intuitive', or 'obvious'. Little-Endian is sometimes called 'perverse', 'annoying', 'dysfunctional', or 'stupid'. These designations do not, of course, imply any bias or preference." Christopher R. Hertel, "Implementing CIFS" 2004]
> >> Which processor do you think is best for someone just being introduced > >> to the world of microprocessors/microcontrollers? > > > > 68000, or similar CISC with index, indirect, etc. addressing > > modes to illustrate the basics. Neumann architecture is preferable. > > > >> I think the students at the > >> University of Toronto use a full blown Freescale 68000 based system. > > > > To teach basics, it is a good choice. May be even very good choice. > > > An old good PC with DOS is the excellent platform for learning the > embedded systems.
Intel products are absolutely terrible as teaching platforms. Why confuse the basics with all the horrid things that Intel did?
> Cheap, simple, tons of literature, basic peripherals are > already on the board.
And on the HC11, they're on the chip.