- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统引导技术研究
????????摘要:以PowerPC8xx系列处理器为例,通过对此类处理器的引导模式、引导代码的编写和调试,以及如何引导操作系统执行等问题的研究,探索嵌入式系统引导过程的一种解决方案。
??
嵌入式系统应用开发不同于PC机,其开发过程同时涉及软硬件,需要将硬件平台的设计、操作系统以及上层应用开发综合考虑;而PC机应用开发建立在已经定制好的硬件和操作系统平台上,开发者只需调用系统提供的接口和服务完成相应的功能。由于应用和成本约束,嵌入式系统的硬件平台需根据应用量身定制,通常所用的MPU、存储器、外围设备等有多种选择余地,而且软件调试技术特殊,使平台的引导设计变得十分复杂。因此,对于嵌入式系统开发者而言,有必要深入分析系统引导过程,将软硬件开发有效地综合,即针对不同的硬件平台和软件运行模式,正确地进行底层上电初始化,进而引导操作系统执行。这个问题的核心在于对系统的引导模式的研究。
?
嵌入式系统的启动代码一般由两部分构成:引导代码和操作系统执行环境的初始化代码。其中引导代码一般也由两部分构成:第一部分是板级、片级初始化代码,主要功能是通过设置寄存器初始化硬件的工作方式,如设置时钟、中断控制寄存器等,完成内存映射、初始化MMU等;第二部分是装载程序,其功能是将操作系统和应用程序的映像从只读存储器装载或者拷贝到系统的RAM中,并跳转到相应的代码处继续执行。操作系统执行环境的初始化代码主要由硬件抽象层HAL代码、设备驱动程序初始化代码和操作系统执行体初始代码三部分构成。
?
本文以摩托罗拉MPC860处理器和具有自主知识产权的操作系统CRTOSII为例,研究嵌入式系统引导程序的设计和实现技术。嵌入式软件的开发涉及调试模式和固化模式两种运行状态。调试模式主要解决如何在目标板上调试正确性未经验证的程序的问题;而固化模式主要解决如何引导已调试成功的程序的问题。相应地,引导代码的设计应针对两种模式分别进行。
?
1 调试模式的系统引导
?
1.1 调试模式引导代码的作用
?
一个完整的嵌入式软件的解决方案大致包括四方面:①硬件平台配置初始化和系统引导代码;②操作系统软件执行环境的初始化代码;③操作系统;④应用程序。
?
在上述四方面中,引导代码是本研究中力求解决的问题。事实上,板级初始化、操作系统硬件抽象层、设备驱动程序三者整合到一起,就构成了嵌入式系统中BSP(板级支持包)的主体。BSP的代码与具体的目标板硬件设计相关,同时也与应用程序的设计要求相关,针对应用程序提出的不同要求,例如不同设备驱动程序、不同的中断源个数、不同的中断优先级安排、是否启用MMU机制等,BSP部分应作出相应的安排。上述第四部分的应用程序是建立在前三部分正确运行的基础上,并需反复调试。
?
由上述分析可知,BSP和应用程序代码的正确性通过一次的编写不能得到保证,需要经历“调试——修改——调试”反复的过程,因此需要建立一个可靠的调试环境。该环境建立的基础正是调模式下的引导代码。
?
1.2 引导代码的调试方法
?
本研究实验采用一种称作BDM(Background Debug Mode)的OCD(On Chip Debuging)调试技术。BMD是由Motorola公司提供的一种硬件调试方法,类似于JTAG调试。它利用处理器提供的调试端口调试。MPC860采用一种特殊的BDM——EPBDM,其运作相当于用处理器内嵌的调试模块接管中断及异常处理,用户通过设置调试许可寄存器(debug enable register)指定哪些中断或异常发生后处理器直接进入调试状态,而不是操作系统的处理程序。进入调试状态后,内嵌调试模块向外部调试通信接口发出信号,通知一直在通信接口监听的主机调试器,然后调试器便可通过调试模块使处理器执行系统指令(相当于特权态)。由于专用的片级调试接口装置(BDI2000)的支持,不需要目标端配备相应的调试代理(Monitor)软件。 ??? 1.3 调试模式引导代码实现
?
调试模式引导代码的核心在于使用BDM协议解析微指令,通过调试接口向MPC860发送信号,初始化调试环境。由于MPC860采用RISC结构,所以初始化部分主要是设置处理器内部寄存器,这个过程包括三方面内容:
?
(1)对处理器相关寄存器进行初始化:主要是关于处理器状态的寄存器(MSR、SRR1、SIUMCR等),中断、时钟相关模块(SYPCR、SCCR、PLPRCR、TBSCR等)。
?
(2)对BDM调试端口的初始化:包括调试使能寄存器DER、支持指令断点的寄存器ICTRL等。
?
(3)对片级、板级内存映射的初始化:包括内部内存映射寄存器IMMR,内存控制相关寄存器OR0~0R7、BR0~
您可能关注的文档
最近下载
- 2025最新四年级英语阅读理解训练题.docx VIP
- 数字化转型的“黄金”铁三角.docx VIP
- 居民常见恶性肿瘤筛查和预防推荐-2025.pdf VIP
- 教科(2025版)小学科学三年级上册第三单元《物体的运动》知识点总结.docx VIP
- 2024华医网继续教育骨厌氧菌感染的病原学诊断及临床应用题库答案.docx VIP
- 中华诵--国学经典诵读教案-(五年级上册).doc VIP
- 台湾樂氏同仁堂整合傳播方案.pdf VIP
- 第13课 安全记心上 第1课时(教学课件)三年级道德与法治上册(统编版2024秋).pptx
- 杜仲河水库防洪评价(报批稿).DOC VIP
- WJ-7型扣件安装作业指导课件.ppt VIP
原创力文档


文档评论(0)