- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式实时操作系统加载方式的研究
嵌入式实时操作系统加载方式的研究
摘要摘要:随着数字信息技术的发展,嵌入式实时操作系统不仅渗透到科学研究、工程技术等领域,而且与人们的生活联系越来越密切。嵌入式实时操作系统最重要的特性是加载方式需要调度一切可利用的资源完成实时任务。为正确评价嵌入式实时操作系统的性能,必须通过科学、系统的方法对其进行研究,进行全面、准确的测试。探讨Flash、RAM和外部存储介质启动的内存映射布局,讨论3种加载方式的优劣,结合硬件平台测试各项启动性能。
关键词关键词:Bootloader;内存映射;加载方式;嵌入式操作系统
DOIDOI:10.11907/rjdk.1511245
中图分类号:TP302
文献标识码:A文章编号文章编号2016)001001903
0引言
嵌入式系统应用越发广泛,从软件的角度,一个嵌入式系统可以分为4个层次:①引导加载程序。包括固化在固件中的 boot 代码和BootLoader两大部分;②内核。嵌入式操作系统是嵌入式应用软件的基础和开发平台,它解决了嵌入式软件开发标准化的难题。嵌入式系统具有操作系统最基本的功能。目前,主流的嵌入式系统有以下几种:Linux、VxWorks、QNX、Windows CE、Palm OS;③文件系统。包括根文件系统和建立于 Flash 内存设备之上的文件系统;④用户应用程序。在用户应用程序和内核层之间可能还存在一个嵌入式图形用户界面。常用的嵌入式GUI有Qt和MiniGUI等。
引导加载程序是系统加电后运行的第一段软件代码。从 PC 的体系结构中可知,PC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的 OS Boot Loader(如LILO和GRUB等)组成。BIOS 在完成硬件检测和资源分配后,将硬盘MBR 中的 Boot Loader 读到系统RAM 中,然后将控制权交给 OS Boot Loader。Boot Loader 的主要任务是将内核映象从硬盘读到 RAM 中,然后跳转到内核的入口点运行,即开启操作系统。 而在嵌入式系统中,通常并没有像 BIOS 那样的固件程序(有的嵌入式 CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由 Boot Loader 来完成。比如在一个基于ARM920T核心的 S3C2410 CPU的嵌入式系统中,系统在上电或复位时通常从地址 0处开始执行,由系统的 Boot Loader 程序[12]执行。
本文将从典型嵌入式系统内存映射布局、常见嵌入式操作系统的加载方式、Boot Loader 的框架结构以及 Boot Loader 的安装等4个方面讨论嵌入式系统加载方式。
1典型嵌入式系统内存映射布局
一个典型的嵌入式系统至少具备以下3类存储部件。
(1)Boot ROM 是一片可擦写的只读存储器,一般不会太大(大小不超过1M),用于存放嵌入式系统加电后的初始化代码。在PC上,用于完成加电后检测的BIOS,功
能与此类似。
(2)Flash是一块可擦写的存储介质,用于嵌入式系统的操作系统和应用程序映像,以及嵌入式系统的配置数据等。此介质的容量大于Boot ROM。
(3)SRAM/DRAM即常规内存。一般情况下,嵌入式系统启动后,执行的代码和数据存放于此。
这3类存储介质,一般直接通过硬件连接方式,硬性焊接在CPU的可寻址空间中,如图1所示。因此,只需采用CPU的内存读写机制,就可以完成对这些设备的读写操作,无需特殊设备驱动程序的支持。
2嵌入式操作系统加载方式
2.1从Flash直接加载
在这种加载方式下,嵌入式操作系统映像和应用程序映像都存放在Flash中。编译时,操作系统和应用程序映像的二进制模块被编译成不同的节,包括TEXT节、DATA节、BSS节等。其中,不同节存的内容也不同,TEXT节存放可执行代码,DATA节存放已经初始化的全局变量,而BSS节是一个预留节,存放未经初始化的全局变量。嵌入式系统加载启动过程如图2所示。
(1)完成CPU复位,执行启动向量所在的第一条指令(位于Boot ROM内),这条指令往往是一条跳转指令,跳转到Boot ROM内的硬件初始化代码位置,执行必需的硬件初始化工作。
(2)硬件初始化代码完成CPU的初始化,比如设置CPU的段寄存器、堆栈指针等,以及其它硬件的初始化。
(3)完成硬件的初始化功能后,通过一条跳转指令,跳转到Flash存储器的特定位置开始执行。这个位置是一段代码段(TEXT段)中的一个特定位置。
(4)将Flash中的DATA节代码复制到RAM中。
(
您可能关注的文档
最近下载
- 2025年湖北机关事业单位工勤技能人员技术等级考试(行政后勤管理员·技师)历年参考题库含答案详解(5.docx VIP
- 基于SWOT分析法探讨公立医院体检中心开展健康体适能检测业务的可行性.doc VIP
- 2025年中职高考中职英语二轮复习语法专项第四章代词课件(共237张PPT).pptx VIP
- AI应用行业年度报告2024-奇异因子.docx
- 产教融合视角下AI智慧营销时代广告策划教学路径研究.docx VIP
- 论意境_袁行霈.pdf
- 02S101矩形给水箱图集标准.pptx
- 二年级语文上册部编版第7单元基础复习(知识梳理+检测).pdf VIP
- 曲氟尿苷替匹嘧啶片说明书.PDF VIP
- 12J6 外装修(标准图集).pdf VIP
原创力文档


文档评论(0)