- 1、本文档共97页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM教学系统08嵌入式软件系统设计研讨
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 启动代码是用来初始化电路以及用来为高级语言写的软件做好运行前准备的一小段汇编语言,是任何处理器上电复位时的程序运行入口点 * * 引导加载程序是系统加电后运行的第一段软件代码。回忆一下 PC 的体系结构我们可以知道,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的 OS Boot Loader(比如,LILO 和 GRUB 等)一起组成。BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 Boot Loader 读到系统的 RAM 中,然后将控制权交给 OS Boot Loader。Boot Loader 的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。 而在嵌入式系统中,通常并没有像 BIOS 那样的固件程序(注,有的嵌入式 CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由 Boot Loader 来完成。比如在一个基于 ARM7TDMI core 的嵌入式系统中,系统在上电或复位时通常都从地址 0处开始执行,而在这个地址处安排的通常就是系统的 Boot Loader 程序。 本文将从 Boot Loader 的概念、Boot Loader 的主要任务、Boot Loader 的框架结构以及 Boot Loader 的安装等四个方面来讨论嵌入式系统的 Boot Loader。 简单地说,Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 通常,Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的。尽管如此,我们仍然可以对 Boot Loader 归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。 * Linux和Windows、 CEVxWorks需要MMU支持,其余可以不用。 Linux特点,源代码开放,资源丰富,支持平台多 uClinux是在Linux基础上,专门为没有MMU的嵌入式应用修改后的,目前广泛应用于嵌入式开发中。 uC/OS II的特点是源代码开放,内核高度裁减,可以裁减到非常小(大2K,一般6-10K) VxWorks的内核只占用很小的存储空间,可高度裁减,实时性强。它包括进程管理、存储管理、设备管理、文件系统管理、网络协议以及系统应用等。 * BSP(板级支持包)是介于底层硬件和操作系统之间的软件层次,它完成系统上电后最初的硬件和软件初始化,并对底层硬件进行封装,使得操作系统不再面对具体的操作。 BSP的特点: 硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,所以,作为高层软件与硬件之间的接口,BSP必须为操作系统提供操作和控制具体硬件的方法。 操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。 BSP包括如下功能: 1、嵌入式系统初始化 A、片级初始化 B、板级初始化 C、系统级初始化 2、硬件相关的设备驱动程序 1)片级初始化:主要完成微处理器的初始化, 包括设置微处理器的核心寄存器和控制寄存器,微处理器核心工作模式以及其局部总线模式等。片级初始化把微处理器从上电时的缺省状态逐步设置成为系统所要求的工作状态。这是一个纯硬件的初始化过程 2)板级初始化:完成微处理器以外的其他硬件设备的初始化。除此之外,还要设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。这是一个同时包含软硬件两部分在内的初始化过程。 3)系统级初始化:这是一个以软件初始化为主的过程, 主要进行操作系统初始化。BSP将控制转交给操作系统, 由操作系统进行余下的初始化操作。包括加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,比如网络系统、文件系统等;最后,操作系统创建应用程序环境并将控制转交给应用程序的入口 1)BSP另一个主要功能是硬件相关的设备驱动。与初始化过程相反,硬件相关的设备驱动程序的初始化和使用通常是一个从高层到底层的过程。尽管BSP 中包含硬件相关的设备驱动程序,但是这些设备驱动程序通常不直接由BSP使用,而是在系统初始化
您可能关注的文档
- AMT皖煤集团集团管控与流程优化项目诊断报告战略理解分解版研讨.ppt
- AndroidL操作系统研讨.ppt
- ANDROID初级12研讨.ppt
- Android互联网应用研讨.ppt
- Android开发的学习路线研讨.ppt
- Android手机开发入门知识研讨.ppt
- Android手游开发实践研讨.ppt
- Android是如何超越iPad并一统平板电脑市场的研讨.pptx
- Android教育训练研讨.pptx
- android测试技术研讨.ppt
- 2025自考专业(公共关系)测试卷附参考答案详解(研优卷).docx
- 2025自考专业(公共关系)真题附答案详解【培优B卷】.docx
- 2025自考专业(公共关系)测试卷附答案详解【模拟题】.docx
- 2025自考专业(公共关系)真题及完整答案详解(考点梳理).docx
- 2025自考专业(公共关系)真题带答案详解(夺分金卷).docx
- 2025自考专业(公共关系)测试卷含答案详解(名师推荐).docx
- 2025自考专业(公共关系)真题(能力提升)附答案详解.docx
- 2025自考专业(公共关系)测试卷附答案详解(突破训练).docx
- 2025自考专业(公共关系)真题及完整答案详解(各地真题).docx
- 2025自考专业(公共关系)真题附答案详解【轻巧夺冠】.docx
文档评论(0)