Getting started in Firmware development

10,585

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.

Share:
10,585
Manoj
Author by

Manoj

Updated on June 04, 2022

Comments

  • Manoj
    Manoj almost 2 years

    I am a software development guy. Lately 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.

  • Manoj
    Manoj over 14 years
    Where do we get the IDE and compilers? Does both of them come with the microcontroller?
  • Manoj
    Manoj over 14 years
    The links are useful. Thanks!
  • Martin
    Martin over 14 years
    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
    Martin over 14 years
    I think this link answers your main question: ganssle.com/tools.htm#IDEs