Overview
binutils is a set of binary tools, including addr2line, ar, gprof, nm, objcopy, objdumpr, ranlib, size, strings, strip, etc.
ar software
ar is used to create, modify, and extract library files. ar requires at least two parameters to run, for example:
$ ar rv libtest.a add.o minus.o
It means to make add.o and minus.o into the library file libtest.a. Among them, r means to insert the file list into the archive file, and v means to get the operation version number.
So when we reference the library file, we can use:
$ gcc -o test test.c -ltest
nm Software
The role of nm software is to display the information and properties of the target file, such as:
$ nm test.o
U Add
00000000 T main
U Minus
U printf
Here U indicates that the symbol is undefined, T indicates that the symbol is located in the code segment, D indicates that the symbol is located in the initialized data section, and there are also B, t, r, b, R, A, W, d, and so on.
objcopy software
The objcopy software is used to convert target software in one format into target software in another format.
For example, u-boot uses this software to convert u-boot into u-boot.srec format.
objdump software
This software can be used to disassemble and view target file information.
ld software
The ld software is used to link various target files and library files together, locate the addresses of data and functions, and finally generate executable files.
Linker description file:
The linker script file is used to explicitly control the linking process of ld. The "-T" option of ld can specify the name of the linker script file.
The linker script follows the syntax of a specific linker command language, linker scripts. For example, u-boot.lds
Previous article:uboot-2011.12 ported to S3C2440 (Sequence 1) - ELF executable file and its composition
Next article:uboot-2011.12 ported to S3C2440 (Sequence 3) —— References for Makefile
- 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
- CGD and Qorvo to jointly revolutionize motor control solutions
- CGD and Qorvo to jointly revolutionize motor control solutions
- Keysight Technologies FieldFox handheld analyzer with VDI spread spectrum module to achieve millimeter wave analysis function
- Infineon's PASCO2V15 XENSIV PAS CO2 5V Sensor Now Available at Mouser for Accurate CO2 Level Measurement
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- A new chapter in Great Wall Motors R&D: solid-state battery technology leads the future
- Naxin Micro provides full-scenario GaN driver IC solutions
- Interpreting Huawei’s new solid-state battery patent, will it challenge CATL in 2030?
- Are pure electric/plug-in hybrid vehicles going crazy? A Chinese company has launched the world's first -40℃ dischargeable hybrid battery that is not afraid of cold
- Detailed explanation of terminal device state switching in TI ZigBee protocol stack
- #Free application for evaluation#DFRobot AS7341 visible spectrum sensor
- One picture lets you understand TE's various industrial motor sensors
- [Project Source Code] How to forcefully delete the device driver when a device driver conflict causes a blue screen
- A beginner is asking for help. The source code of two different LPC1768 chips, the QEIPOS register is not used
- I2C Controlled 6A Three-Level Switch-Mode Single Cell Battery Charger
- Sipeed LicheeRV 86 Panel Review】6- Review Summary
- FPGA Experiment (III) VGA Color Bar Signal Display Based on HDL Language
- The key to the warehouse was found, and the music phone from 15 years ago was unboxed!
- [Flower carving hands-on] Interesting and fun music visualization series of small projects (01) --- LED rhythm lights