欢迎来到天天文库
浏览记录
ID:39739008
大小:327.51 KB
页数:68页
时间:2019-07-10
《构建嵌入式Linux开发平台1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章构建嵌入式Linux开发平台6.1嵌入式交叉编译环境搭建交叉编译的含义:就是在一个平台上生成另一个平台上可执行的目标代码。平台的含义:处理器的体系结构;运行的操作系统。说明:操作系统或处理器体系结构不同则是不同的平台嵌入式交叉编译在嵌入式系统开发过程中一般把进行交叉编译的主机称为宿主机,也就是普通的通用计算机,而把程序实际的运行环境称为目标机,也就是嵌入式系统环境。编译的过程包括编译、汇编、链接等几个阶段,因此,嵌入式的交叉编译也包括交叉编译、交叉汇编、交叉链接等过程。嵌入式交叉编译环境模型下载器嵌入式应用
2、系统目标机编辑器交叉编译器交叉链接器交叉编译器的安装过程1)在/usr/local/目录下新建arm目录,并进入该目录。[root@vm-devlocal]#mkdirarm[root@vm-devlocal]#cdarm2)使用cp命令,把cross_3.3.2.tar.bz2拷贝到新建立的/usr/local/arm目录下。3)解压交叉编译器安装文件(cross_3.3.2.tar.bz2)。[root@vm-devarm]#tar-jxvfcross_3.3.2.tar.bz2说明:上述命令执行完毕,在当前
3、目录下将会增加文件夹3.3.2,这就是交叉编译器所在目录。4)增加编译器路径。[root@vm-devarm]#vi/etc/profile......#PathmanipulationIf[`id-u`=0];thenpathmunge/sbinpathmunge/usr/sbinpathmunge/usr/local/sbinpathmunge/usr/local/arm/3.3.2/binFi说明:编译路径保存在/etc/的profile文件中,因此打开的是profile文件,并在路径字段添加上/3.3.2
4、/bin,示例中的下划线语句。也可以使用环境变量添加编译器路径。6.2U-Boot移植系统启动程序Bootloader是在操作系统内核运行之前运行的一段程序,类似于通用计算机中的BIOS程序。通过这段程序,可以完成硬件设备的初始化,并建立内存空间的映射图的功能,从而将系统的软硬件环境带到一个合适的状态,为最终调用操作系统内核做好准备,通常称之为引导系统。6.2.1引导系统简介BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带
5、到一个合适的状态,为调用操作系统内核准备好正确的环境。大多数引导系统都分为stage1和stage2两个阶段。Stage1:依赖于处理器体系结构和板级初始化的代码通常都放在stage1阶段,用汇编语言实现;Stage2:则通常用C语言来实现,这样可以实现更复杂的功能,同时具有更好的可读性和可移植性。引导系统stage1实现的功能(按先后顺序):硬件设备初始化;为加载引导系统的stage2准备RAM空间;拷贝引导系统的stage2程序到RAM空间中;设置好堆栈;跳转到stage2的C程序入口点。引导系统stage2
6、实现的功能(按先后顺序):初始化本阶段要用到的硬件设备;检测系统内存映射(memorymap);将操作系统内核映像和根文件系统映像从Flash读到RAM空间中;为操作系统内核设置启动参数;调用操作系统内核。由于引导系统是完全依赖于硬件实现的,不同类别的处理器有不同的汇编语言,不同的开发平台有不同的硬件资源。因此,在嵌入式世界里建立一个通用的Bootloader几乎是不可能的。尽管如此,仍然可以对Bootloader归纳出一些通用的概念来指导特定的Bootloader设计与实现。Bootloader共性分析1)CP
7、U体系结构:每一种体系结构的处理器都大量面世。2)Bootloader的安装媒介:处理器的复位地址大多统一。3)Bootloader的启动过程分为单阶段和多阶段两种。4)Bootloader的操作模式。启动加载模式下载模式5)Bootloader的烧写加载:统一使用JTAG接口。6.2.2U-Boot概述U-Boot(UniversalBootLoader)是遵循GPL条款的开放源码项目。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的
8、驱动程序。U-Boot支持多种类别的嵌入式操作系统的引导。U-Boot支持多种系列的处理器体系结构。U-Boot的前身是PPCBOOT。经由德国DENX软件工程中心的WolfgangDenk发起并完善起来。1.U-Boot的主要特点开放源码;支持多种嵌入式操作系统内核:如Linux、NetBSD、VxWorks、QNX、RTEMS、ARTOS、LynxOS;支持多个处理器
此文档下载收益归作者所有