Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

How does one become a "firmware engineer"??

Status
Not open for further replies.

lebevti

Member
Just for some background, I am a EE (B.S.) who has mainly done Windows programming in C/C++ for a living. Mainly, I learned how to code through experience (in otherwords, I didnt have a CS specialty in school or anything)

The thing is, how does one become a firmware engineer, or write embedded code? I figure code is code, so why wouldn't a guy like myself be able to be hired to do firmware?

Do you have to take microcontroller courses? Is it preferable to have a CS degree? I've known EE majors who end up writing firmware, so what is the difference between them and me?

Do you need to know assembly language, C language, one or the other, or both? Is the programming done in assembly, C, one or the other, or either one?

Do you have to have more processor knowledge, and knowledge about computer hardware/architecture in general?

Can anyone give me a high-level course track of what it takes to do this? It seems that info on this is very scarce. Even professors don't seem to know how to answer my question.

Thanks.
 
Last edited:
If you are a windows programmer C# should be very easy for you... Have you looked at mirco.net? Using 32bit ARM processors, its extremely like windows..


you can look here www.tinyclr.com and check it out yourself.
 
The short answer is that you can easily become an "embedded programmer" or a "frimware engineer". C is the most important language to know in that world. It helps a lot if you can understand Assembly. And if you are a linux guru you can easily get a job in developing "embedded linux" systems.

The things you need to learn are the development tools (IDE, chip programming and debugging) and how different peripherals and communication interfaces work. These include USARTS, I2C bus, AD converters, USB etc.. Usually embedded programmers learn these things when they need it. And every time an embedded programmer starts working with a new type of microcontroller he needs to learn those things again.. of course previous experience helps in learning the new chip.
 
I dont think its the knowledge of C only. You have to understand other things about embedded systems. C will only get you so far.

Im sure if all you need to know was C then i would be working in a huge company by now. Im self taught also but i have about 10+ years of knowledge in me and im only 26.

I agree with misterT. You just have to lean the MCU side...

its no use to know C and not know what registers and stuff to set when doing firmware,
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top