arm交叉编译器的常用工具集简介

本文介绍了ARM交叉编译器的基础知识,特别是arm-none-linux-gnueabi工具集的使用方法,包括readelf用于解析ELF文件、objcopy用于转换二进制文件、size用于获取文件大小、objdump用于反汇编、strings用于查找字符串以及strip用于移除符号表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  本人新手,想记录一下自己学习的过程笔记,希望有朋友可以一起学习指正。

  很多arm芯片厂商都提供自己的交叉编译器。像arm-none-linux-gnueabi-xxx之类的,其中arm自然不用解释就是arm公司嘛,如果厂商开源的话后面则是none,若不是的话可能会是其他的。linux是指该编译器提供linux接口调用,gnueabi意思是开源嵌入式的意思,下面就比较常用的工具集进行简单介绍一下:

  arm-none-linux-gnueabi-readelf(以下就直接简写xxx的内容):不管是在windows下或者linux下每个文件都有自己的头,在linux下定义了目标文件内部信息如何组成和组织的文件格式。内核会根据这些信息加载可执行文件,内核根据这些信息可以知道从文件哪里获取代码,从哪里获取初始化数据,在哪里应该加载共享库,等信息。 

  -objcopy:在arm中运行可执行程序时,只认识机器码,所以当我们在运行裸板程序时,由于没有跑操作系统,需要将附加信息从代码中剥离出来。去掉elf头,只剩下代码段、数据段等等。

  -size:读取可执行程序的大小。

  -objdump:反汇编,在调试代码时会很有用。

  -strings:可以查看文件中有哪些字符串可以用。

  -um:可以获得符号列表(我自己现在还不知道这个具体在写代码时有什么用 ̄□ ̄||)

  -strip:剔除符号表。

转载于:https://www.cnblogs.com/nfsn/p/9262468.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值