linux命令详解(arm交叉编译器)

PC机用的win10,虚拟机使用的是VMware12,Linux版本是redhat6。

 

1、arm-linux-gcc  编译器

举例:arm-linux-gcc  hello.c –o  hello (产生的是elf文件,查看方法:file  hello   )

              Arm-linux-gcc  -g  -c  hello.c (-g附加调试信息-c只编译不连接)

 

2、arm-linux-ld  连接器

举例:arm-linux-ld  -Thello.lds -o  hello.elf  hello.o (hello.lds是连接脚本)

arm-linux-readelf  -a hello.elf (-a表示全部的信息)

可以看出这个文件适合ARM的小端平台。

 

附录:elf文件、bin文件和hex文件

(1)BIN文件是 raw binary 文件,这种文件只包含机器码。BIN文件就是直接的二进制文件,内部没有地址标记。一般用编程器烧写时从00开始,而如果下载运行,则下载到编译时的地址即可。BIN文件用来烧在Flash上

(2)ELF文件除了机器码外,还包含其它额外的信息,如段的加载地址,运行地址,重定位表,符号表等。 ELF文件可用来调试,只能运行在linux平台,不能直接运行到arm平台。

(3) HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量,Intel HEX文件经常被用于将程序或数据传输 
存储到ROM、EPROM,大多数编程器和模拟器使用Intel HEX文件。 

3、arm-linux-objdump   反汇编器

       例子:arm-linux-objdump -D  -S  hello  >dump(hello是elf格式,产生elf文件时如果加入了-g选项,反汇编时看代码会更清晰。>dump表示将反汇编输出到dump文件,可以打开dump文件查看)

4、arm-linux-objcopy  文件格式转换器

         例子:arm-linux-objcopy  -o binary  hello.elf  hello.bin

 

         

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

strongercjd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值