what are the requirements needed to become an embedded engineer

Asked by bhaskar on 2011-08-04

I am basically an electrical engineer and wants to change my career into embedded systems. I am learning ubuntu now and what are the other things i need to learn like computer languages, hardware, firmware. I want specific points, means what are the computer languages i want to learn, and what type of hardware i want to look in and what type of firmwares i want to learn.
I heard that for embedded systems i have to learn a lot but before that i want to know how to start and where to start for successful learning of embedded systems.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu gcc-defaults Edit question
Assignee:
No assignee Edit question
Solved by:
bhaskar
Solved:
2011-08-07
Last query:
2011-08-07
Last reply:
2011-08-04

I'd recommend C and assembly as languages

mycae (mycae) said : #2

I would recommend first being familiar with programming a standard desktop computer. Embedded programming is closer to the hardware, so is often less forgiving, and more difficult to debug. A thorough grounding in using compilers, debuggers and general programming methods is required before you attempt to launch headlong into significantly more complex embedded problems.

As for how to start, or what you want to learn, I would say it depends on what you want to do with your embedded programming.

If it is very small chips, with only minimal functionality (eg built-in switches, timers, small LED displays, etc), then you could look at, for example, the PIC series of chips from microchip. These are relatively straightforwards to program, and can be programmed in either C, assembly or "pic basic".
https://secure.wikimedia.org/wikipedia/en/wiki/PIC_microcontroller

There are also the lower-end atmel devices which can be used for things like motor controllers etc.
https://secure.wikimedia.org/wikipedia/en/wiki/ATmega

Medium weight work, eg simple network devices, simple telephony devices, serial device, you probably want to use something with built in UARTs, such as small ARM devices, eg the LPC2xxx series, or maybe the older HC series of chips.
https://secure.wikimedia.org/wikipedia/en/wiki/LPC2000

More heavyweight work, eg video decoding & graphics, floating point operations may require more complex chips with hardware decoders. However, if you are unfammiliar with any of the previous two, then this is probably a difficult first task.

You will need probably want to purchase a development board for your target chip -- there are a multitude of vendors who will sell these to you.

Note that the chip alone is insufficient, you need a board that can supply power, and tap off all of the chip outputs, such that you can use it as development platform.

marcus aurelius (adbiz) said : #3

different companies want different credentials.

one person i know who works in the industry programs strictly in ADA. others may use erlang and a variety of other software.

bhaskar (hinduvsp) said : #4

Thanks for your help and for this i am closing this question at this moment.

Hahu Smith (hahusmith) said : #5

Hi buddy, to be frank the field is no so general. It depends on companies these days so in short going for assembling + phython would be a good idea to go with.

Regards,
Hahu Smith