交叉工具链的简单应用
来源:互联网 发布:js mousewheel事件 编辑:程序博客网 时间:2024/06/06 01:34
交叉工具链
交叉工具名+--help可以查看帮助
1.交叉编译器:arm-linux-gcc,
arm-linux-gcc --help查看-print-search-dirs选项。
arm-linux-gcc -print-search-dirs可以查看arm-linux-gcc安装位置,以及库的位置,arm-linux-gcc-g -c hello.c 只编译不链接。
2.交叉连接器:arm-linux-ld,
如果用到连接器脚本加参数—T,—T后面直接接连接器脚本文件名。如:arm-linux-ld -Tled.lds -o lled.elf led.o通过链接器脚本文件led.lds 将 led.o链接成led.elf文件。
3.交叉ELF文件工具:arm-linux-readelf,
无论是通过arm-linux-gcc直接编译成的文件,还是通过arm-linux-ld间接链接成的文件,都是elf文件。arm-linux-readelf -a led.elf查看elf文 件的所有属性。
如果一个程序运行不了,一般要考虑两个问题:
1.平台是否正确,可以用file命令查看是否是运行在x86平台上的;
2大小端是否正确,用arm-linux-readelf查看Data,大小端是否正确,当然也可以通过Machine选项查看硬件平台。
应用程序运行不了,除了以上两种判定方式外,还要判断该应用程序所用到的运行库,再开发板上是否存在。可用-d参数,如:arm-linux-readelf- d hello查看Sharedlibrary该应用程序所用到的库。
4.交叉转换器:arm-linux-objcopy,通过连接器链接出的程序和通过编译器编译出来的程序都是elf格式的文件,这种格式的文件不能在ARM处理器裸机
上运行(只能运行二进制文件),命令:arm-linux-objcopy-O binary led.elf led.bin,-O后面跟要转换成的文件格式,将led.elf文件转换成 led.bin二进制文件。
5.交叉反汇编器:arm-linux-objdump,把编译好的程序变成汇编程序。如:arm-linux-objdump-D -S hello,如果输出比较多可以将输出重定位到dump
文件中:arm-linux-objdump-D -S hello >dump,此时在dump文件里的内容就是汇编程序,可以:/函数名查看函数。可以在用arm-linux-gcc编译时
候加上-g,可以加上调试信息,这样编译出的文件,反汇编之后后出现调试信息,方便查看。
- 交叉工具链的简单应用
- 交叉工具链的使用
- 交叉工具链的使用
- 交叉工具链的配置
- 交叉工具链的使用
- 交叉工具链的安装
- 安装交叉编译工具链和u-boot,内核,文件系统的简单编译
- 第一个应用 和 测试交叉编译工具链
- 简单谈谈Makefile和交叉编译工具链
- 交叉编译工具链的构建
- PowerPC交叉编译工具链的制作
- 交叉编译工具链的构建原理
- 交叉工具链的安装和使用
- Linux 交叉工具链的编译
- 交叉工具链的安装和配置
- 交叉工具链的 制作与移植
- powerpc交叉编译工具链的制作
- 交叉编译工具链的构建原理
- 用frameset后网页间请求数据的传递
- Linux系列:Ubuntu虚拟机设置固定IP上网(配置IP、网关、DNS、防止resolv.conf被重写)
- 【CareerCup】 Arrays and Strings—Q1.7
- 图文详解Linux/ubuntu安装cloudstack
- Segmentation fault(Core Dump)
- 交叉工具链的简单应用
- 安卓调用系统组件实现拨打电话
- HDU1007——二维空间最近点对问题(分治)
- js 的正则表达式总结
- 2013蓝桥杯 CC++程序设计本科A组 振兴中华
- 又是图论-稳定婚姻算法的C++实现
- SPRING中属性SCOPE的prototype是什么意思
- Java Web的Timer详解
- ubuntu下安装codeblocks13.12