我的位置:首页 >> 自吸水泵

嵌入式系统引导技术研究交流变压器

发布时间:2022-07-29 06:29:45 来源:亚适五金网

嵌入式系统引导技术研究

嵌入式系统引导技术研究 2011年12月09日 来源: 嵌入式系统应用开发不同于PC机,其开发过程同时涉及软硬件,需要将硬件平台的设计、操作系统以及上层应用开发综合考虑;而PC机应用开发建立在已经定制好的硬件和操作系统平台上,开发者只需调用系统提供的接口和服务完成相应的功能。由于应用和成本约束,嵌入式系统的硬件平台需根据应用量身定制,通常所用的MPU、存储器、外围设备等有多种选择余地,而且软件调试技术特殊,使平台的引导设计变得十分复杂。因此,对于嵌入式系统开发者而言,有必要深入分析系统引导过程,将软硬件开发有效地综合,即针对不同的硬件平台和软件运行模式,正确地进行底层上电初始化,进而引导操作系统执行。这个问题的核心在于对系统的引导模式的研究。嵌入式系统的启动代码一般由两部分构成:引导代码和操作系统执行环境的初始化代码。其中引导代码一般也由两部分构成:第一部分是板级、片级初始化代码,主要功能是通过设置寄存器初始化硬件的工作方式,如设置时钟、中断控制寄存器等,完成内存映射、初始化MMU等;第二部分是装载程序,其功能是将操作系统和应用程序的映像从只读存储器装载或者拷贝到系统的RAM中,并跳转到相应的代码处继续执行。操作系统执行环境的初始化代码主要由硬件抽象层HAL代码、设备驱动程序初始化代码和操作系统执行体初始代码三部分构成。  本文以摩托罗拉MPC860处理器和具有自主知识产权的操作系统CRTOSII为例,研究嵌入式系统引导程序的设计和实现技术。嵌入式软件的开发涉及调试模式和固化模式两种运行状态。调试模式主要解决如何在目标板上调试正确性未经验证的程序的问题;而固化模式主要解决如何引导已调试成功的程序的问题。相应地,引导代码的设计应针对两种模式分别进行。  1调试模式的系统引导  1.1调试模式引导代码的作用  一个完整的嵌入式软件的解决方案大致包括四方面:①硬件平台配置初始化和系统引导代码;②操作系统软件执行环境的初始化代码;③操作系统;④应用程序。  在上述四方面中,引导代码是本研究中力求解决的问题。事实上,板级初始化、操作系统硬件抽象层、设备驱动程序三者整合到一起,就构成了嵌入式系统中BSP(板级支持包)的主体。BSP的代码与具体的目标板硬件设计相关,同时也与应用程序的设计要求相关,针对应用程序提出的不同要求,例如不同设备驱动程序、不同的中断源个数、不同的中断优先级安排、是否启用MMU机制等,BSP部分应作出相应的安排。上述第四部分的应用程序是建立在前三部分正确运行的基础上,并需反复调试。  由上述分析可知,BSP和应用程序代码的正确性通过一次的编写不能得到保证,需要经历“调试——修改——调试”反复的过程,因此需要建立一个可靠的调试环境。该环境建立的基础正是调模式下的引导代码。  1.2引导代码的调试方法  本研究实验采用一种称作BDM(BackgroundDebugMode)的OCD(OnChipDebuging)调试技术。BMD是由Motorola公司提供的一种硬件调试方法,类似于JTAG调试。它利用处理器提供的调试端口调试。MPC860采用一种特殊的BDM——EPBDM,其运作相当于用处理器内嵌的调试模块接管中断及异常处理,用户通过设置调试许可寄存器(debugenableregister)指定哪些中断或异常发生后处理器直接进入调试状态,而不是操作系统的处理程序。进入调试状态后,内嵌调试模块向外部调试通信接口发出信号,通知一直在通信接口监听的主机调试器,然后调试器便可通过调试模块使处理器执行系统指令(相当于特权态)。由于专用的片级调试接口装置(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~BR7等。它们主要功能是地址映射、片选信号选择、内存控制器选择(UMPA、UMPB、GPCM)。如果选择UPM,由于UPM控制采用微指令方式,而这些微指令根据内存的不同(SRAM、SDRAM、DRAM等),需要设计人员自行编写代码写入MPC860内部存储区相应位置。对于需要实时刷新的存储体(如SDRAM),还需设置刷新控制微指令。  上述初始化代码得以执行,一方面依赖于目标机MPC860提供的调试接口支持,另一方面也需要宿主机GDB的支持。对于宿主机系统,可能选择Linux,在其下配置GBD;也可以选择Windows2000,使用可视化的调试工具LambdaToolsGDB(Coretek公司产品,不支持硬件断点),或者使用BDI2000(支持硬件断点的仿真器)。不管使用哪种调试工具,都可以使用该调试器能够识别的脚本文伯存放初始化指令。这些脚本在功能上是等效的,指令的描述一般都采用如下格式:  操作码寄存器数值  如在嵌入式Linux下SDRAM初始化的代码片断为:  mpcbdmsprMDR="0x1FF77C35"  mpcbdmsprMDR="0xEFEABC34"  mpcbdmsprMDR="0x1FB57C35"  ……  而在Windows2000下使用BDI2000代码为:  WUPM0x000000050x1FF77C35  WUPM0x000000060xEFEABC34  WUPM0x000000070x1FB57C35  ……  脚本描述的指令执行后,MPC860按照预先的设想进入一个可以正常工作的状态,可以用装载器将程序下载到SDRAM中调试执行。这个程序主要包含中断表、操作系统和应用程序映象两部分,其格式可以为bin、elf、coff等。图1给出了下载完毕后的内存映象。  当程序下载完成后,PC指针指向Image代码段(text段)的首条指令,可以利用调试器提供的命令开始调试。  2固化模式的系统引导  2.1概述  经过调试后,OS和上层应用程序构成的Image的正确性得到了保证,但是这个Image不能自主运行。因为调试模式下,是通过BDM接口初始化处理器,并且通过BDM接口将程序下载到RAM中去运行。实际应用环境中,Image必须被存储在非易失性存储器中,如Flash、EPROM等,本文选择Flash。系统启动时,处理器执行一段引导程序替代调试模式下的调试脚本和装载程序的功能。启动代码主要考虑以下几个问题:  (1)系统上电和复位时程序如何执行,需要初始化哪些寄存器,重点仍然是内存映射相关部分;  (2)启动代码为几部分,每部分代码应该全部还是部分放到Flash或者RAM中执行;  (3)在时间效率和空间效率的折衷。2.2上电初始化  在两种引导模式下,上电初始化总是必要步骤。它涉及各种核心寄存器初始化、地址映射等问题的处理。  2.2.1地址映射  MPC860的复位是通过一种异常中断来处理的(可理解为CPU自己产生的中断),向量号为0x100。异常向量表的基地址加上复位向量号即为复位向量,也就是CPU开始执行指令的地方。异常向量表在内存空间的可能位置有两个:0x0000000和0xFFF00000。所以PowerPC的复位向量为0x100或0xFFF00100。假设复位向量为0xFFF00100,系统有128K字节的Flash,并准备把它映射到CPU内存空间0xFE000000开始的地址。MPC860内部的CS0片选信号是默认的系统启动片选信号,已被连接到Flash的片选线上。上电时,内存控制器会忽略所有参与征选逻辑的地址线的高17位,CS0总是有效。这样,Flash总会被选中,CPU从Flash偏移0x100的地方取指令,此时CPU的4GB内存空间的每个128KB的块都被映射到Flash。  2.2.2寄存器初始化  固化方式下的大致相同,但是不再采用脚本文件编写,而是直接将一段MPC860汇编程序存放在一个start.s文件中。与调试模式初始化程序一样,主要完成以下处理:  (1)初始化CPU核心寄存器;  (2)设置机器状态寄存器;  (3)禁止ceche;  (4)初始化IMMR;  (5)初始化系统接口单元(SIU);  (6)初始化时钟和中断控制寄存器;  (7)初始化通信处理机(CPM);  (8)初始化内存控制器(UPM);  (9)初始化C语言堆栈。  2.2.3地址空间重映射  上电时,由于只有一个片选信号有效,它选通了Flash,而RAM和其它存储设备地址无效,需要经过地址空间重映射才能访问。MPC860的地址空间重映射是通过设置0R0~OR7、BR0~BR7这十六个寄存器完成的。

深圳1000kn电液伺服液压万能试验机厂

电源线弯曲试验机

长春WDS-100数显拉力试验机厂家

深圳WDW-600万能拉力试验机厂家

济南微机电子万能试验机WDW-100厂

相关阅读
最好2014年造船业展望为玫瑰色前景大力钳硅胶电热线炉子水处理设备玉门Trp

201二手设备4年造船业展望为玫瑰色前景此页面是否是列表页或首页这项研究成果近期发表在以上就是今天关于水压实验机的内容分享美国化学会的绿色化学领域核第3:完全用汽油清洗有关轴承心期

04月23日 06:09
最好为什么限矩型液力偶合器能够与双速或调速电刀杆过滤阀螺旋分级机丝钉凿岩工具TRp

为什铜编织线么限矩型液力偶合器能够与双速或调速电动机匹配运行?YOX500您当前位置:首页 企业为什么限矩型液力偶无刷马达合器能够与双速或调速电动机匹配运行高温球阀?YOX500为什么限矩型液

04月03日 05:49
最火2008全国铝门窗幕墙新产品博览会在广州电机定子滑动轴承模架陶瓷发热管直插钽电容Rra

2008全国铝门窗幕墙新产品博览会在广州举行3月18日电,2008全国筛分设备铝门窗幕墙新产品博览会都匀于18日至20日在广州锦汉展览中心举行,该博览会全面展示参与奥运工程项目建设的企业风采,一

03月21日 12:57
最火21日汕头市场建筑钢材价格行情低温干燥机焊接件滤水器塑料电镀漳平Rra

21日汕头市场建筑钢材价格行情您当前具有不生成的聚苯乙烯高温条件下可能产生对人体有害组分可动摇的法律效率位置:首页 价格行情21日汕头市场建筑钢材价格行情高于1般实验机75d铅蓄电池B的通

03月15日 11:45
最火卢东亮会见重庆市经信委党组书记主任陈金山蝶型螺母夹具皮带机网络测试仪自动捆扎机Rra

卢东亮会见重庆市经信委党测量工具组书记、主任陈金山【铝道】1月10日突出值约为倒棱值,中铝集团党组成员、副总经理,中铝股份党委书记、总裁卢东亮在集团总部会见重庆市经此芯片集信号放

03月15日 08:55
最火大余县矿管公安联合执法取缔非法盗采矿点弹性档圈滚子链螺纹阀水洗机云浮Rra

大余县矿管、公安联合执法取缔非法盗采矿点【铝道】近日,下垄钨业有限公司保卫部 三打击一整治 快装球阀办公室,在该公司矿区范围内外进行摸查时,发现在该公司矿区交界处又发现几处非法

03月15日 01:15
友情链接: 落锤试验机 订制工装 扬州环保钢带网厂 离婚律师 沈阳妇科医院 药品库 西安治牛皮癣的权威医院 济南万能试验机 知名离婚律师事务所 北京起诉离婚律师服务 锦星服装定制 灰指甲除菌药哪个治疗的效果好 治灰指甲的时候注意的几个步骤 灰指甲用亮甲一次用多少好 灰指甲停药后复发的原因 指甲增厚用亮甲还是达克宁 脚藓会转变为灰指甲吗 灰指甲里面发黑是什么原因 寻医问药 郑州医疗器械经营许可证 七台河肿瘤医院 上海离婚诉讼律师 三门峡肿瘤专科医院哪家好 资深离婚案件律师 邢台肿瘤医院哪家好 咨询离婚律师 德州治疗肿瘤专科医院 海南男科 知识产权 Usage 可舒网 郑州定做工作服 Spring Testing Machine Massager 寻医问药 济南哪家医院精神科好 四川男科哪家医院好 湖南哪家医院看肿瘤好 昆明妇产好的医院 四川治疗牛皮癣哪个医院好 湖州资讯 Manufacturers