自-基于MINI2440的Bootloader设计与实现

上传人:汇****星 文档编号:186651437 上传时间:2021-07-19 格式:DOC 页数:17 大小:717KB
返回 下载 相关 举报
自-基于MINI2440的Bootloader设计与实现_第1页
第1页 / 共17页
自-基于MINI2440的Bootloader设计与实现_第2页
第2页 / 共17页
自-基于MINI2440的Bootloader设计与实现_第3页
第3页 / 共17页
自-基于MINI2440的Bootloader设计与实现_第4页
第4页 / 共17页
自-基于MINI2440的Bootloader设计与实现_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《自-基于MINI2440的Bootloader设计与实现》由会员分享,可在线阅读,更多相关《自-基于MINI2440的Bootloader设计与实现(17页珍藏版)》请在金锄头文库上搜索。

1、目 录摘要1关键词bsrac1Key wors1引言11oooade的基础知识11什么是Btloadr11.2为什么需要Botloadr21.3 Bootloader研究现状2.4 Botloade的操作模式21.5 Bolder概念的扩展21.6 ARM Bootlar的共性21. ootloade的通信设备和协议22 AR体系结构2.A存储器3.ARM工作模式32.3 ARM寄存器32 ARM体系的异常中断52. ARM指令集63 ooloader的设计与实现63. SC MIN240的片上资源63.2实验工具.3设计过程4 实验过程与结果4.1硬件的链接1.2NndFas的分区113烧写

2、ooloder到anaash14.4下载内核114.5下载文件系统15测试126总结与展望13致谢参考文献14基于MINI2440的ootloer设计与实现网络工程专业学生 李东海指导教师吴俊华摘要:现在嵌入式系统划为Boloader、内核、文件系统和用户应用程序四大部分,Bootloader设计是一个重要的环节。引入Botloadr的目的是为了更好的组织片上资源、初始化硬件和方便加载内核镜像文件,以实现操作系统的启动。本文采用汇编语言和语言设计otlader,实现了禁止关门狗、存储空间分配、中断向量配置和堆栈配置等功能,能够完成硬件的初始化、应用程序的堆栈划分以及加载内核的功能,方便用户程序

3、的增减与移植,在降低应用程序开发难度的同时提高了开发效率。关键词:Botloader启动 嵌入式 加载内核Design and mplemetation oBotoadr Bsed onMINI2440Sdent Majoring n NetworkEgneeing L DghaTutr u JunAbstract: he embedded sysm is divided ino four sectins,uc asbtloade, kernel, sand uer appliatio pora. Botloadr dign i an mpta part Th urpofnrocing the

4、 otloadris t raniz chip reoures btte, ntalie arr dadkernelimaf cnveniently he bootn th opertig system.The otloadis designdwith asseby anguag and lngue,wich emet manyfucins uh aprhibito ofclsed d, itibutionf storag spac, cnfiguratof intrrpt vors ad stckandetc. Theeign nmpen teinitalztin f hardware, a

5、ritio tcks applcatio pograand load keel. It i nvnint f user toicreas, dcrsea trasplan prorams. Th evelpineficiy is roveda develpingdifiulty i redce.Keywrs: Botlader; Bo;Embee; Loa tkenel引言随着IT技术的发展,各种微处理器的功能越来越强大,消费者对嵌入式产品的性能也越来越关注。如何使嵌入式系统具有更好的任务管理、资源管理以及更好的资源分配成为嵌入式产品开发的一大问题,裸板上的应用程序已经不能满足消费者日益增长的

6、性能要求,因此嵌入式系统逐渐分为Bootload、内核、文件系统和用户应用程序四部分。Botloader就是在操作系统运行前的启动代码,作为嵌入式硬件和操作系统之间连接的桥梁,成为了嵌入式开发首要面临的问题。1Bloder的基础知识 11什么是BotloaerBotloadr是操作系统启动前执行的程序,有点类似于P中的BIOS,嵌入式系统通过这段程序来初始化硬件、建立内存空间映射等把系统的软硬件环境带到一个合适的环境。当系统加电或复位时,从指定的地址读取的第一条指令就是Bootlad的指令,通过Botlader来完成初始化工作。Botloade的启动过程可以是单阶段的,也可以是多阶段的。通常多

7、阶段的Boolode能提供更为复杂的功能,以及更好的可移植性。从固态存储设备上启动的Booodr大多数是两个阶段的启动过程,即启动过程可以分为Stage 1和Se 2两部分。1.2为什么需要BoooaderCPU刚上电时,会从指定的地址取第一条指令来执行。但此时PL没有启动,存储空间都还没有驱动,非常低的外部输入晶振频率作为CPU的工作频率,无法确定中断设置、堆栈指针和CU工作模式等,因此,必须在第一条指令处完成以上的初始化工作,做好加载内核镜像的准备。. Bootloader研究现状Botloade作为嵌入式系统运行的第一程序,如何为嵌入式产品搭建一个完善的运行环境成为各大IC企业的研究热点

8、。有些Bootloader的功能非常强大,它们能支持多种架构的PU,移植性非常好。但Booldr的实现是严重依赖于CP体系架构的,针对不同P编写的汇编部分代码不能移植到其它不同结构的U上。现在嵌入式产品日新月异,即使是采用相同架构的PU,如果采用不同的板级设备也会产生相应的Bootoader,因此构建一个完全通用的Boloadr基本上是不可能的,在资源有限的嵌入式世界里面,追求的是短小精悍中的高性能。因此,ootloade就像嵌入式产品一样丰富多彩,但由于这部分程序的要求非常高,一般由各大芯片厂商提供。目前著名的Bootloar有:-OOT、edBot、ivi、Blob等。14 Botloae

9、r的操作模式大多数的Booloaer有启动加载和下载1两种工作模式,启动加载模式也称自主模式,这个启动过程没有用户的介入,Bootloader自动从目标机的某个存储设备上拷贝操作系统到RAM中,产品在发布的时候都是工作在启动加载模式,一般开发人员接触的是下载模式。Booloader下载到目标板之后,可以选择从串口或者网络等通信手段下载内核和文件系统等,下载过来的文件先保存在RAM中,接着再由Botde将其写到固态存储设备上。下载模式一般在安装内核和根文件系统时或者系统更新时使用。1. Botlader概念的扩展Bootlar最基本的功能是初始化硬件和加载操作系统。随着嵌入式的发展,Bootla

10、der的功能不断的扩展,不断的增加对具体系统的板级支持,更方便开发人员进行开发和调试。不断进行功能扩展的Booloa已经逐渐成为一个系统级的代码包。.6 AM Botloder的共性虽然ootload的设计和实现是根据具体的CPU和硬件设备紧密相关的,但其都是为了引导和加载内核,一般来说对ARM Bootoar的操作具有以下的共性:初始化RA,因为程序要在AM上运行,初始化串口,控制台与串口连接能方便的进行Dbu工作和通信以及指定内核的启动,正确引导系统启动。无论是R还是FLAS启动,都必须满足一定的系统状态。首先,启动系统内核时传递参数的三个寄存器要设置为R0,R机器类型,R2启动参数标记列

11、表在AM中的起始地址。其次,CP模式设置为VC模式,关闭中断。最后,必须关闭MU和数据cache,指令Cche可以关闭也可以开启。其中,中断的实现一般是内核机制或设备驱动管理的范畴,otloader没有必要实现中断,另外ootloade只对物理地址进行操作,因此关闭MMU,镜像数据要完整的写回DR中,为防止脏数据的回写,因此关闭数据ace。17Bootlaer的通信设备和协议在协议2的控制下,两个对等实体间的通信是本层能够向上一层提供服务。最常见的情况就是,目标机上的Botloader通过串口与主机之间进行文件传输,传输可以简单的采用直接数据收发。当然,在串口上也可以采用Xmodem/mod/

12、Zmodem协议以及在以太网上采用TFP协议。2 R体系结构Bootloader是根据CPU芯片和板级设备来设计的,S3C MINI2440是一款基于ARM920T的开发板。ARM既是一个英国公司的名字,也是一类微处理器的通称,同时是一种技术的名字。RM体系结包含AR处理器的存储器、数据类型、工作模式和寄存器等。2.1 RM存储器在RM体系结构中,AM2T有3位的地址线,最大可寻址空间为4GB,数据类型有字、半字和字节三种,每个字单元包含两个半字单元或四个字节单元,每个半字单元包含两个字节单元。在字单元中,有大端格式和小端格式两种,小端格式是指字数据的高字节存放在高地址,低字节存放在低地址的格

13、式,大端格式是指字数据的高字节存放在低地址,低字节存放在高地址的格式。2.2AR工作模式ARM处理器有7种工作模式:系统模式、用户模式、快速中断模式、普通中断模式、管理模式、数据访问中止模式、未定义指令中止模式7种工作模式。其中除了用户模式外,其他统称为特权模式,特权模式中除系统模式外,其他统称为异常模式,如图-所示。 ARM工作模式系统模式快速中断模式普通中断模式管理模式数据访问中止模式未定义指令中止模式异常模式特权模式用户模式图 21 AM处理器的7种工作模式2.3 ARM寄存器ARM处理器7种运行模式的描述如表-1所示。表-Error! Bookmark not defined.运行模式处理器模式处理器模式描述用户模式正常程序执行时的工作模式系统模式用于运行特权级的系统任务管理模式一种保护模式,加电、复位、SWI时进入普通中断模式低优先级中断产生时进入,用于普通的中断处理快速中断模式高优先级中断产生时进入,用于高速数据传输或通道处理数据访问中止模式存储异常时进入该模式,用于虚拟存储和存储保护未定义指令中止模式执行位定义指令时进入该模式ARM 处理器有37个32位的寄存器,其中有31个通用寄存器,个状态寄存器,这些寄存器根据不同的工作模式被分为若干个组,其中15个通用的寄存器为R1-R14和程序计数器在每种工作状态下都可见,状态寄存器有一个或两个可见,如

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 社会学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号