Development
Development Mode:
Local development: local development is directly used on the target machine (embedded systems or devices are usually referred to as the target machine in embedded systems ).
Port the operating system and develop applications. For development in this way, you must first install it on the target machine.
System, and has a good human-machine development interface.
Cross-development:This means to crop the operating system on a host (generally referred to as a general PC in an embedded system ),
Compile the application program, compile the kernel and application programs in the Cross-compiling environment of the application on the host, and then download the target code to the Project
Run on the scale machine. Therefore, you need to install and configure the cross-compilation environment (cross-development tool chain) on the host so that it can compile
The target code that runs on the target machine.
Simulation Development: Based on the Cross-development environment. In addition to the host and target machine, a simulated target machine must be provided on the host.
So that the developed kernel and program run directly in this environment to verify its correctness.
All modifications are downloaded to the target machine. After the program is correct, download the modifications to the target machine and run the changes. In this way, no target machine is available.
The purpose of debugging the software. The famous simulated development environment is Skyeye, which can simulate processors such as arm.
Development environment. Simulating a hardware environment is a complex project, so most commercial embedded systems use
Cross-development mode.
Development Method:
Crash and burn:
1. Write code on the host machine
2. Compile the application on the host machine to generate executable programs.
3. Burn to the memory of the target machine (such as EPROM and flash ).
4. Start the operation. If it is correct, go to 7.
5. If it is incorrect, rewrite the code on the host to correct the error.
6. 2 repeated operations are returned.
7. Fixed successfully and ended
Rom Monitor:
Rom monitor is a program solidified on the target machine. It is used to monitor the running of the program to be debugged on the target machine and debug the application on the target machine together with the Host Program. In this case, the host machine must have a cross-debugger that matches the ROM monitor. In this debugging method, Rom monitor is first executed after the target machine is reset.
1. Write code on the host machine
2. Use the debugging mode on the host to cross-compile the application and generate executable programs.
3. Download the code to the ram space on the target machine.
4. Use the debugger for cross-debugging.
5. If the conversion is correct
6. If it is incorrect, I will be assisted in setting up the dislocation in the debugger.
7. Modification error. Repeat 2 ~ 7
8. solidify the program to the target machine and end it.
Rom emulator:
Use Rom emulator to replace the ROM chip on the target machine
Incomplete debugging methods
Ice (in-circuit emulatorCommon Development Methods):
Replace the CPU device on the target machine
Development Board provided by the manufacturer
Expensive, not conducive to team development
Limited imitation CPU
OCD (on chip debugging):
OCD is a debugging function provided by the CPU chip.
Various implementation methods and standards are inconsistent:
1. BDM (backgroud debugging mode)
2. JTAG (Joint Test Access Group)
3. Once (on chip emulation)
Simulator:
Software simulators. Virtual target machine on the host machine.
Simulation content:
Simulation Processor
Simulation peripherals
Simulation Environment
Applicability: Applications with no strict requirements on time features, no special peripherals, and only need to verify that the logic is correct.