嵌入式Linux的交叉编译环境的搭建课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式Linux的交叉编译环境的搭建课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 交叉 编译 环境 搭建 课件
- 资源描述:
-
1、2 嵌入式Linux交叉编译环境的构建 嵌入式开发环境的搭建 Bootloader介绍思考题本章课程:本章课程:3本地开发 vs 交叉平台开发本地开发:一般软件的开发属于本地开发,也就是说开发软件的系统与运行软件的系统是相同的。交叉平台开发:本课程所涉及到的嵌入式系统开发属于交叉平台开发,也就是说开发软件的系统与运行软件的系统不同。4交叉开发平台主机:开发软件的平台,称为主机,往往是通用电脑;目标机:运行软件的平台,称为目标机,在这里是嵌入式系统。5(嵌入式)交叉开发工具掌握嵌入式开发工具的使用是进行嵌入式开发的前提条件之一与主流开发工具类似,嵌入式交叉开发工具也包括编译器,即能够把一个源程序
2、编译生成一个可执行程序的软件调试工具,即能够对执行程序进行源码或汇编级调试的软件1.软件工程工具,用于协助多人开发或大型软件项目的管理的软件6嵌入式开发环境搭建的内容一、安装交叉编译器二、使用通讯工具使用串口超级终端的使用Minicom的使用使用通讯工具TFTP方式1.NFS方式7一、安装交叉编译器-安装cross tool安装cross-tool安装EABI工具(其中即包含交叉编译器等多种工具)以上二者皆可8一、安装交叉编译器-方法一-安装EABI工具交叉编译器的安装搭建交叉编译环境是嵌入式开发的第一步,也是必备一步。交叉编译器完整的安装一般涉及到多个软件的安装(ftp:/gcc.gnu.o
3、rg/pub/),包括binutils、gcc、glibc等binutils主要用于生成一些辅助工具,如objdump、as、ld等;gcc是用来生成交叉编译器,主要生成arm-linux-gcc交叉编译工具glibc主要是提供用户程序所使用的一些基本的函数库。EABI4.3.3-包含以上所需要的工具,安装步骤:解压EABI4.3.3.tar.gz将解压后的工具包路径添加到系统路径,即如果将EABI4.3.3解压到/下,那么路径就是:PATH=$PATH:/opt/EmbedSky/4.3.3/bin 9解压EABI工具包,就可以将已经编译好的交叉编译工具包的执行文件解压出来,如图:(注意对比
4、书本P58的图)将编译好的执行文件的路径添加到系统路径中10方法二-用CROSSTOOL构建交叉编译工具链准备工作配置脚本生成交叉编译工具链测试11准备工作:单独创建一工作目录下载所需要的软件包:Crosstool:crosstool-0.43.tar.gz(用于构建交叉编译工具)Linux源码:linux2.6.8.tar.gz(linux内核)Gcc.3.4.5.tar.gz (交叉编译器源代码)Glibc.2.3.2.tar.gz (交叉编译函数库)Linux-libc-headers.2.6.12.0.tar.gz(头文件库)Glibc-linuxthreaders-2.3.2.tar
5、.gz(POSIX 线程库)Binutils-2.15.tar.gz (辅助工具库)12配置脚本 所谓脚本:脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件。在这里,就是把编译移植过程中要执行的命令以及系统环境变量的设置等操作写在相应的文本中批量执行。13生成交叉编译工具Cd/home/ljd/downloads/crosstool-0.43#进入到解压后的cross包./ljd-arm.sh#运行安装脚本程序,批量执行安装过程所需要的所有命令。若生成成功则出现以下执行文件:参考书本P57 到此,就已经借用crosstool这个辅助工具将交叉
6、编译工具的源代码编译成了执行文件,随后的操作与EABI4.3.3类似。14二、通讯工具的使用-串口超级终端和Minicom配置及使用1超级终端超级终端 打开Windows下的“开始”“附件”“通讯”“超级终端”设置串口连接参数:波特率:115200,数据为8位,无奇偶校验位,停止位1,无硬件流把开发板的串口线和PC机相连,在超级终端的窗口里应能显示相关的串口信息。15通讯工具的使用-串口超级终端和Minicom配置及使用2Minicom首先在命令行中键入“minicom”,这就启动了minicom软件。Minicom在启动时默认会进行初始化配置CTRL+A Z,来查看minicom的帮助CTR
7、L-A O配置minicom的串口参数,选择“Serial port setup”子项,上面列出的配置是minicom启动是的默认配置,用户可以通过键入每一项前的大写字母,分别对每一项进行更改。要对波特率、数据位和停止位进行配置,键入“E”,在该配置界面中,可以键入相应波特率、停止位等对应的字母,即可实现配置,配置完成后按回车键就退出了该配置界面。在确认配置正确后,可键入回车返回上级配置界面,并将其保存为默认配置。可重新启动minicom使刚才配置生效,在连上开发板的串口线之后,就可在minicom中打印出正确的串口信息16通讯工具-网络1、nfs方式的配置及使用安装nfs服务程序:运行命令:
8、sudo apt-get install nfs-kernel-server(在线安装)启动nfs服务 sudo init.d/nfs-kernel-server start进行nfs配置 打开/etc/exports 写入/home/用户名/共享目录*(rw,no_root_squash,sync)重启nfs服务 sudo init.d/nfs-kernel-server restart测试 自己挂载自己,查看是否成功 mount nfs 本机IP:/home/用户名/共享目录 /mnt17 通讯工具-网络2tftp,tftp协议是简单文件传输协议(1)Linux下tftp服务配置,Linu
9、x下tftp的服务器服务是由xinetd所设定的,默认情况下是处于关闭状态。首先,要修改tftp的配置文件,开启tftp服务vi/etc/xinetd.d/tftp#主要要将“disable=yes”改为“no”重启xinetd服务,使刚才的更改生效service xinetd restart使用命令“netstat-au”以确认tftp服务是否已经开启这时,用户就可以把所需要的传输文件放到“/tftpboot”目录下,这样,主机上的tftp服务就可以建立起来了。用直连线(注意:不可以使用网线)把目标板和宿主机连起来,并且将其配置成一个网段的地址,再在目标板上启动tftp客户端程序。18通讯工
10、具-网络(2)Windows下tftp服务配置单击tftpd32下方的设置按钮,进入设置界面,主要配置tftp服务器端地址,也就是本机的地址。重新启动tftpd32软件使刚才的配置生效,服务器端的配置完成了可以用直连线连接目标机和宿主机,在目标机上开启tftp服务进行文件传输。192、Bootloader介绍1.概念Bootloader就是在操作系统内核运行之前运行的一段程序,它类似于PC机中的BIOS程序(1)Bootloader所支持的CPU和嵌入式开发板(2)Bootloader的安装媒介(3)Bootloader的启动过程分为单阶段和多阶段两种(4)Bootloader的操作模式:“启
11、动加载”和“下载”(5)Bootloader与主机之间进行文件传输所用的通信设备及协议20 Bootloader是什么?Bootloader是在操作系统运行之前执行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映像表,从而建立适当的系统软硬件环境,为最终调用操作系统内核做好准备。Bootloader212.Bootloader启动流程启动流程(1)Bootloader的的stage1 基本的硬件初始化,包括屏蔽所有的中断、设置CPU的速度和时钟频率、RAM初始化、初始化LED、关闭CPU内部指令和数据cache灯。为加载stage2准备RAM空间,通常为了获得更快的执行速
12、度,通常把stage2加载到RAM空间中来执行,因此必须为加载Bootloader的stage2准备好一段可用的RAM空间范围。拷贝stage2到RAM中,在这里要确定两点:stage2的可执行映像在固态存储设备的存放起始地址和终止地址;RAM空间的起始地址。设置堆栈指针sp,这是为执行stage2的C语言代码做好准备。(2)Bootloader的的stage2 用汇编语言跳转到main入口函数 初始化本阶段要使用到的硬件设备,包括初始化串口、初始化计时器等。在初始化这些设备之前、可以输出一些打印信息。检测系统的内存映射,所谓内存映射就是指在整个4GB物理地址空间中有指出哪些地址范围被分配用来
13、寻址系统的RAM单元。加载内核映像和根文件系统映像,这里包括规划内存占用的布局和从Flash上拷贝数据。设置内核的启动参数。22Bootloader的种类的种类开放源码的Linux引导程序23Bootloader介绍-U-Boot概述概述1U-Boot简介简介U-Boot(UniversalBootloader),是遵循GPL条款的开放源码项目2U-Boot特点特点 开放源码;支持多种嵌入式操作系统内核,如Linux、NetBSD、VxWorks、QNX、RTEMS、ARTOS、LynxOS;支持多个处理器系列,如PowerPC、ARM、x86、MIPS、XScale;较高的可靠性和稳定性;高
14、度灵活的功能设置,适合U-Boot调试,操作系统不同引导要求,产品发布等;丰富的设备驱动源码,如串口、以太网、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、键盘等;较为丰富的开发调试文档与强大的网络技术支持。24Bootloader介绍-U-Boot概述概述3U-Boot主要功能 系统引导:支持NFS挂载、RAMDISK(压缩或非压缩)形式的根文件系统。支持NFS挂载,并从FLASH中引导压缩或非压缩系统内核。基本辅助功能:强大的操作系统接口功能;可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与产品发布,尤其对Linux支持最为强劲;支持目标板环境
15、参数多种存储方式,如FLASH、NVRAM、EEPROM;CRC32校验,可校验FLASH中内核、RAMDISK镜像文件是否完好。设备驱动:串口、SDRAM、FLASH、以太网、LCD、NVRAM、EEPROM、键盘、USB、PCMCIA、PCI、RTC等驱动支持。上电自检功能:SDRAM、FLASH大小自动检测;SDRAM故障检测;CPU型号。特殊功能:XIP内核引导。25Bootloader介绍-U-Boot概述概述4 U-Boot的烧写JTAG接口需要专用的硬件工具来连接。最简单的方式就是通过JTAG电缆,转接到计算机并口连接。开发板加电(或者复位)时,烧写程序探测到处理器是否存在,并开
展开阅读全文