ARM:ELF bin Hex axf
Gcc 编译出来的是ELF文件。通常gcc –o test test.c,生成的test文件就是ELF格式的,在linux shell下输入 ./test就可以执行。
- elf(executable and link format)文件里面包含了符号表,汇编等。
- BIN文件是将elf文件中的代码段,数据段,还有一些自定义的段抽取出来做成的一个内存的镜像。
Axf文件 由ARM编译器产生,除了包含bin的内容之外,还附加其他调试信息,这些调试信息加在可执行的二进制数据之前。调试时这些调试信息不会下载到RAM中,真正下载到RAM中的信息仅仅是可执行代码。因此,如果ram的大小小于axf文件的大小,程序是完全有可能在ram中调试的,只要axf除去调试信息后文件大小小于ram的大小即可。
调试信息有以下功用:
1、 可将源代码包括注释夹在反汇编代码中,这样我们可随时切换到源代码中进行调试。
2、 我们还可以对程序中的函数调用情况进行跟踪(通过Watch & Call Stack Window查看)。
3、对变量进行跟踪(利用Watch & Call Stack Window)。
调试信息虽然有用,但程序功能实现后,在目标文件和库中减少调试信息却是非常有益的。减少调试信息可减少目标文件和库大小、加快链接速度、减小最终镜象代码。以下几种方法可用来减少每个源文件产生的调试信息:
1、避免在头文件中条件性的使用#define,链接器不能移除共用的调试部分,除非这些部分是完全一样的。
2、更改C/C++源文件,使#included包含的所有头文件有相同顺序。
3、尽量使用数量较多的小头文件而不是较大的单一头文件,这有利于链接器获取更多的通用块。
4、程序中最好只包含必须用到的头文件。避免重复包含头文件,可使用编译器选项--remarks来产生警告信息;
5、使用编译命令行选项--no_debug_macros,从调试表中丢弃预处理宏定义。
......................................................................................................................................
- ELF(Executableand linking format)文件是x86 Linux系统下的一种常用目标文件(objectfile)格式,有三种主要类型:
- 可由elf文件转化为hex和bin两种文件,hex也可以直接转换为bin文件
- axf和elf都是编译器生成的可执行文件。
- axf/elf是带格式的映象,bin是直接的内存映象的表示。
- Linux OS下,ELF通常就是可执行文件,通常gcc -o testtest.c,生成的test文件就是ELF格式,的在Linux Shell下输入./test就可以执行。
ARM:ELF bin Hex axf相关推荐
- Hex、bin、axf、elf格式文件小结
一.HEX Hex文件,一般是指Intel标准的十六进制文件.Intelhex 文件常用来保存单片机或其他处理器的目标程序代码.它保存物理程序存储区中的目标代码映象.一般编程器均支持生成此种格式文件. ...
- 痞子衡嵌入式:ARM Cortex-M文件那些事(8)- 镜像文件(.bin/.hex/.s19)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的image文件(.bin, .hex, .s19). 今天这节课是痞子衡<ARM Cortex-M文件那些事>主 ...
- 烧写文件格式介绍(ELF、HEX、BIN)
烧写文件格式说明(ELF.HEX.BIN) 一.ELF: Executable and linking format(ELF)文件是x86Linux系统下的一种常用目标文件(object file)格 ...
- 记:ELF文件解析初定义——文件头解析
0x00 概论 因为TI的DSP输出文件与传统的ELF文件不符,所以本人就顺道研究了一下现在的ELF的文件格式. 会将其陆续完成在文章中. 阅读本文之前,您需要掌握的技能有: 技能名称 技能熟练度 技 ...
- bin hex 文件互相转换
bin hex 文件互相转换 参照KEIL官网的教程和工具. 这里说已经使用srec_cat.exe(下载链接)替代bin2hex了.使用方法. bin文件转hex文件 .\srec_cat.exe ...
- 在CCS上生成.bin .hex .txt文件并烧录到MSP430 使LCD灯亮
在CCS上生成.bin .hex .txt文件并烧录到MSP430 使LCD灯亮 摘自 https://www.cnblogs.com/binglmm/p/9629618.html ...
- 记:ELF文件解析初定义——Section段相关讲解
0x00 概论 因为TI的DSP输出文件与传统的ELF文件不符,所以本人就顺道研究了一下现在的ELF的文件格式. 会将其陆续完成在文章中. 承接上文,上文书说到,解析文件头格式,数据段的分配定义,与数 ...
- sudo:/usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位
今天手抖本来要修改/usr/bin/下面的一个文件属性为 user:user,执行chown -R /usr/bin/的时候,再按tab之前直接敲了回车:结果导致执行sudo命令时出现错误提示:& ...
- cfile清空文件内容_编译-链接-加载 :ELF文件格式解析
摘要:对于C++的初学者,经常在程序的编译或者加载过程中遇到很多错误,类似undefined reference to ... 和 GLIBCXX_3.4.20 not found 等.这些错误都涉及 ...
最新文章
- 正式压力测试:locust进阶,超简单搭建生产级locust集群
- basePath = request.getScheme()+://+request.getServerName()+:+r
- python字典按value逆序排序_python 对字典按照value进行排序的方法
- 用区块链变革教育行业?全球首个教育+旅行+区块链平台——Ambertime:让每个人都能够将时间凝结成自己专属的“琥珀”...
- centos7 docker-compose安装_Docker Compose 搭建 Redis Cluster 集群环境
- 【Flutter】底部导航栏页面框架 ( BottomNavigationBar 底部导航栏 | PageView 滑动页面 | 底部导航与滑动页面关联操作 )
- python中可选参数_带可选参数的Python函数
- flask开启调试的四种模式
- 超详攻略!Databricks 数据洞察 - 企业级全托管 Spark 大数据分析平台及案例分析
- 计科14-1 140201125 王振禹 作业三
- 素拓活动策划书的撰写范文
- [译]C语言实现一个简易的Hash table(5)
- 使用curl与wget发送get与post请求
- flightgear_使用FlightGear进入虚拟天空
- APISpace 空号检测API接口 免费好用
- html表单实例:用户反馈表单页面代码
- threejs包围盒的应用
- 在线计算机微积分,高等数学计算器
- 链家租房数据基本分析
- 1000年---2000年之间的闰年、判断某年是否为闰年
热门文章
- golang生成随机ID的方法之ObjectID
- 机箱硬盘指示灯不亮_光纤收发器的六个指示灯及对应故障对策
- 15个PLC必备的基础知识,赶紧收好
- 不小心把桌面进程结束了怎么办_电脑桌面进程崩溃怎么办_桌面进程explorer怎么重启...
- permission uses-permission区别
- Solidworks如何使用Toolbox
- 《量化金融R语言高级教程》一2.1 套利定价理论
- java实现五子棋游戏
- 3.2 Trino二次开发-动态数据源管理-源码解读2
- python自动备份交换机配置脚本_python代码自动备份交换机配置