基于arm9_linux系统的bootloader设计new

基于arm9_linux系统的bootloader设计new

ID:33696416

大小:161.84 KB

页数:3页

时间:2019-02-28

基于arm9_linux系统的bootloader设计new_第1页
基于arm9_linux系统的bootloader设计new_第2页
基于arm9_linux系统的bootloader设计new_第3页
资源描述:

《基于arm9_linux系统的bootloader设计new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、您的论文得到两院院士关注ARM开发与应用文章编号:1008-0570(2008)05-2-0133-02基于ARM9&linux系统的bootloader设计DevelopmentofBootloaderBasedonARM9andEmbeddedLinuxSystem1戴学丰1刘树东2(齐齐哈尔大学)罗磊LUOLeiDAIXue-fengLIUShu-dong摘要:以ARM920T和嵌入式linux为平台,并根据方便移植和通用性的要求,按依赖于cpu与否和执行效率的要求分两部分设计出嵌入式引导

2、程序(bootloader),第一部分用汇编编写,第二部分用C语言编写。在中断处理、硬件初始化以及地址映射和最终引导linux内核等一系列关键技术上做了详细的设计并给出了一般性的方案,该设计思路对其它不同的处理器和应用系统也有很好的借鉴价值。关键词:ARM;MMU;BootLoader;嵌入式系统中图分类号:TP303文献标识码:AAbstract:BasedoneARM920Tandembeddedlinuxsystem,accordingtotheconveniencefortranspla

3、nt,versatility,reliesoncpuornotandexecutiveefficiencydesignedbootloaderastwoparts.Part1iswritenbyassemblylanguage,parttwoisdesginedbyclan-guage.Inessentialtechnologysuchasthebooloaderstart,theinterruptprocessing,thehardwareinitializationaswellasthead

4、dress技mappingandbootlinuxkernelandsoongivendetaileddesignandgeneralplan.thisdesignmentalityhadtheverygoodmodelvaluetootherdifferentprocessorsandapplicationsystem.术Keywords:ARM;MMU;Bootloader;embeddedsystem创对板级驱动的支持,包括初始化要用到用到的内核映像和文件1引言系统映像,并将PC指针指向操

5、作系统内核的入口处,为操作系新在嵌入式开发中其中不可避免的一环就是bootloader的设统的运行作好准备。这样设计代码具有很好的移植性和可读计,它统筹软硬件资源,使得资源最优配置,嵌入式系统对功性,对于相同的CPU只需修改stage2,对于不同的CPU只需修耗,性能,以及成本要求很苛刻,它要求在达到用户要求的前提改stage1。下把成本和资源利用降为最低,Booloader不是驱动开发的一部3stage1设计分,但一个好的booloader可以决定该产品在市场上的成败。3.1建立二级中断向量表

6、采用Samsung公司的ARM920T处理器与Linux2.4.18嵌入每当有中断或者异常发生时,ARM处理器便强制把PC指式操作系统,根据处理速度和效率的不同采用分阶段实现的方针指向向量表中对应中断类型的地址值。为了加快中断响应,法,在具体实现时不拘泥于该处理器和操作系统版本,使之更在Flash的0x0地址存放能跳转到0x33ffff00地址处中断向量有普遍性和通用性。的跳转指令,即在RAM中建立一个二级中断向量表,起始地址为0x33ffff00,除复位外,其它异常入口地址由Flash跳转得到

7、,2bootloader概述部分实现代码如下引导加载程序bootloader是系统加电后运行的第一段代#define_ISR_STARTADDRESS(SDRAM_END-0x100)//码,功能类似pc机的BIOS,在ARM中一般都是位于地址0x33ffff000x00000000,这段代码可以实现初始化硬件设备,建立内存空间definepISR_RESET(*(unsigned*)(_ISR_STARTADDRESS+映射图,从而将系统的软硬件带到一个合适的状态,以便最终0x0))//x33

8、ffff00为调用操作系统内核和用户应用程序准备好正确的环境。#definepISR_UNDEF(*(unsigned*)(_ISR_STARTAD-Bootloader的启动可以单阶段也可以多阶段,为了方便移DRESS+0x4))//x33ffff04如表1所示:植和增加系统的执行效率一般分为两个阶段stage1用汇编编写和stage2用C语言编写,stage1主要进行与CPU与存储设备相关的工作进行必要的初始化工作,是一些依赖于体系结构的代码,例如初始化CPU运行的时钟频率,初始化Flash

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

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

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