嵌入式系统引导程序要点.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 嵌入式系统引导 引导程序与固件 计算机是在程序控制下自动运行的电子设备 系统上电或复位后,微处理器会从特定的地址读取第一条指令 没有操作系统的简单嵌入式计算机,系统上电后,通常直接进入用户应用程序 有操作系统的计算机中,上电后首先运行的是一个标准化的软件——引导程序(Bootloader) 固化在ROM/flash中的软件,称为固件(Firmware) PC机的引导程序——BIOS BIOS(Basic Input Output System) 固化到计算机主板上的ROM芯片中的一组程序 BIOS的主要内容 上电自测试程序。PC机启动时,首先进入ROM BIOS,接着执行加电自检—POST(Power-on self test) 系统参数设置:用于设置CMOS RAM 中的各项参数 中断服务程序 :BIOS中段服务程序是软件与硬件之间的一个编程接口,PC软件通过调用这些服务程序实现对硬件模块的控制 加载操作系统 :在机器启动时,系统ROM BIOS首先读取磁盘引导记录进内存,然后由引导记录读取磁盘操作系统重要文件进内存,从而启动系统 BIOS的启动流程 嵌入式系统软件的四个层次 引导加载程序——Bootloader 操作系统内核(任务管理、内存管理、设备驱动) 文件系统、图形用户界面 应用软件 ARM7开发板中的固件 嵌入式系统Flash典型空间分配 嵌入式系统常见引导程序 U-Boot,支持多种微处理器,如x86、PowerPC、ARM、MIPS等。 VIVI,韩国MIZI公司开发的专门用于ARM处理器的一种引导程序。 BLOB,支持多种CPU,包括SA1100,SA1110,PXA255,PXA270等,用户可以根据目标板的特性进行定制。 RedBoot,一个专门为嵌入式系统定制的引导程序,最初由Redhat开发。 ARMboot,一个支持ARM和StrongARM 处理器的引导程序。 用户自定义Bootloader 嵌入式系统引导程序功能 硬件初始化 提供人机交互命令 支持目标机与开发机之间的通信 支持Flash烧写 加载启动嵌入式操作系统 Bootloader的两种操作模式 启动加载模式:自动加载并启动操作系统,不需要用户参与 下载模式:用户可通过系统控制台用命令行的方式向系统发出控制命令。用户常在该模式下使用下载命令,通过串口、以太网等从开发机下载文件 Bootloader程序的两个组成部分 Stage 1:存放与CPU 体系结构相关的代码,其代码短小精悍,易升级,通常用汇编语言编写 Stage 2:通常用C 语言编写,可以实现更复杂的功能,具有更好的可读性和可移植性 Bootloader程序运行流程 Bootloader的Stage 1 硬件设备初始化:屏蔽所有中断, 设置CPU 速度和时钟频率, RAM 初始化等 为加载Bootloader 的stage2 准备RAM空间 拷贝Bootloader 的stage2 到RAM空间中 设置好堆栈,为执行C 语言代码作好准备 跳转到stage2 的C 入口点 Stage 1阶段的物理内存布局 Bootloader的Stage 2 其它硬件设备的初始化 检测系统内存映射 将操作系统内核映像及文件系统映像从 Flash读取到系统RAM中 为内核设置启动参数 调用操作系统内核 U-BOOT U-Boot是一种应用广泛的嵌入式引导程序 由fadsrom、8xxROM及PPCBoot逐步发展演化而来 2002年11月,PPCBoot发布了最后一个版本2.0.0版,并改名为U-Boot 0.1.0 与Linux一样,U-Boot遵循GPL,是一个开放源代码软件 U-Boot的特点 开放源代码 支持多种嵌入式操作系统 支持多种不同体系结构的处理器 具有较高的可靠性和稳定性 提供丰富的用户接口命令 支持串口、网络文件下载 丰富的设备驱动程序 有完整的软件文档与良好的技术支持 U-Boot的命令 命令类型:信息命令、内存命令、Flash命令、运行控制命令、网络命令、环境变量命令 命令功能:环境参数设置、内存检测、操作系统引导、程序测试、Flash擦除与烧写 U-BOOT源文件分类 与处理器体系结构或开发板硬件直接相关的程序目录 与处理器体系结构无关的通用函数或者驱动程序目录 U-Boot的独立工具、二次开发例程及相关设计文档目录 U-Boot 源码结构 U-BOOT启动过程 课后作业 下载U-BOOT源代码及相关文档,建立开发环境,选定目标平台,尝试编译,生成目标代码。 * * GPL: General Public License,通用公共许可协议

文档评论(0)

风凰传奇 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档