《Linux基础PPT课件第十章交叉编译环境.ppt》由会员分享,可在线阅读,更多相关《Linux基础PPT课件第十章交叉编译环境.ppt(25页珍藏版)》请在三一办公上搜索。
1、第九章 内容回顾,嵌入式系统简介嵌 入式系统服务器和客户端Subversion的基本操作,交叉编译环境,第十章,本章目标,嵌入式系统的开发环境是什么;能够熟练使用掌握交叉编译环境建立的方法;如何进行交叉编译。,本章结构,交叉开发简介,交叉编译环境建立,为什么需要交叉开发,交叉编译与链接,GNU交叉工具链,交叉开发环境的组成要素,开源GNU交叉开发环境,常用工具介绍,主要工具使用,交叉调试,交叉工具链展开,10.1.1 为什么需要交叉开发,台式软件从“源码程序”到“机器码文件”的过程:,10.1.1 为什么需要交叉开发,嵌入式软件从“源码程序”到“机器码文件”的过程:,10.1.1 为什么需要交
2、叉开发,需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点交叉开发环境是指编译、链接和调试嵌入式应用软件的环境它与运行嵌入式应用软件的环境有所不同,通常采用宿主机目标机模式。,10.1.1 为什么需要交叉开发,交叉开发环境,10.1.2 交叉开发环境的组成要素,宿主机 目标机 交叉工具一个编译器,它是编译器工具链前端的一部分。一个 汇编器,它是编译器工具链后端的一部分。一个 链接器,它是编译器工具链后端的另一部分。用于处理可执行程序和库的一些基本工具,比如strings。,10.1.3 交叉编译与链接,交叉编译器和交叉链接器
3、是能够在宿主机上运行,并且能够生成在目标机上直接运行的二进制代码的编译器和链接器例如在基于ARM体系结构的gcc交叉开发环境中arm-linux-gcc是交叉编译器arm-linux-ld是交叉链接器。,10.1.4 交叉调试,交叉调试(Cross Debug)又常常被称为远程调试(Remote Debug),是一种允许调试器以某种方式控制目标机上被调试进程的运行方式,并具有查看和修改目标机上内存单元、寄存器以及被调试进程中变量值等各种调试功能的调试方式。,10.1.4 交叉调试,嵌入式系统的特点:调试器和被调试进程运行在不同的机器上调试器通过某种通信方式与被调试进程建立联系,如串口、并口、网
4、络、DBM、JTAG或者专用的通信方式。在目标机上一般会具备某种形式的调试代理,它负责与调试器共同配合完成对目标机上运行着的进程的调试。目标机可能是某种形式的系统仿真器,10.2 开源GNU交叉开发环境,GNU目前已经推出的软件主要由Emacs功能强大的编辑环境,GCC性能优异的多平台的C,C+,Fortran编译器和其他40多种软件。其中GCC的成功为GNU带来了前所未有的影响。GCC是一种可以在11种硬件平台上编译出可执行程序的超级编译器,而且其执行效率更是惊人,与一般的编译器相比平均效率要高20%-30%。,10.3 GNU交叉工具链,方法一 分步编译和安装交叉编译工具链所需要的库和源代
5、码,最终生成交叉编译工具链。方法二 通过Crosstool脚本工具来实现一次编译生成交叉编译工具链方法三 直接通过网上(ftp.arm.kernel.org.uk)下载已经制作好的交叉编译工具链。,构建交叉编译工具链方法,10.3.1 交叉工具链展开,版本的arm gcc交叉编译工具,一般我们使用它编译版本的内核源码;安装#tar xvfz arm-linux-gcc-2.95.3.tgz C/版本的arm gcc交叉编译工具,一般我们使用它编译版本的内核源码;#tar xvfz arm-linux-gcc-3.4.1.tgz C/执行命令,将把arm-linux-gcc(版本2.95.3 和
6、3.4.1)分别安装到/usr/loca/arm/2.95.3 和/usr/loca/arm/3.4.1 目录,10.3.2 常用工具介绍,10.3.3 主要工具使用,arm-linux-gccarm-linux-ararm-linux-ranlibarm-linux-objdumparm-linux-readelfarm-linux-striparm-linux-copydump,本章总结,交叉开发简介,交叉编译环境建立,为什么需要交叉开发,交叉编译与链接,GNU交叉工具链,交叉开发环境的组成要素,开源GNU交叉开发环境,常用工具介绍,主要工具使用,交叉调试,交叉工具链展开,交叉编译环境中包括宿主,目标机的角色,arm-linux-gcc是交叉编译器 arm-linux-ld是交叉链接器。,实验,任务1:交叉开发环境的建立 任务2:交叉开发工具的使用,任务1,注意事项提示1:注意交叉工具链建立在哪个目录,任务2,注意事项提示1:注意交叉工具使用的命令参数,任务1,注意事项提示1:注意配置文件加载确定交叉编译工具已经建立,任务2,注意事项提示1:NFS服务设置中防火墙是否关闭。,任务3,注意事项提示1:文件系统内容的获取方式。,任务4,注意事项提示1:JFFS2工具使用权限。,