第17讲 交叉编译.ppt

第17讲 交叉编译.ppt

ID:48704542

大小:666.00 KB

页数:19页

时间:2020-01-19

第17讲 交叉编译.ppt_第1页
第17讲 交叉编译.ppt_第2页
第17讲 交叉编译.ppt_第3页
第17讲 交叉编译.ppt_第4页
第17讲 交叉编译.ppt_第5页
资源描述:

《第17讲 交叉编译.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第十七讲交叉编译LINUX目录一、交叉编译基本概念二、交叉编译环境的建立三、示例程序四、课堂练习五、课后作业LINUX交叉编译基本概念1.什么是交叉编译?简单地说,就是在一个平台上生成另一个平台上的可执行代码。所谓平台,实际上包含两个概念:体系结构(Architecture)(硬件)、操作系统(OperatingSystem)(软件)。同一个体系结构可以运行不同的操作系统;同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86Linux平台实际上是Intelx86体系结构和Linuxforx86操作系统的统称;而x

2、86WinNT平台实际上是Intelx86体系结构和WindowsNTforx86操作系统的简称。交叉编译基本概念2.为什么要交叉编译?一个经常会被问到的问题就是,“既然我们已经有了主机编译器,那为什么还要交叉编译呢?”1.有时是因为目的平台(2440板子)上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征;2.有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;3.有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。交叉编译基本概念3.交叉编译常用英文单词host主机平台。ta

3、rget目的平台。perfix交叉编译器的安装位置。目录一、交叉编译基本概念二、交叉编译环境的建立三、示例程序四、课堂练习五、课后作业LINUX交叉编译环境的建立1.交叉编译环境组成基于linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主pc机所构成。1.目标硬件开发板用于运行操作系统和系统应用软件。2.目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主pc机来完成(所以称为交叉编译)。3.目标板和宿主机(PC)之间一般通过串口,并口或以太网接口建立连接关系。交叉编译环境的建立2.安装宿主机(PC

4、)的软件1.安装nfs服务器sudoapt-getinstallnfs-kernel-serverportmapgedit/etc/exports/home/study/study*(rw)sudo/etc/init.d/nfs-kernel-serverrestart注:文件夹的访问权限要设置成组和其它用户都读写的NFS为networkfilesystem的简称,最早由sun公司开发,一般NFS广泛应用在集群服务器上,他的最大特点是可以通过网络让不同的机器,不同的操作系统可以彼此的共享文件,所以它可以看作一个简单的文件服务器。2

5、.安装ssh,用于在linux和window传输文件Sudoapt-getinstallopenssh-server3.安装C/C++编译器build-essentialSudoapt-getinstallbuild-essential4.安装语法,词法分析器Sudoapt-getinstallbisonflex交叉编译环境的建立5.安装C函数库的man手册Sudoapt-getinstallmanpage-dev6.解压ncurses,并安装,没有它,makemenuconfig会出错Tarzxvfncurses.tar.gzc

6、dncurses-5.6./configure–with-shared–prefix=/usrmakemakeinstall交叉编译环境的建立3.安装交叉编译工具1、把你的编译工具(arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2)放置某目录。解压:tar-jxvfarm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2会在当前目录产生上述包的解压文件,在这个目录里面找到bin目录,把这个bin目录的绝对路径记录下载。2、添加交叉编译工具进入系统的环境变量:Sudogedit/e

7、tc/environment在PATH后面加入你的交叉编译路径接着重启或者注销一下就可以了。重启完成后打开终端输入arm-linux-gcc-v看看有没有输出相关的版本信息。交叉编译环境的建立4.常用交叉编译工具介绍$arm-linux-arm-linux-addr2linearm-linux-gasparm-linux-objdumparm-linux-stringsarm-linux-ararm-linux-ldarm-linux-ranlibarm-linux-striparm-linux-asarm-linux-nmarm

8、-linux-readelfarm-linux-c++filtarm-linux-objcopyarm-linux-size我们来解释一下上面生成的可执行文件都是用来干什么的add2line-将你要找的地址转成文件和行号,它要使用debug信息。A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。