ARM-Linux交叉编译环境的创建.ppt

ARM-Linux交叉编译环境的创建.ppt

ID:48061859

大小:618.50 KB

页数:22页

时间:2020-01-13

ARM-Linux交叉编译环境的创建.ppt_第1页
ARM-Linux交叉编译环境的创建.ppt_第2页
ARM-Linux交叉编译环境的创建.ppt_第3页
ARM-Linux交叉编译环境的创建.ppt_第4页
ARM-Linux交叉编译环境的创建.ppt_第5页
资源描述:

《ARM-Linux交叉编译环境的创建.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、ARM-Linux交叉编译环境的创建姓名:李京指导教师:王伟学院:信息工程学院班级:电技C081课题的研究内容在Linux系统上针对目标机ARM9处理器,分析跨平台交叉编译的概念、原理,研究创建基于ARM-Linux的交叉编译环境。23目录课题研究的目的意义开发方案的选择分步编译安装源代码与库文件方法用crosstool-ng构建交叉编译工具链结论致谢课题研究的目的意义市场需求:嵌入式系统是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源非常有限,并且对成本很敏感,有时对实时响应的要求很高。条件限制:由于嵌入式设备的性能局

2、限性,cpu运算能力差,存储空间不足等原因,往往不能通过本机编译来得到所需软件的可执行程序。解决方法:通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上编译出针对其他平台的可执行程序。4开发环境的选择1、Windows+Linux+目标系统2、Windows+Cygwin+目标系统3、Windows+Vmware虚拟机(Linux)+目标系统5开发方案的选择Linux环境下构建交叉工具链有以下三种方法:(1)分别编译和安装交叉工具链所需要的库和源代码,最终生成交叉编译工具链(2)通过crosstool或crosstool-ng脚本工具来实现一次编译,生

3、成交叉编译工具链(3)直接通过网上下载已经制作好的交叉编译工具链6分步编译安装源代码与库文件方法首先选择合适版本的软件包:Binutils-2.16.tar.bz2Gcc-3.4.4.tar.bz2Glibc-2.3.3.tar.bz2Glibc-linuxthreads-2.3.3.tar.bz2Gdb-6.4.tar.bz2Linux-2.6.16.1.tar.bz27分步编译安装源代码与库文件方法创建编译环境编译binutils(二进制工具)编译一个交叉编译版本的gcc编译一个交叉编译版本的glibc编译完整gcc编译完成后生成的文件目录8创建编译环境首先设置环境变

4、量创建相关目录安装linux头文件使用ARM平台的库文件创建相关链接。9编译binutils(二进制工具)安装二进制工具包是非常重要,Glibc和gcc会针对可用的连接器和汇编器进行多种测试,来决定打开一些特性。解压二进制工具包配置,编译和安装二进制工具包10编译gcc创建交叉编译版本的gcc,需要交叉编译版本的Glibc及头文件,而交叉编译版本的Glibc是通过交叉编译版本的gcc创建的。先编译对c语言的支持,并禁止支持线程。编译gcc之前需要进行修改,首先修改gcc源代码中的t-linux文件。需要修改linux-elf.h文件,删除文件中对LIBGCC-SPEC的定

5、义。接下来解压软件包、配置、编译、安装。11编译Glibcglibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现创建Glibc需要的时间很长,也容易出错。之前创建了arm-linux-gcc,arm-linux-ar和arm-linux-ranlib等工具。在编译Glibc前,还要进行一些修改源代码准备好后,需要修改4个文件然后开始编译12编译完整的Gcc首先在t-linux文件中删除”-Dinhibit_libc”选项,这个选项是在编译boo

6、tstrap_gcc时添加进去的,当时是为了绕过一些检查,来减少编译所花费的时间然后开始编译13$PREFIX目录结构目录名内容Arm-linux和target相关的文件Bin交叉开发工具集Include头文件InfoGcc的info文件Lib库文件Man帮助文档Share交叉开发工具和库文件共享的文件14arm-linux目录结构目录名内容Bin和glibc相关的target二进制文件和脚本Etc这里只有rpc文件Include头文件InfoGlibc的info文件LibTarget的库文件Libexec这里只有pt_chownSbinTarget中的/sbin目录Sh

7、are和国际化相关的子目录,文件Sys-include这里存放glibc没有安装的头文件,由gcc脚本复制15用crosstool-ng构建交叉编译工具链Crosstool是一套可以自动编译不同匹配版本的gcc和glibc,并且可以作为测试的脚本程序。它是一个开源项目,但由于其近年来停止更新,最高只支持gcc4.1.1和glibc2.3.6的版本,并且在编译超过Linux2.6.9以上的内核时,会出现错误。而crosstool-ng则一直保持更新,在编译高版本的Linux内核时也不会产生错误,因此一般采用crosstool-n

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

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

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