系统引导程序(Boot-loader)的设计与实现

合集下载

DOS的启动过程详解

DOS的启动过程详解

DOS的启动过程详解DOS(Disk Operating System)是一种由微软公司开发的操作系统,它是早期个人电脑领域最流行的操作系统之一、下面是DOS的启动过程的详细解释。

1. 加电自检(Power-On Self-Test,POST):当计算机加电时,硬件系统会进行一系列自检程序来确保系统硬件的正常工作。

这包括检查RAM、键盘、磁盘驱动器和其他设备。

2. 主引导记录(Master Boot Record,MBR):在启动过程的开始阶段,计算机会读取硬盘的主引导记录。

MBR是一个引导扇区,它位于硬盘的第一个扇区(LBA0),通常是512字节大小。

3. 引导加载程序(Boot Loader):MBR中的引导代码读取硬盘的分区表(Partition Table),找到活动分区(Active Partition),然后加载该分区的引导扇区(Boot Sector)到RAM中的低地址。

这个引导扇区通常被称为引导加载程序。

在DOS系统中,这个引导加载程序通常是IO.SYS。

4.DOS启动文件加载:引导加载程序在加载完毕后,将控制权转交给DOS的两个主要启动文件之一IO.SYS。

IO.SYS是DOS系统的核心文件,它负责对硬件设备进行初始化和提供对硬件访问的接口。

5.系统配置文件加载:IO.SYS加载后,会读取系统配置文件CONFIG.SYS。

CONFIG.SYS是一个文本文件,其中包含了一些重要的系统参数和设备驱动程序的加载指令。

这些指令用于配置计算机的硬件和软件环境。

7.用户登录或直接进入命令行环境:DOS系统启动后,通常会提示用户输入用户名和密码来登录系统。

如果用户没有设置密码,或者系统配置文件中没有配置要求登录,那么系统会直接进入命令行环境。

8.用户命令执行:一旦进入命令行环境,用户可以通过输入各种命令来操作计算机。

DOS提供了众多的命令和功能,例如文件管理、目录切换、文件复制等。

总结起来,DOS的启动过程可以分为硬件自检、MBR读取、引导加载程序加载、DOS启动文件加载、系统配置文件加载、命令行解释器加载、用户登录或直接进入命令行环境以及用户命令执行等多个步骤。

AVR之BOOTLOADER技术详解

AVR之BOOTLOADER技术详解

A VR之BOOTLOADER技术详解ATmega128具备引导加载支持的用户程序自编程功能(In-System Programming by On-chipBoot Program),它提供了一个真正的由MCU本身自动下载和更新(采用读/写同时"Read-While-Write"进行的方式)程序代码的系统程序自编程更新的机制。

利用A VR的这个功能,可以实现在应用编程(IAP)以及实现系统程序的远程自动更新的应用。

IAP的本质就是,MCU可以灵活地运行一个常驻Flash的引导加载程序(Boot Loader Program),实现对用户应用程序的在线自编程更新。

引导加载程序的设计可以使用任何的可用的数据接口和相关的协议读取代码,或者从程序存储器中读取代码,然后将代码写入(编程)到Flash存储器中。

引导加载程序有能力读写整个Flash存储器,包括引导加载程序所在的引导加载区本身。

引导加载程序还可以对自身进行更新修改,甚至可以将自身删除,使系统的自编程能力消失。

引导加载程序区的大小可以由芯片的熔丝位设置,该段程序区还提供两组锁定位,以便用户选择对该段程序区的不同级别的保护。

本节将给出一个实际的的Boot Loader程序,它可以配合Windows中的超级终端程序,采用Xmodem传输协议,通过RS232接口下载更新用户的应用程序。

5.2.1 基本设计思想1.Boot Loader程序的设计要点Boot Loader程序的设计是实现IAP的关键,它必须能过通过一个通信接口,采用某种协议正确的接收数据,再将完整的数据写入到用户程序区中。

本例Boot Loader程序的设计要点有:(1)采用ATmega128的USART口实现与PC之间的简易RS232三线通信;(2)采用Xmodem通信协议完成与PC机之间的数据交换;(3)用户程序更新完成后自动转入用户程序执行;(4)Boot Loader程序采用C语言内嵌AVR汇编方式编写,阅读理解方便,可移植性强,代码小于1K字。

4课、嵌入式系统的Boot Loader技术

4课、嵌入式系统的Boot Loader技术

RedBoot
VIVI
X86、ARM、PPC
ARM


16
课程大纲
Bootloader程序的基本概念
Bootloader典型框架结构
S3C2410 Bootloader代码分析
嵌入式软件开发环境建立实验
17
Boot Loader的典型框架结构
Boot Loader的启动过程通常是多阶段的
3、若找到合法的引导扇区(以0xAA55结束),那么就会将引 导扇区的内容(共512字节)装载到内存0x0000:7C00处。
4、BIOS把控制权限交给系统引导扇区的程序。
6
BIOS Boot Specification
BIOS Boot Specification
用于描述BIOS识别各类IPL(Initial Program Load)设备,并进行引导设备优先 级排序、启动加载等功能。
param
mem
设置bootloader参数
内存管理
param show
mem read 0x20000
35
vivi源代码分析-目录结构
代码目录结构分析
36
vivi源代码分析-阶段1
Bootloader阶段1代码分析

禁止看门狗、中断 初始化时钟、内存 设置LED、GPIO 拷贝vivi至内存
Boot Loader的实现依赖于硬件环境

CPU体系结构:ARM、PPC、x86、MIPS 板级设备:时钟、FLASH、通讯端口 Boot Loader的入口地址 Boot Loader与开发机的通讯机制
串口
网络
专用Boot Loader 通用Boot Loader:U-boot、Redboot

Cable Modem中Boot Loader的设计与实现

Cable Modem中Boot Loader的设计与实现

备 ( 计算 机) 数 据业 务 节 点 之 间 透 明传 送 I 如 和 P数 它对 一 些 必 要 的硬 件 设 备 进 行 初 始 化 , 引 导 起 并 据包 。它将 有 线 电视 同轴 电缆 的射 频 ( ) 号 转 F ah中 的 I g 。在本 系统 中 , 了节省 程 序存 储 RF 信 ls ma e 为
在 Fa h中运 行 , Img l s 而 a e在 S AM 中运 行 。因 DR
开 始
解压并搬移I ae m g 到S R M中 D A
初始 化 硬 件 设 备
跳转 ̄ I ae
I g 1 I g2 ma e 、 ma e
本 系统 的 内存 资 源有 限 , 果 使 用 直 接 生 成 的 I 如 m— a e 就 会超 出 F ah的存 储 容 量 , I g g, ls 故 ma e在 存 人
供双 向 I P数 据业 务 的用 户 端 设 备 。C beMo e al dm
本 系 统 设 计 的 B ola e , 留 在 C be Mo ot dr 驻 o al —
利用 HF C网络 , 与头端设 备 C MT S配合 , 在用 户设 d m 的 F ah中 , 系统 开机 或 复位 后 首 先被 执 行 , e ls 在
的不 断提 高 , 过 C beMo e 利用 有线 电视 网访 移 到 S AM 中 去 运 行 。本 系 统 中 开 发 的 B o — 通 al dm DR ot
问 Itre 已成 为越来 越受 业界 关 注 的一 种高 速接 la e 现 的功能 包括 : nen t od 实
电缆调 制解 调器 ( a l Mo e 是 近几 年 开始 系统 内核运行 之 前 的一 段 代码 , 放 于平 台 的非 易 C be d m) 存

Boot_Loader介绍

Boot_Loader介绍

Boot LoaderWindows CE最大程度继承了桌面版Windows的丰富功能,但是Windows CE并不是一个通用的安装版操作系统。

在形形色色的嵌入式设备世界里,一款CE系统通常只会针对某一种硬件平台生成。

一般来说,Windows CE的开发过程可以分为:0AL(OEM Abstraction Layer)、驱动、应用程序开发三个步骤。

其中,0AL开发最基本的一步是板级支持包(BSP),而BootLoader 设计则在BSP开发中具有极为关键的地位。

1.什么是BootLoader嵌入式系统的启动代码一般由两部分构成:引导代码和操作系统执行环境的初始化代码。

其中引导代码一般也由两部分构成:第一部分是板级、片级初始化代码,主要功能是通过设置寄存器初始化硬件的工作方式,如设置时钟、中断控制寄存器等,完成内存映射、初始化MMU等。

第二部分是装载程序,将操作系统和应用程序的映像从只读存储器装载或者拷贝到系统的RAM中并执行。

(1)什么是板级BSP?BSP(Board Support Package)是板级支持包,是介于主板硬件和操作系统之间的一层,主要是为了支持操作系统,使之能够更好的运行于硬件主板。

不同的操作系统对应于不同形式的BSP,例如WinCE的BSP和Linux的BSP相对于某CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的。

所以,BSP一定要按照该系统BSP的定义形式来写,这样才能与上层OS保持正确的接口,良好的支持上层OS。

(2)什么是Boot Loader在BSP中有一个重要的组成部分就是BootLoader,它是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,为调用操作系统内核准备好环境。

一般来说,在嵌入式世界里BootLoader 是严重地依赖于硬件的,因此想建立一个通用的 BootLoader 几乎是不可能的。

Bootloader

Bootloader

嵌入式系统可执行文件格式(2)
bin文件格式
bin文件是二进制文件,内部没有地址标记。用编程器烧写 时,从00开始;下载运行则下载到编译时的地址。
HEX文件格式
Intel HEX文件是记录文本行的ASCII文本文件,每一行是一 个HEX记录,每条记录有五个域,由十六进制数组成的机 器码或者数据常量;经常被用于将程序或数据传输存储到 ROM、EPROM。大多数编程器和模拟器使用HEX文件。
} memory_area_t;
内存映射的检测
阶段2(3)
(3)加载内核映像和根文件系统映像
规划内存占用的布局
内核映像所占用的内存范围 MEM_START + 0X8000
根文件系统所占用的内存范围 MEM_START + 0X00100000
从Flash上拷贝
While循环
阶段2(4)
Boot Loader典型结构框架
操作系统的角度看,Boot Loader的总目标 就是正确地调用内核来执行
大多数Boot Loader都分为阶段1和阶段2
阶段1:依赖于CPU体系结构代码 阶段2:一些复杂功能
阶段1(1)
(1)硬件设备初始化
屏蔽所有的中断 设置CPU的速度和时钟频率 RAM初始化 初始化LED
嵌入式系统
Boot Loader程序设计
提纲
Boot Loader基本概念 Boot Loader典型结构 Boot Loader基本设计
提纲
Boot Loader基本概念 Boot Loader典型结构 Boot Loader基本设计
Boot Loader基本概念
硬件环境 安装地址 相关设备与基址 启动过程 操作模式 通信设备与协议

BOOTLOAD

在 CCS开发环境下 , PC机通过不同类型的JTAG电缆与用户目标系统中的DSP通信 , 帮助用户完成调试工作。

当用户在 CCS环境下完成开发任务 , 编写完成用户软件之后 , 需要脱离依赖 PC机的 CCS环境 , 并要求目标系统上电后可自行启动并执行用户软件代码 , 这就需要用到 Boot Loader技术。

DSP系统的 Boot Loader是指在系统上电时 ,DSP将一段存储在外部的非易失性存储器中的代码搬移到内部的高速存储单元中去执行。

这样既利用了外部存储单元扩展 DSP本身有限的ROM资源 ,又充分发挥了DSP内部资源效能。

同时 , BootLoader也指由 TI在生产芯片时预先烧制在DSP片上ROM中,完成该功能的一段代码名称。

C54X系列的DSP芯片内没有可编辑的程序存储器,片上的程序存储器是ROM 存储器。

如果要把系统应用程序固化在片内的ROM存储器内,就需要将程序代码交给TI公司,由TI公司写入DSP芯片的ROM区内。

这对于样试阶段或小批量生产是无法做到的。

此外,大部分C54X系列的DSP芯片片内ROM区都很小,很多系统的应用程序无法全部写入片内的ROM区。

因此在设计嵌入式系统时,通常会考虑使用片外程序存储器。

DSP芯片的 Bootloader 程序用于上电时将用户程序从外部非易失性、慢速存储器或外部控制器中装载到片内高速 RAM 中,保证用户程序在 DSP 内部高速运行,这个过程就是自举加载(Bootloader)或者叫做二次引导。

C5402芯片配置有4K×16bit片内屏蔽式的ROM(F000h-FFFFh)。

在4K ROM 资源里,包含了Bootloader程序。

这个Bootloader程序在系统通电后能自动将存放在外部载体的用户代码引导到程序存储器的任何空间或片内RAM。

如果芯片的MP/MC脚在复位时为低电位,指令从片内ROM的FF80h地址开始执行,在FF80h 地址后有一个跳转指令自动转入到Bootloader程序,由Bootloader程序进行引导装载用户程序。

Boot Loader

简单地说,Boot Loader 就是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

通常,Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。

因此,在嵌入式世界里建立一个通用的Boot Loader 几乎是不可能的。

尽管如此,我们仍然可以对Boot Loader 归纳出一些通用的概念来,以指导用户特定的Boot Loader 设计与实现。

1. Boot Loader 所支持的CPU 和嵌入式板每种不同的CPU 体系结构都有不同的Boot Loader。

有些Boot Loader 也支持多种体系结构的CPU,比如U-Boot 就同时支持ARM 体系结构和MIPS 体系结构。

除了依赖于CPU的体系结构外,Boot Loader 实际上也依赖于具体的嵌入式板级设备的配置。

这也就是说,对于两块不同的嵌入式板而言,即使它们是基于同一种CPU 而构建的,要想让运行在一块板子上的Boot Loader 程序也能运行在另一块板子上,通常也都需要修改Boot Loader 的源程序。

2. Boot Loader 的安装媒介(Installation Medium)系统加电或复位后,所有的CPU 通常都从某个由CPU 制造商预先安排的地址上取指令。

比如,基于ARM7TDMI core 的CPU 在复位时通常都从地址0x00000000 取它的第一条指令。

而基于CPU 构建的嵌入式系统通常都有某种类型的固态存储设备(比如:ROM、EEPROM 或FLASH 等)被映射到这个预先安排的地址上。

因此在系统加电后,CPU 将首先执行Boot Loader 程序。

3. 用来控制Boot Loader 的设备或机制主机和目标机之间一般通过串口建立连接,Boot Loader 软件在执行时通常会通过串口来进行I/O,比如:输出打印信息到串口,从串口读取用户控制字符等。

操作系统的启动过程

操作系统的启动过程操作系统(Operating System,简称OS)是计算机系统中最基本的软件之一,它负责管理和控制计算机的硬件和软件资源,为用户和应用程序提供丰富的功能和良好的用户体验。

在计算机启动时,操作系统也需要经历一系列的启动过程,以确保系统能够正常运行。

下面将详细介绍操作系统的启动过程。

一、引导阶段(Bootstrapping Stage)在计算机加电启动后,首先会由计算机的固化ROM(Read-Only Memory)中的引导程序开始执行。

这个引导程序位于计算机的主板上,负责启动操作系统。

引导程序首先会检测计算机中是否有可引导的设备,比如硬盘、光盘、USB等。

一旦发现可引导设备,引导程序就会将该设备中特定的引导扇区(Boot Sector)加载到计算机的内存中。

二、引导扇区的执行当引导扇区被加载到内存后,计算机的控制权交给了引导扇区中的代码。

引导扇区中的代码被称为引导加载程序(Boot Loader),它是一段特殊的机器指令,负责进一步加载操作系统的核心部分。

三、操作系统核心加载引导加载程序会根据预先设定的规则和算法,搜索计算机硬件设备,找到存放操作系统的特定分区或文件。

然后,它将操作系统的核心部分一次性地加载到计算机的内存中。

操作系统核心通常被保存为一个或多个可执行文件,也被称为内核(Kernel)。

四、内核初始化当操作系统核心被加载到内存后,内核开始执行,并进入初始化阶段。

在这个阶段,内核会对计算机的硬件进行自检和初始化,包括对处理器、内存、设备等的初始化操作。

内核还会为各个子系统和模块分配和初始化资源,准备操作系统运行时所需要的环境。

五、用户空间初始化在内核初始化完成后,操作系统会创建一个或多个用户空间(User Space)。

用户空间是操作系统为应用程序和用户提供的执行环境。

操作系统会根据系统配置和用户需求,初始化用户空间中的各个组件,比如图形界面、网络服务、文件系统等。

bootloader工作原理

bootloader工作原理一、引言在计算机系统中,bootloader(引导加载程序)是启动计算机系统的第一个程序,它负责初始化硬件设备、加载操作系统内核,并将控制权交给操作系统。

本文将深入探讨bootloader的工作原理,包括引导过程、启动流程、主要功能等。

二、引导过程引导过程是计算机系统启动的第一个阶段,它从系统上电开始,直到操作系统内核加载完毕。

下面是引导过程的详细步骤:1.上电自检(Power-On Self-Test, POST):计算机硬件进行自检,检查硬件是否正常工作。

2.加载BIOS:计算机启动时会加载基本输入输出系统(BIOS),BIOS是计算机硬件和操作系统之间的桥梁。

3.寻找可引导设备:BIOS会根据预设的启动设备顺序(如硬盘、光盘、USB等)寻找可引导设备。

4.加载bootloader:一旦找到可引导设备,BIOS会将控制权交给该设备上的bootloader。

5.bootloader初始化:bootloader会初始化计算机硬件设备,如显示器、键盘等。

6.加载操作系统内核:bootloader会从磁盘或网络中加载操作系统内核到内存中。

7.跳转到操作系统内核:一旦操作系统内核加载完毕,bootloader会将控制权转交给内核,操作系统开始执行。

三、启动流程bootloader的启动流程可以分为三个阶段:主引导程序(Master Boot Record, MBR)、可加载程序(Loader Program)和操作系统内核。

下面详细介绍每个阶段的功能和流程:1. 主引导程序(MBR)MBR是位于硬盘的第一个扇区(512字节),它包含了主引导记录、分区表和结束标志。

主引导记录(Master Boot Record)占446字节,其中包含了bootloader 的代码。

分区表(Partition Table)占64字节,记录了硬盘的分区信息。

结束标志(Boot Signature)占2字节,用于标识MBR的结束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011届毕业设计说明书系统引导程序(Boot-loader)的设计与实现系、部:计算机与信息科学系学生姓名:颜雪瑞指导教师:秦辉职称讲师专业:计算机科学与技术班级:计本0703完成时间:2011年6月3日摘要随着移动设备的流行和发展,嵌入式系统已经成为一个热点。

它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越强大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。

它对软硬件的体积大小、成本、功耗和可靠性都提出了严格的要求。

嵌入式系统的功能越来越强大,实现也越来越复杂,随之出现的就是可靠性大大降低。

最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作系统来给予支持,这种操作系统是已经成熟并且稳定的,可以是嵌入式的Linux,WINCE等等。

相应地,这也给处理器提出了要求。

当今,众多的半导体厂商都生产基于ARM 体系结构的通用微处理芯片,ARM技术已经在当今的嵌入式微处理器领域中占据了它的领先地位。

究其原因,它的以精简指令构架为主又不放弃与复杂指令平衡的设计,使得在获得高性能的同时又能做到低功耗。

本文所研究的内容是基于ARM嵌入式系统bootloader的设计与实现。

Bootloader是嵌入式系统中执行在内核操作系统前的一段代码,它的基本作用就是加载内核镜像。

在实践平台上,本课题硬件采用ARM9系列的S3C2440A作为处理器,具有一定的代表性。

关键词:嵌入式系统; ARM; BootloaderABSTRACTWith the popularity of mobile devices and development of embedded systems has become a hot spot.It is not a recent emergence of new technology, but with the microelectronics and computer technology, more and more micro-control chip functions, and embedded micro-controller chip devices and systems more and more, making this technology moreand more noticeable.The volume of its hardware and software size, cost, power consumption and reliability have made stringent requirements.More powerful embedded systems to achieve more and more complex, the resulting reliability is greatly reduced.A more recent trend is a powerful embedded systems usually require an operating system to support this operating system is already mature and stable, can be embedded Linux, WINCE and so on.Accordingly, it also made a request to the processor.Today, many semiconductor manufacturers are producing generic architecture based on ARM micro-processing chip, ARM technology has in today's embedded microprocessors occupy its leading position.The reason is mainly that it's reduced instruction set architecture and complex instructions not to give a balanced design, makes do while achieving high performance with low power consumption.This paper is to study the ARM-based embedded system design and implementation of bootloader.Bootloader is the implementation of embedded systems in the period before the operating system kernel code, and its basic function is to load the kernel image.In practice platform, the hardware used in this project as S3C2440A ARM9 family processor, with a certain representation.Keywords: embedded system; ARM; Bootloader目录摘要 (I)1 绪言 (1)1.1 研究背景 (1)1.2 主要研究工作 (2)1.3 主要内容 (2)2 ARM处理器简介 (3)2.1 ARM处理器 (3)2.1.1 ARM处理器介绍 (3)2.2 ARM处理器的优势 (7)2.2.1 RISC指令集 (7)2.2.2 低功耗 (8)3 ARM体系结构介绍 (10)3.1 ARM core描述 (10)3.2 ARM处理器工作状态及模式 (11)3.2.1 ARM处理器模式 (11)3.2.2 ARM寄存器组介绍 (12)3.2.3 ARM存储系统 (15)3.2.4 ARM指令集介绍 (16)3.2.5 ARM体系的异常中断 (17)3.3 ARM最小系统 (19)4 Bootloader的概念 (20)4.1 Bootloader的基本概念 (20)4.2 Bootloader的操作模式 (21)4.3 Bootloader的概念扩展 (21)4.4 ARM Bootloader的共性 (22)5 Bootloader的设计与实现 (24)5.1 课题研究的平台环境 (24)5.1.1 硬件平台 (24)5.1.2 软件环境以及软件开发工具 (25)5.2 Bootloader的总体设计 (26)5.2.1 阶段设计 (26)5.2.2 地址规划设计 (26)5.2.3 模式设计 (27)5.3 Bootloader的具体实现 (28)5.3.1 阶段1的代码实现 (29)5.3.2 阶段2的代码实现 (33)5.3.3 代码的编译 (36)6 总结与展望 (39)参考文献 (40)致谢 (41)1 绪言1.1 研究背景随着人民生活水平提高带来巨大的消费需求、信息化进程的推进、电信运营业的发展,信息产业市场空间将得到进一步拓展。

在这良好的经济环境下,嵌入式系统领域得到进一步的拓宽与发展。

嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可剪裁来适应系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各行业的具体应用相结合后的产物,它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

嵌入式系统广泛地应用在信息终端、工业控制和信息家电等领域。

在嵌入式系统的开发中,嵌入式软件是实现各种系统功能的关键,也是计算机技术最活跃的研究方向之一。

不同应用对嵌入式软件系统有不同的要求,并且随着计算机技术的发展,这些要求也在不断变化。

通常,应用系统对嵌入式软件的基本要求是体积小、执行速度快、具有较好的可剪裁性和可移植性。

特别地,现在对嵌入式软件来说,都需要操作系统的支持。

简单的嵌入式系统根本没有操作系统,而只是一个控制循环。

但是,当系统变得越来越复杂时,就需要一个嵌入式操作系统来支持,否则应用软件就会变得过于复杂,使开发难度过大,安全性和可靠性都难以保证。

嵌入式软件,特别是操作系统的支持,使得对硬件的要求越来越高。

针对嵌入式系统的各种微处理器遍布各个角落。

特别是采用ARM技术IP核的各种微处理器遍及各类产品市场。

ARM技术以其较高的性能和功效,使得在嵌入式系统中得到广泛应用。

世界上几乎所有的主要半导体厂商都生产基于ARM体系结构的通用芯片,如TI,Motorola,Intel,NS,Ateml,Philips,SAMSUNG等。

目前,ARM芯片广泛应用于汽车电子、保安设备、无线通信、智能手机等多个领域。

应该说,ARM无处不在。

随着嵌入式产品中高端微处理器ARM的加入以及软件上操作系统的支持,使得整个嵌入式系统拥有了完整的构架。

现在,专门为嵌入式产品开发的各个操作系统层出不穷,WINDOW CE,POCKET PC,Linux等等,各界关注地也特别多。

然而,如何进行加载操作系统这个问题却很少有人提出。

这就产生了另一个相关主题bootloader。

Bootloader本身的功能就是引导与加载内核镜像。

如何实现bootloader的基本功能,如何针对基于ARM体系的微处理器来实现bootloader,就成为本课题的一个基本论题。

1.2 主要研究工作本文的题目尽管涉及到ARM系统,但是,由于bootloader的特殊性以及个别性,即bootloader与具体的处理器以及具体的硬件系统紧密联系在一起,需要实际的完整硬件系统支持,而基于ARM 920T体系的芯片实在太多,每款芯片除了具有基本的ARM体系结构的通性外,通常还具有各自独特的特性,还需分别处理。

因此,在真正的开发环节上,本课题主要基于ARM 920T体系构架的S3C2440A处理器,由此扩展到整个ARM系统。

在实现过程中具体研究开发如下:★选择基于ARM 920T构架的S3C2440A芯片作为处理器,并以此构建一套硬件开发系统。

★与实际项目接轨,选择GNU的linux作为系统的操作系统。

★在上述软硬件开发系统上实现基于S3C2440A的bootloader的基本功能,即引导加载内核镜像的功能。

★在ARM920T的构架基础上,分析对于ARM处理器芯片,bootloader实现的一些共性及限制。

相关文档
最新文档