views:

154

answers:

1

Hi,

I am a software development guy. Oflate I was thinking of trying out some firmware development, as the company I work for is trying to enter that domain. I have many questions regarding firmware devlopment - like
1. What are the tools used - like IDE?
2. In which language is most of the code written in?
3. How to port the code into microcontroller?
4. How to code for different microcontrollers?
5. How to determine things I would need for building a specific application(choosing the microcontroller etc.)?
Anything else I should know about and where do I start? Sorry if this question is too basic, but I could not find out any satisfactory answers elsewhere.

Thanks...

+1  A: 

Most microcontrollers have decent C compilers so are best coded for in C, although you might need to delve into assembly routines for occassional high performance routines. The choice of microcontroller is usually determined by the hardware demands, on board peripherals, performance and cost constraints. You wouldn't generally be porting code from a Windows/Linux/Mac environment to a microcontroller one; you would generally be writing directly for the microcontroller, so strictly the compiler is a cross compiler - compiling on your PC to run on a different processor. You typically get debuggers, emulators and full editor capabilities in the IDE, so its a similar experience to writing code in a PC environment, but it runs slower, and has to be downloaded to the target hardware or emulated to be tested.

A great authority to start reading about embedded development is Jack Gansle and his firmware handbook. Also www.embedded.com for general articles.

Martin
Where do we get the IDE and compilers? Does both of them come with the microcontroller?
Manoj
The links are useful. Thanks!
Manoj
IDEs and compilers are microcontroller vendor dependent: some vendors offer free options for these, to get you to buy their chips, other development systems are expensive. There's too many vendors to list here, you'll have to do some research. Be aware that what people call embedded varies drastically from low end of 8 bit, ~300 bytes program space, 16 bytes (not k) of RAM (PIC10F200) costing pence, to Intel Atom x86 netbook style processors costing $$$ and needing a support chipset/motherboard.
Martin
I think this link answers your main question:http://www.ganssle.com/tools.htm#IDEs
Martin