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.
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
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.
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.