基于s3c2410开发板的bootloader的启动分析

基于s3c2410开发板的bootloader的启动分析

ID:24694632

大小:70.51 KB

页数:6页

时间:2018-11-11

基于s3c2410开发板的bootloader的启动分析_第1页
基于s3c2410开发板的bootloader的启动分析_第2页
基于s3c2410开发板的bootloader的启动分析_第3页
基于s3c2410开发板的bootloader的启动分析_第4页
基于s3c2410开发板的bootloader的启动分析_第5页
资源描述:

《基于s3c2410开发板的bootloader的启动分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于s3c2410开发板的BootLoader的启动分析发布:2010-5-0122:38 

2、  作者:西南科技大学刘军芳李众立 

3、  来源:MCU嵌入式领域 摘要:BootLoader是操作系统和硬件的枢纽,负责初始化硬件和引导操作系统的内核,目前已有一些通用的BootLoader,但是如何根据特定的嵌入式平台,开发BootLoader是一个重点和难点。本文通过阐述VIVI分析了BootLoader开发的特点和模式,详细说明了BootLoader要完成的主要任务和实现方法。0引言   BootLoader通常称为

4、系统的引导程序,是系统复位后执行的第一段代码,相当于PC上的BIOS以及商业实时操作系统中的板级支持包BSP,,其作用是初始化硬件设备、建立内存空间的映射图、为最终调用操作系统内核做好准备。BootLoader独立于操作系统,必须有用户自己设计,它的实现高度依赖于硬件,包括处理器的体系结构、具体型号、硬件电路板的设计。在基于S3C2410的嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序。   1系统硬件平台简介   本系统采用S

5、amSung公司的S3C2410处理器,采用ARM920T为内核的处理器,有内存管理单元,支持WINCE和Linux操作系统。存储器使用64MB的NANDFlash和64MB的DRAM.集成有SDRAM内存控制器、NNADFlash控制器、SD卡控制器、USBHost、USBDevice控制器、LCD控制器、IIC总线控制器、IIS控制器、SPI接口等等多种接口,可用于手持设备、可视化电话、VoIP、网络监控、多媒体终端产品、医疗电子设备等领域。BootLoader、内核映像和文件系统映像在系统中的典型空间分配结构

6、图如下:   2VIVI简介   VIVI是由韩国Mizi公司开发的一种BootLoader,适合于ARM9处理器,支持S3C2410,该系统采用的BootLoader就是VIVI。   2.1VIVI的操作模式   和所有的BootLoader一样,VIVI也有两种工作模式,即启动模式和下载模式。   2.1.1启动加载(Bootloading)模式   这种模式也称为“自主”(Autonomous)模式。也即BootLoader从目标机上的某个固态存储设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入

7、。这种模式是BootLoader的正常工作模式,因此在嵌入式产品发布的时候,BootLoader必须工作在这种模式下。   2.1.2下载(Downloading)模式在这种模式下,目标机上的BootLoader将通过串口连接或网络连接等通信手段从主机(Host)下载文件,比如:下载内核映像和根文件系统映像等。从主机下载的文件通常首先被BootLoader保存到目标机的RAM中,然后再被BootLoader写到目标机上的FLASH类固态存储设备中。BootLoader的模式通常在第一次安装内核与根文件系统时被使用;

8、此外,以后的系统更新也会使用BootLoader的这种工作模式。工作于这种模式下的BootLoader通常都会向它的终端用户提供一个简单的命令行接口。   2.2VIVI的启动方式   VIVI提供了MTD(MemoryTechnologyDevice),修改代码就可以从不同的存储器启动。即VIVI可以从NANDFlash中启动,也可以从NorFlash中启动,选择不同类型的Flash上启动,它的使用方法会有一些差别。该系统的硬件平台选用斯道S3C2410普及版,只有64MB的NANDFlash,所以系统的VIVI

9、是从NANDFlash中启动的,因此这里只介绍从NANDFlash中启动:   NANDFlash没有专门的地址线,所以他在系统中没有地址空间(它的结构是共用地址和数据线,通过分时发送地址和数据的),只适合来存储数据,不能够直接在其上执行程序指令。只有利用S3C2410专门内置的NANDFlash控制器解决这个问题:通过在芯片内设置了4KB的名为StepStone的RAM来完成NANDFlash启动功能。即通过NANDFlash启动的启动代码不要超过4KB,芯片复位后可以自动将NANDFlash最开始的4KB内容拷

10、贝到StepStone中,然后开始执行。NANDFlash的最开始部分是head.S,在head.S的尾部VIVI将自身拷贝到RAM中,然后跳转到RAM中的main()函数,开始运行。   2.3编译VIVI   在VIVI窗口中输入如下命令:   $>makeclean   $>makemenuconfig   在menuconfig窗口中,选择LoadC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。