- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
BootLoader阶段2的启动步骤如图5.24所示,具体任务包括: (1)初始化本阶段要使用到的硬件设备; (2)检测系统内存映射; (3)加载kernel内核映像和根文件系统映像。将kernel映像和根文件系统映像从Flash上读到RAM 空间中; (4)设置内核的启动参数; (5)跳转到内核映像入口并调用内核程序; (6)系统的软件设置,更新系统(system.bin)。 * 5.4.2 vivi vivi是韩国Mizi公司开发的一种BootLoader,可用于ARM9处理器的引导。目前vivi只能利用串行通信为用户提供接口。为连接vivi,首先利用串口电缆连接宿主机和目标机,然后在主机上运行串口通信程序(超级终端),并在目标机上正确设置vivi以支持串口。正确连接后,就可以由串口通信程序显示提示信息。vivi支持基于S3C2410芯片UP-NETARM2410平台上Linux内核的引导,结构简单,可以传递内核参数。 * vivi的源代码可从/网站下载,源代码的目录树结构如图5.28所示,代码包括arch,CVS,Documentation,drivers,include,init,lib,scripts,test和util等几个目录,共200多条文件。 vivi的操作模式: 作为典型BootLoader之一的vivi的运行也可以分为两个阶段。 * (1) vivi的第一阶段 1)关WATCH DOG(上电后,WATCH DOG默认是开着的); 2)禁止所有中断; 3)初始化系统时钟; 4)初始化内存控制寄存器(一共13个); 5)检查是否从掉电模式唤醒,若是,则调用WakeupStart函数进行处理; 6)点亮所有LED; 7)初始化UART0; 8) 将vivi所有代码(包括stage1、stage2)从NAND Flash复制到SDRAM; 9)跳到bootloader的stage2运行。 * (2) vivi的第二阶段 1)打印vivi的信息,包括版本号等; 2)调用若干个初始化函数; 3)boot_or_vivi():判断是否有“r”,回车或空格键按下,若有,则进入vivi shell;若没有,则执行boot命令,启动内核; 4)boot命令执行后,找到kernel分区,找它的偏移量和大小,执行boot_kernel()函数,拷贝内核映象; 5)设置linux启动参数,打印“Now Booting Linux…” 6)调用call_linux()函数,启动内核。 * 5.4.3 U-Boot U-Boot,全称Universal Boot Loader,是遵循GPL协议的一个开放源码项目。最初由DENX软件工程中心的Wolfgang Denk基于8xxROM的源码创建PPCBoot工程,Sysgo Gmbh将PPCBoot移植到ARM平台,创建ARMBoot工程,之后以PPCBoot和ARMBoot为基础,创建了U-Boot工程。U-Boot目前可支持PowerPC、ARM、X86、MIPS等体系结构的上百种开发板,已经成为功能最多、灵活性最强并且开发最积极的开放源码BootLoader。 U-Boot提供两种操作模式:启动加载模式和下载模式,并具有大型BootLoader的全部功能。 * 5.5 Linux的根文件系统 文件系统是用于组织在一个磁盘(包括光盘、软盘、Flash闪存及其它存储设备)或分区上的文件的目录结构。在Linux系统中,硬件设备是以文件的形式存在。如何将这些文件进行分类管理且提供与内核交互的接口,就形成了一定的逻辑目录结构,也就是文件系统。Linux内核在启动过程中会安装文件系统,文件系统是Linux操作系统不可缺少的重要组成部分。用户通常就是通过文件系统同操作系统与硬件设备进行交互的。 * 5.5.1 文件系统概述 Linux可支持多种不同的文件系统,可用于不同存储介质的文件类型包括ext2、ext3、vfat、ntfs、iso9660、Romfs、JFFS、JFFS2和NFS等。 Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持的。 为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System)。 * 5.5.2 Linux根文件系统 一个嵌入式Linux操作系统要能正常运行,除了需要移植BootLoader和Linux系统内核以外,还需要构建根文件系统。 根文件系统是一种特殊的文件系统。 Linux根文件系统一般包括的子目录有/bin、/dev、/etc、/usr、/var、/usr/bin等等,如下图所示: 对其中的主要目录进行介绍。 *
您可能关注的文档
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第4章 嵌入式Linux网络编程.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第5章 嵌入式设备驱动.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第6章 Qt图形编程.ppt
- 嵌入式Linux系统开发与应用 教学课件 作者 康维新 第7章 嵌入式Linux综合设计项目实例.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 1习题答案.doc
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 39684 习题答案.pdf
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第2章.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第4章_嵌入式Linux开发基础.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第5章_嵌入式Linux启动程序_内核_根文件系统.ppt
- 嵌入式Linux系统应用及项目实践 教学课件 作者 丰海 第6章_字符型驱动.ppt
- 嵌入式系统设计 教学课件 作者 李秀娟 第6章2003.ppt
- 嵌入式系统设计 教学课件 作者 李秀娟 第7章2003.ppt
- 嵌入式系统设计 教学课件 作者 李秀娟 第8章2003.ppt
- 嵌入式系统设计 教学课件 作者 李秀娟 第9章2003.ppt
- 嵌入式系统设计大学教程 教学课件 作者 刘艺 许大琴 万福 ch1 嵌入式系统概述.ppt
- 嵌入式系统设计大学教程 教学课件 作者 刘艺 许大琴 万福 ch2 嵌入式系统设计基本概念.ppt
- 嵌入式系统设计大学教程 教学课件 作者 刘艺 许大琴 万福 ch3 基于ARM的处理器体系结构.ppt
- 嵌入式系统设计大学教程 教学课件 作者 刘艺 许大琴 万福 ch4 ARM处理器编程模型与指令系统.ppt
- 嵌入式系统设计大学教程 教学课件 作者 刘艺 许大琴 万福 ch5 嵌入式操作系统.ppt
- 嵌入式系统设计大学教程 教学课件 作者 刘艺 许大琴 万福 ch6 嵌入式Linux开发环境及其在ARM上的移植.ppt
文档评论(0)