- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于s3c2410开发板的BootLoader的启动分析
基于s3c2410开发板的BootLoader的启动分析
发布: 2010-5-01 22:38?|??作者: 西南科技大学 刘军芳 李众立?|?? 来源: MCU嵌入式领域?
摘要:Boot Loader 是操作系统和硬件的枢纽,负责初始化硬件和引导操作系统的内核,目前已有一些通用的Boot Loader,但是如何根据特定的嵌入式平台,开发Boot Loader 是一个重点和难点。本文通过阐述VIVI 分析了Boot Loader 开发的特点和模式,详细说明了Boot Loader 要完成的主要任务和实现方法。
0 引言??? Boot Loader 通常称为系统的引导程序,是系统复位后执行的第一段代码,相当于PC 上的BIOS以及商业实时操作系统中的板级支持包BSP,,其作用是初始化硬件设备、建立内存空间的映射图、为最终调用操作系统内核做好准备。Boot Loader 独立于操作系统,必须有用户自己设计,它的实现高度依赖于硬件,包括处理器的体系结构、具体型号、硬件电路板的设计。在基于S3 C2410 的嵌入式系统中,系统在上电或复位时通常都从地址0处开始执行,而在这个地址处安排的通常就是系统的Boot Loader 程序。??? 1 系统硬件平台简介??? 本系统采用SamSung 公司的S3C2410 处理器,采用ARM920T 为内核的处理器,有内存管理单元,支持WINCE 和Linux 操作系统。存储器使用64MB 的NAND Flash 和64MB 的DRAM.集成有SDRAM内存控制器、NNAD Flash 控制器、SD 卡控制器、USB Host、USB Device 控制器、LCD 控制器、IIC 总线控制器、IIS 控制器、SPI 接口等等多种接口,可用于手持设备、可视化电话、VoIP、网络监控、多媒体终端产品、医疗电子设备等领域。Boot Loader、内核映像和文件系统映像在系统中的典型空间分配结构图如下:
??? 2 VIVI 简介??? VIVI 是由韩国Mizi 公司开发的一种Boot Loader,适合于ARM9 处理器,支持S3C2410,该系统采用的Boot Loader 就是VIVI。??? 2.1 VIVI 的操作模式??? 和所有的Boot Loader 一样,VIVI 也有两种工作模式,即启动模式和下载模式。??? 2.1.1 启动加载(Boot loading)模式??? 这种模式也称为“自主”( Autonomous)模式。也即Boot Loader 从目标机上的某个固态存储设备上将操作系统加载到RAM 中运行,整个过程并没有用户的介入。这种模式是Boot Loader 的正常工作模式,因此在嵌入式产品发布的时候,Boot Loader 必须工作在这种模式下。??? 2.1.2 下载(Downloading)模式
在这种模式下,目标机上的Boot Loader 将通过串口连接或网络连接等通信手段从主机(Host)下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被Boot Loader 保存到目标机的RAM 中,然后再被Boot Loader 写到目标机上的FLASH 类固态存储设备中。Boot Loader的模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用Boot Loader的这种工作模式。工作于这种模式下的Boot Loader 通常都会向它的终端用户提供一个简单的命令行接口。??? 2.2 VIVI 的启动方式??? VIVI 提供了MTD(Memory Technology Device),修改代码就可以从不同的存储器启动。即VIVI可以从NAND Flash 中启动,也可以从Nor Flash 中启动,选择不同类型的Flash 上启动,它的使用方法会有一些差别。该系统的硬件平台选用斯道S3C2410 普及版,只有64MB 的NAND Flash,所以系统的VIVI 是从NAND Flash 中启动的,因此这里只介绍从NAND Flash 中启动:??? NAND Flash 没有专门的地址线,所以他在系统中没有地址空间(它的结构是共用地址和数据线,通过分时发送地址和数据的),只适合来存储数据,不能够直接在其上执行程序指令。只有利用S3C2410 专门内置的NAND Flash 控制器解决这个问题:通过在芯片内设置了4KB 的名为Step Stone的RAM 来完成NAND Flash 启动功能。即通过NAND Flash 启动的启动代码不要超过4KB,芯片复位后可以自动将NAND Flash 最开始的4KB 内容拷贝到Step Stone 中,然后开始执行。NAND F
文档评论(0)