Most microcontrollers have decent C compilers, so they are best encoded in C, although you may need to delve into the assembly procedures for random high-performance routines. The choice of a microcontroller is usually determined by hardware requirements, peripheral devices on board, performance and cost constraints. Usually you do not transfer code from a Windows / Linux / Mac environment to a microcontroller; you, as a rule, write directly to the microcontroller, therefore strictly the compiler is a cross-compiler - compilation on your PC to work on another processor. Usually you get debuggers, emulators and full editor capabilities in the IDE, so you have similar experience working with code in a PC environment, but it works more slowly and needs to be downloaded to the target equipment or emulated for testing.
The huge authority to start reading embedded development is Jack Gansle and his firmware manual . Also www.embedded.com for general articles.
source share