这里说的二进制文件说的是 代码二进制文件 , 不是 数据二进制文件
代码二进制文件是有格式的,linker按照格式生成代码二进制文件,loader按照格式解析代码二进制文件
在不同的系统上,二进制有不同的发展史
1. unix-like a.out COFF ELF
2. windows .com MZ NE LE PE
3. MacOs Mach-O
我们现在 以 linux 中的 ELF 为例解析, 注意 除了 linux,linux-app,u-boot也是elf格式的
有哪些文件
u-boot spl 阶段:
u-boot 阶段:u-boot
linux阶段 : vmlinux
app 阶段 : main main.srec main.bin main.o main.hex // main.hex 不是 二进制文件
什么是二进制文件
创建文件的时候 : open的 如果 参数 为 "b" , 则得到的文件为 二进制文件
二进制文件的格式分类
elf
a.out
srec
bin
hex
main.o: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), not stripped
main.srec: Motorola S-Record; binary data in text format
main: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=514d3a8c8f73547faaf6e0c1b1b03bbf27a47b2a, not stripped
main.bin: data
main.hex: ASCII text
上一篇:OK6410A 开发板 (八) 94 linux-5.11 OK6410A 内存消费者角度 分析内存管理
下一篇:OK6410A 开发板 (八) 92 linux-5.11 OK6410A 从0到APP启动的过程中相关的所有文件及分类
推荐阅读最新更新时间:2024-11-16 21:48
设计资源 培训 开发板 精华推荐
- 【中山大学校赛】远程继电器控制板
- L7809A 开关稳压器的典型应用
- 用于仪表的 5V RS-485 收发器
- LTC3642EDD 3.3V、50mA 降压型稳压器的典型应用电路,具有峰值电流软启动、小尺寸
- 具有集成肖特基二极管的 LT3497 双路全功能白光 LED 驱动器的典型应用
- 使用 NXP Semiconductors 的 TDA2582 的参考设计
- LTC3738 的典型应用 - 用于英特尔 VRM9/VRM10 的三相降压控制器,具有有源电压定位
- C2758475_TCS3200颜色传感器验证板
- STM32F411RET666
- 使用 Analog Devices 的 LTC1740CG 的参考设计