Getting started in Firmware development [closed]

2020-05-29 02:15发布

问题:

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.

回答1:

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.