The difference between embedded and microcontroller development models
The difference between development models
Single-chip microcomputer: Most of the development is bare metal, the program size is small, and most are independently developed by a single programmer. Some complex products also use high-end microcontrollers such as STM32 and RTOS (uCOS, freeRTOS, etc.).
Embedded: Development is almost entirely based on embedded operating systems, and the most commonly used ones currently are Linux and Android.
Differences in software components
Microcontroller: Design more simple peripherals. Such as serial port, I2CADCLCD (small screen and resolution)
Embedded: The system is designed with more complex peripherals, such as network (wired network card, WIFI, Bluetooth, etc.), USB, audio and video codec, etc.
Differences in technical features (programming languages)
Microcontroller: Mainly uses C language (with a small amount of assembly), which is slightly different from standard C. Advanced features of C language such as structures and function pointers are rarely used.
Embedded: Embedded development is more complex and is generally divided into the bottom layer and the application layer. The bottom layer uses C language, and the application layer uses C, C, JAVA and other languages. The embedded C language is very useful for structures, data structures, algorithms, and function pointers. (Used to implement object-oriented) High-level features are used more frequently.
Embedded and Microcontroller Development Career Development
Microcontroller – short learning path, smooth career, salary development reaches a bottleneck very early, and the general bottleneck salary is 6~8k.
Embedded-Learning Route Factory, with a long career, the salary will reach a bottleneck only after many years of development. The general bottleneck salary is 12~15k.