交叉工具链

交叉工具链
 
1.         交叉编译:嵌入式系统开发采用交叉开发模式,是A机器上编译生成,运行在B机器上。两个机子有不同的机器指令。
 
2.         工具链:可能指编译、汇编、链接等一整套工具。
 
3.         作用:编译的程序才能在目标机上运行,用gcc编译的程序无法在目标机上运行。
 
4.         安装
 
a)         解压工具链到跟目录下tar xvzf arm-linux-gcc-4.3.2.tar.gz –C /                 // -C表示解压到某个目录下
 
b)         修改/etc/profile ,添加pathmunge /user/local/arm/4.3.2/bin
 
                                                     i.              根据具体的解压路径修改上面的地址
 
                                                   ii.              否则每次使用时都得加上路径
 

c)         执行source /etc/profile  使生效


5.查看安装是否成功

  命令:arm-linux-gcc -v  显示版本


 
6.         交叉工具链中几个主要的命令:
 
a)         工具都存放在/user/local/arm/4.3.2/bin目录中
 
b)         编译器:arm-linux-gcc 例:arm-linux-gcc hello.c –o hello
 
c)         反汇编工具:需要有编译好的代码
 
                                                     i.              作用:用来观察汇编语言的代码
 
                                                   ii.              arm-linux-objdump 例arm-linux-objdump –D –S hello
 
                                                  iii.              以上情况会直接输出汇编代码,若在末尾加上>hello.log表示输出到这样一个文件里去
 
d)         ELF文件查看工具:arm-linux-readelf
 
                                                     i.              Elf文件:arm-linux-gcc 编译出来的文件的格式
 
                                                   ii.              arm-linux-readelf –a hello  查看ELF的头信息,关注Data大小端和machine目标机是否符合要求
 
                                                  iii.              arm-linux-readelf –d hello 查看hello使用的动态库shared library
 

1)         作用:有时候会发现明明有程序,但是运行时还是会报找不到程序的错误,那么就可能是没有动态链接库。解决:把相应的动态链接库拷贝到lib下


file命令(查看可执行文件格式)

 命令:file hello 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值