LINUX学习笔记——交叉工具链

社区服务
高级搜索
猴岛论坛电脑百科LINUX学习笔记——交叉工具链
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
1个回复

LINUX学习笔记——交叉工具链

楼层直达
小天°

ZxID:6660801

等级: 元老

举报 只看楼主 使用道具 楼主   发表于: 2012-03-23 0
交叉工具链

1.         交叉编译:嵌入式系统开发采用交叉开发模式,是A机器上编译生成,运行在B机器上。两个机子有不同的机器指令。

2.         工具链:可能指编译、汇编、链接等一整套工具。

3.         作用:编译的程序才能在目标机上运行,用gcc编译的程序无法在目标机上运行。

4.         安装

a)         解压工具链到跟目录下tar xvzf arm-linux-gcc-4.3.2.tar.gz –C /

                                                     i.              -C表示解压到某个目录下

b)         修改/etc/profile ,添加pathmunge /opt/FriendlyARM/toolschain/4.5.1/bin

                                                     i.              根据具体的解压路径修改上面的地址

                                                   ii.              否则每次使用时都得加上路径

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

5.         交叉工具链中几个主要的命令:

a)         工具都存放在/opt/FriendlyARM/toolschain/4.5.1/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下

技术永无止境,吹嘘只会自我堕落,难成大器!

技术组只要求两点,只要求做事踏实一点,遇事冷静一点。其他自由发挥。

初颜°Am▲

ZxID:3055

等级: 禁止发言

举报 只看该作者 沙发   发表于: 2012-03-24 0
谢谢分享 
« 返回列表
发帖 回复