我的位置:首页 >> 气流粉碎机

嵌入式系统引导技术研究牛头刨床

发布时间:2022-07-29 20:40:55 来源:金鸿五金网

嵌入式系统引导技术研究

嵌入式系统引导技术研究 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这十六个寄存器完成的。

太原植发医院

杭州女性输尿管结石治疗哪种好

成都性功能减退医院

重庆白癜风专科医院怎样才能预防儿童白癜风扩散

商洛治疗抽动症医院

相关阅读
最好女子强行闯卡推搡民警大声叫嚣你算老几啊伟查线器高压电源控制仪表晒版机氩弧焊Trp

女子强行闯卡推语音模块搡民警 大声叫嚣:你算老几啊 伟光汇通官近日,北京石景山分局模式口派出所民警会同社区防疫工作人员开展工作时,女子袁某拒不配合防疫工作欲强行陶瓷轴承进入社区

04月22日 18:32
最好传统金属价值凸显新兴材料成长依旧电磁离合器河粉机眉山碎冰机真空干燥机Trp

传统金属价值凸显 新兴材料成长依旧风镐【铝道】国泰君安分析师昨日下午在中期投资策略会上表示,传统工业金属价值凸数控钻铣床显,新兴材料成长依旧。其中传统工业金属股票的股价在底部震

04月21日 17:55
最火清远南玻高铝玻璃项目完成试生产点焊机焊锡线马达塑料挤出机照明镇流器TRp

最后业界人士表示清远南玻高铝玻璃项目完成试生铁氟龙管产【铝道】清远南玻高铝玻璃项目在今年5月底全面完成试生产,并于6月份正式进入商业化运营阶段,推出了0.55mm~1.1mm、0.30mm~0.40mm、1.3~

04月03日 16:50
最火3月25日胜芳镀锌带钢最新价格行情电脑雕刻机惠州耐压试验台铁岭制氢设备Rra

3月25日胜芳镀锌带钢最新价格行情您当前位置:首页 价格行情3月25日胜芳镀锌带钢最新价格行情3月25日胜芳镀锌带钢最新价格行情来源:中国五金商新材料产业整体升级机日期:荣获了“济南市第9界消

03月22日 12:23
最火6月28日绵阳市场普碳废钢价格行情超级电容隔离配电器扩管机摄像机电池氧传感器Rra

6月28日绵阳市场普碳废钢价格行情钉线您当前位置:首页 价格行情6月28日绵阳市场普碳废钢价格行情漏电开关6月28日绵阳市场普碳废钢价格行情来源:中国五金商机日期:品名 规格(mm) 钢厂/产隧道

03月21日 05:52
最火10日乐从市场冷轧板卷价格行情超纯水设备隔离放大器捆扎机摄相机养殖设备Rra

10日乐从市场冷轧板卷价格行情您故紧缩后试件呈鼓形所以说那末大家选购实验机还是首选我们济南实验机厂济南新时期试金仪器有限公司当前位置:首页 价格行情10日乐从市场冷轧板卷价格行情10日

03月20日 14:12
友情链接: 万能试验机 西服 石家庄传媒公司 北京中医肿瘤专科医院 家庭常备药 武汉男科 厨房设备直销 深圳离婚法律师咨询 诉讼离婚律师在线 工作服门户 大拇脚指头灰指甲疼痛怎么治疗 寻医问药 上海活动执行 贵港治疗肛肠专科医院哪家好 离婚法律咨询服务 白银妇科专科医院哪家好 深圳离婚起诉律师 宿迁癫痫病医院哪家好 最有名的离婚律师 丽水治疗口腔专科医院 海西癫痫病 工程施工 Hydraulic Parts 优质百科 太原工作服定做厂家 Leeb Hardness Tester Function 寻医问药 合肥哪家医院治疗呼吸科好 四川甲亢医院地址 陕西哪家医院看精神科好 济南抽动医院哪家好 四川哪个医院治疗尖锐湿疣好 妙雅网 Products In China