嵌入式系统Bootloader学习笔记.docx

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

在嵌入式系统学习过程中涉及到了

在嵌入式系统学习过程中涉及到了 Bootloader,下面讲述了 Bootloader 的基 本作用,在后续的文章中我将对如何编写自己的 Bootloader 进行介绍。

1. Bootloader 的基本概念:

简单地说,bootloader 就是在操作系统内核运行前运行地一段小程序。通过这 段小程序,可以对硬件设备,如 CPU、SDRAM、Flash、串口等进行初始化,也 可以下载文件到系统板、对 Flash 进行擦除和编程,真正起到引导和加载内核 镜像的作用,但是随着嵌入式系统的发展,bootloader 已经逐渐在基本功能的 基础上,进行了扩展,bootloader 可以更多地增加对具体系统的板级支持,即 增加一些硬件模块功能上的使用支持,以方便开发人员进行开发和调试。从这 个层面上看,功能扩展后 bootloader 可以虚拟地看成是一个微小的系统级的 代码包。

bootloader 是依赖于硬件而实现的,特别是在嵌入式系统中。不同的体系结构 需求的 bootloader 是不同的;除了体系结构,bootloader 还依赖于具体的嵌 入式板级设备的配置。也就是说,对于两块不同的嵌入式板而言,即使它们基 于相同的 CPU 构建,运行在其中一块电路板上的 bootloader,未必能够运行在 另一块电路开发板上。

BootLoader 为系统复位或上电后首先运行的代码,一般应写在起始物理地址 0x0 开始。Bootloader 的启动过程可以是单阶段的,也可以是多阶段的。通常 多阶段的 bootloader 能提供更为复杂的功能,以及更好的可移植性。从固态 存储设备上启动的 bootloader 大多数是二阶段的启动过程,也即启动过程可 以分为 stage 1 和 stage 2 两部分。

2. ARM Bootloader 的一般作

最近下载