The structure of bin file is RO+RW+ZI, where the address in RO is the same as the address of the symbol, but RW and ZI are different, so RW and ZI must be moved to the actual address before using them. You can refer to the source code of 44binit.s:
;****************************************************** *******
;* Copy and paste RW data/zero initialized data *
;****************************** ****************************
LDR r0, =|Image
LDR r1, =|Image
LDR r3, =|Image
;Zero init base => top of initialised data
CMP r0, r1 ; Check that they are different, determine if RW needs to be moved
BEQ %F1
0
CMP r1, r3 ; Copy init data
LDRCC r2, [r0], #4 ;--> LDRCC r2, [r0] + ADD r0, r0, #4
STRCC r2, [r1], #4 ;--> STRCC r2, [r1] + ADD r1, r1, #4
BCC %B0
1
LDR r1, =|Image
MOV r2, #0
2
CMP r3, r1 ; Zero init
STRCC r2, [r3], #4
BCC %B2
All ARM source code must be run before using the RW and ZI domains
Previous article:ARM instruction set - coprocessor instructions
Next article:ARM instruction addressing problem
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
- LLAKG: Arduino automatic watering system (Episode 3: C language program upgrade and function optimization)
- [NXP Rapid IoT Review] - NXP Rapid IOT Studio Experience
- TI Signal Chain and Power Q&A Series Live Broadcast - USB Type-C Special Prize Live Broadcast in Progress!
- The Structure and Interpretation of Computer Programs (2nd Edition)
- Teacher maychang's new work - interesting video about the history of electronic technology: the debate between AC and DC
- Detailed description of the debugging document of the NUCLEO-G431RB+IHM08-V4 three-resistor FOC (5.4.1 library) motor control board
- Interference Analysis and Countermeasures in High-Frequency PCB Design
- TI - MCU - MSP430 User Guide 13 -> Timer module
- Understanding characteristic impedance
- Memory Technology's recent expert position requirements