欢迎来到天天文库
浏览记录
ID:39738939
大小:408.00 KB
页数:57页
时间:2019-07-10
《构建嵌入式Linux开发平台》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、构建嵌入式Linux开发平台嵌入式交叉编译环境搭建交叉编译的含义:就是在一个平台上生成另一个平台上可执行的目标代码。平台的含义:处理器的体系结构;运行的操作系统。说明:操作系统或处理器体系结构不同则是不同的平台嵌入式系统层次结构CPUExternaldevicesEmbeddedRTOSExtend软件硬件嵌入式交叉编译环境模型宿主机安装Linux操作系统配置好网络配置TFTP服务——用于下载烧写配置NFS服务——为交叉开发时下载所用构建交叉编译环境确定目标平台选择交叉编译工具目标机一般采用flash存储器来保存软件
2、Bootloader启动参数系统内核根文件系统应用程序烧些方式编程器(JTAG)——bootloader串口网络接口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.3.2.tar.bz2交叉编译器的安装过程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使用export命令增加环境变量:#exportPATH=$PATH:/usr/local/arm/2.95.3/bin交叉编译器的安装过程
4、在“/”目录先建立安装ARM-Linux软件包目录软件包:linux-2.4.18-rmk7-pxa1-mz5-zhiyuan.tar.bz2建立/zylinux目录,将ARMLinux源代码解压至该目录下交叉编译案例—编译ARM-Linux内核#mkdir/zylinux#tarxjvflinux-2.4.18-rmk7-pxa1-mz5-zhiyuan.tar.bz2–C/zylinux编译ARMLinux内核编译ARMLinux内核。进入主界面后,装载默认配置文件ZY2410x,然后建立依赖关系,最后编译即可。
5、#cd/zylinux/kernel#makedistclean#makemenuconfig#makedep#makezImage编译ARMLinux内核#makemenuconfig编译ARMLinux内核构建嵌入式Linux目标平台Bootloader启动参数系统内核根文件系统应用程序启动参数引导系统(Bootloader)系统内核(Kernel)根文件系统(Rootfs)应用程序flashBootloader操作系统内核运行之前运行的一段小程序初始化硬件设备建立内存空间的映射图大多数引导系统都分为stage1
6、和stage2两个阶段Stage1:依赖于处理器体系结构和板级初始化的代码通常都放在stage1阶段,用汇编语言实现;Stage2:则通常用C语言来实现,这样可以实现更复杂的功能,同时具有更好的可读性和可移植性。硬件设备初始化;为加载引导系统的stage2准备RAM空间;拷贝引导系统的stage2程序到RAM空间中;设置好堆栈;跳转到stage2的C程序入口点。引导系统stage1实现的功能初始化本阶段要用到的硬件设备;检测系统内存映射(memorymap);将操作系统内核映像和根文件系统映像从Flash读到RAM空
7、间中;为操作系统内核设置启动参数;调用操作系统内核。引导系统stage2实现的功能由于引导系统是完全依赖于硬件实现的,不同类别的处理器有不同的汇编语言,不同的开发平台有不同的硬件资源。因此,在嵌入式世界里建立一个通用的Bootloader几乎是不可能的。尽管如此,仍然可以对Bootloader归纳出一些通用的概念来指导特定的Bootloader设计与实现。BootloaderBootloader共性分析CPU体系结构:每一种体系结构的处理器都大量面世。Bootloader的安装媒介:处理器的复位地址大多统一。Boot
8、loader的启动过程分为单阶段和多阶段两种。Bootloader的操作模式。启动加载模式下载模式Bootloader的烧写加载:统一使用JTAG接口。常用bootloaderU-BootBlobARMBootRedBootviviLinux内核移植cpuloaderflashOSmemoryOS嵌入式系统启动过程操作系统作为一组管理软硬件资源
此文档下载收益归作者所有