Embedded development refers to the development under the embedded operating system, including hardware, software and comprehensive research and development under the guidance of systematic design. Hardware R & D usually refers to using Verilog HDL to complete the design file on EDA software platform, and then the computer automatically completes the logic compilation, simplification, segmentation, synthesis, optimization, layout, wiring and simulation, until the adaptation compilation, logic mapping and programming download for a specific target chip. Embedded software development is systematic design and software development under certain hardware conditions. The main languages used are C + + / C + +, ADA.


Embedded system is an embedded processor control board whose control program is stored in ROM. In fact, all devices with digital interface, such as watches, microwave ovens, video recorders, cars, etc., use embedded systems. Some embedded systems also include operating systems. Some embedded systems implement the whole control logic by a single program.

The evolution direction of embedded system

1. With single chip microcomputer as the core and programmable controller as the form of existence

No operating system support

The software is mainly assembly

Single function, low efficiency, small storage container, no external interface

Simple to use, low price

2. Based on embedded CPU and simple operating system

There are many kinds of CPUs, and the generality is weak

Low system overhead and high efficiency

To achieve a certain degree of compatibility, scalability

The user experience is not high, and the interface is not friendly enough

3. Take the embedded operating system as the symbol

Good compatibility, suitable for different platforms

The system has the advantages of low cost, high efficiency, high modularity and expansibility

Graphical interface and friendly user interface

Rich external interfaces

4. Marked by the Internet of things

Integrate sensor technology, Internet technology and traditional embedded technology

Miniaturization, intellectualization, networking and visualization

Low power consumption and environmental protection

Multi core technology, cloud computing, virtualization technology

Two development modes of embedded system

Development of non embedded system

Class a machine to write source code, compile the executable program, release to class a machine to run.

Embedded development

Class a machine writes source code, compiles executable program, and publishes it to class B machine. This compilation mode is also called cross compilation.

Why use crossover? Embedded open CPU is relatively simple, it can’t build development environment itself, some even don’t have operating system; cross compiler can use high-performance machine to develop software for low-performance machine. Cross compilation must use special cross compilation tools. Because the executable program can’t run and debug locally, we must use a special method to load the executable program to the target embedded device to run and debug.

Embedded development process

Create project

After configuring hardware devices and installing software development tools, you can start to create engineering projects. Usually, you need to select the storage location and target processor of project files.

Add project file

Developers need to create source program files, write application code, and add them to the project; they will also use the library files of device drivers, including startup code, header files, some peripheral control functions, and even middleware. These files also need to be added to the project.

Configure engineering options

Due to the diversity of hardware devices and the complexity of software tools, engineering projects provide many options, which need to be configured by developers, such as the type and location of output files, compilation options and optimization types, and also configure code debugging and download options according to the selected development board and online emulator.

Cross compile join

Using the development software tools to compile multiple files of the project, generate the corresponding target file, and then connect to generate the final executable image, which is saved in the file format downloaded to the target device. If there is an error in the compilation connection, return to modify; if there is no error, run and debug the software simulation first, and then download to the development board to run and debug.

Program download

At present, most microcontrollers use flash memory to save programs. After the executable image is created, it needs to be downloaded to the flash memory of the microcontroller by using the online emulator (or serial port or network port) to realize the programming of flash memory, and the executable file can also be downloaded to SRAM to run.

Operation and commissioning

After the program is downloaded, it can be started to see if it works normally. If there is a problem, connect the online emulator, use the debugging environment of software development tools to carry out breakpoint and single step debugging, and observe the detailed process of program operation. If the application runs in error, return to modify.

Editor: JQ

Leave a Reply

Your email address will not be published. Required fields are marked *