嵌入式研究生论文
嵌入式研究生论文
嵌入式技术论文篇二
嵌入式系统应用技术
【摘 要】本文介绍了嵌入式系统的含义、发展、现状和我国在嵌入式系统中面临的机遇,重点介绍了嵌入式系统的硬件,简要说明了嵌入式操作系统。
【关键词】单片机;操作系统;Linux;嵌入式系统
1.嵌入式系统的定义与市场前景
嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、体积、功耗严格要求的专用计算机系统。它主要由嵌入式微处理器、外围硬设备、嵌入式操作系统及应用软件等部分构成,用于实现对其他设备的控制、监视和管理等功能 。
PC机主要应用在办公室自动化领域,而嵌入式已经渗入到人们的工作、生活中,如工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务、环境监测、机器人等领域 。今天嵌入式系统带来的工业年产值已超过了1万亿美元,1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。美国汽车大王福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想见嵌入式计算器工业的规模和广度。1998年11月在美国加州举行的嵌入式系统大会上,基于RTOS的Embedded Internet成为一个技术新热点。 美国著名未来学家尼葛洛庞帝99年1月访华时预言,4~5年后嵌入式智能(计算机)工具将是PC和因特网之后最伟大的发明 。这就是所谓的“后PC时代”概念。
2.嵌入式系统发展阶段
嵌入式系统的出现至今已经30多年的历史。近几年来,计算机(Computer)、通信(Communication)、消费电子(Consumer Electron)的一体化趋势日益明显,成就了3C融合之势.纵观其发展历程,大致经历了一下几个阶段。
第一阶段是以单芯片为核心的可编程控制器(PLC)形式的系统,具有监测、伺服、指示设备相配合的功能。这类系统大部分应用在一些专业性强的工业控制系统中,没有操作系统的支持,只通过汇编语言对其编程控制。
第二阶段是单片机(又称微控制器 MCU Microcontroller Unit)为基础,这时候的编程语言从汇编转变成以C语言为主。这一阶段的MCU种类繁多,价格较低,现在依然发挥着重要作用。
第三阶段是以嵌入式操作系统为标志的嵌入式系统。这时候的单片机速度越来越快,功能越来越多。这时候软件主要运行在嵌入式操作系统上。嵌入式操作系统能运行各种不同类型的单片机上,兼容性好;用户界面较友好,具有大量的应用程序接口API,开发应用程序简单。
第四阶段是以Internet为标志的嵌入式系统。随着Internet的发展以及Internet技术与信息家电、控制技术日益结合,嵌入式系统通过各种总线形式和Internet的结合越来越密切 。
3.嵌入式系统的核心硬件
嵌入式系统的核心硬件是单片机,又称微控制器(MCU)它是将计算机的基本部件微型化并集成到一块芯片上的微型计算机,通常片内都含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。随着技术的发展,单片机片内集成的功能越来越强大,并朝着SoC(System on chip片上系统)方向发展。单片机有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点,在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到日益广泛的应用。
目前据不完全统计,全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30几个系列,其中8051体系的占有多半。生产8051单片机的半导体厂家有20多个,共350多种衍生产品。通常按单片机数据总线的位数将单片机分为4位、8位、16位、32位机。
3.1 四位单片机。四位单片机适合用于各种规模较小的家电类消费产品。一般的单片机厂家均有自己的四位单片机产品,有OKI公司的MSM64164C、MSM64481,NEC公司的75006×系列、EPSON公司的SMC62系列等。
典型应用领域有:PC机用的输入装置(鼠标、游戏杆)、电池充电器(Ni-Cd电池、锂电池)、运动器材、带液晶显示的音、视频产品控制器、一般家用电器的控制及遥控器、玩具控制、记时器、时钟、表、计算器、多功能电话、LCD游戏机。
3.2 八位单片机。八位单片机是目前品种最为丰富、应用最为广泛的单片机,有着体积小、功耗低、功能强、性能价格比高、易于推广应用等显著优点。目前主要分为MCS-51系列及其兼容机型和非MCS-51系列单片机。
MCS-51兼容产品因开发工具及软硬件资源齐全而占主导地位, ATMEL、PHILIPS、WINBOND是MCS-51单片机生产的老牌厂家,CYGNAL及ST也推出新的产品,其中ST的新推出的μPSD系列片内有大容量FLASH(128/256KB)、8/32KB的SRAM、 集成A/D、看门狗、上电复位电路、两路UART、支持在系统编程ISP及在应用中编程IAP等诸多先进特性,迅速被广大51单片机用户接受 。CYGNAL推出了Soc的51系列单片机C8051F系列。集成了A/D D/A电路、看门狗,上电复位电路、I C、SPI、CAN总线、 FLASH技术、JTAG仿真调试,并且最高达到了100MIPS
非51系列单片机在中国应用较广的有MOTOROLA68HC05/08系列、 MICROCHIP的PIC单片机以及ATMEL的AVR单片机。
八位单片机在自动化装置、智能仪器仪表、过程控制、通信、家用电器等许多领域得到广泛应用。
3.3 十六位单片机。十六位单片机操作速度及数据吞吐能力在性能上比8位机有较大提高。目前以INTEL的MCS-96/196系列、TI的MSP430 系列及MOTOROLA的68HC11系列为主 。
十六位单片机主要应用于工业控制、智能仪器仪表 、便携式设备等场合。其中TI的MSP430系列以其超低功耗的特性广泛应用于低功耗场合。
3.4 三十二位单片机。32位单片机是单片机的发展趋势,随着技术发展及开发成本和产品价格的下降将会与8位机并驾齐驱。生产32位单片机的厂家与8位机的厂家一样多。MOTOROLA、TOSHIBA、HITACH、NEC、EPSON、MITSUBISHI、SAMSUNG群雄割据, 其中以32位ARM单片机及MOTOROLA的MC683××、68K系列应用相对广泛。基于ARM核的单片机占据了2001年的32位单片机市场75%的份额。
3.5 单片机技术的发展。从20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出以下技术特点。
8位、32位单片机共同发展。这是当前单片机技术发展的另一动向。长期以来,单片机技术的发展是以8位机为主的。随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足、迅猛的发展。
单片机速度越来越快。为提高单片机抗干扰能力,降低噪声,降低时钟频率而不牺牲运算速度是单片机技术发展之追求。一些8051单片机兼容厂商改善了单片机的内部时序,在不提高时钟频率的条件下,使运算速度提高了很多,Motorola单片机则使用了琐相环技术或内部倍频技术使内部总线速度大大高于时钟产生器的频率。68HC08单片机使用4.9MHz外部振荡器而内部时钟达32M。三星电子新近推出了1.2GHz的ARM处理器内核Halla
低电压与低功耗。几乎所有的单片机都有Wait、Stop等省电运行方式。允许使用的电源电压范围也越来越宽。一般单片机都能在3到6V范围内工作,对电池供电的单片机不再需要对电源采取稳压措施。低电压供电的单片机电源下限已由2.7V降至2.2V、1.8V。0.9V供电的单片机已经问世。
低噪声与高可靠性技术。为提高单片机系统的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片机商家在单片机内部电路中采取了一些新的技术措施。如ST公司的μPSD系列单片机片内增加了看门狗定时器,NS的COP8单片机内部增加了抗EMI电路,增强了“看门狗”的性能。
ISP及IAP。在片编程技术(In System Programming)及在应用中编程(In Application Programming)通过单片机上引出的编程线、串行数据、时钟线等对单片机编程,编程线与I/O线共享, 不增加单片机的额外引脚。ISP为开发调试提供了方便,并使单片机系统远程调试、升级成为现实
4.嵌入式系统的软件
嵌入式系统的软件从最初的汇编语言逐渐过度到C高级语言,到现在最终形成了以操作系统,出现了几十种产品,代表性的有VxWorks、QNX、Nucleus、μC/OS 、Palm OS、Windows CE以及Linux系列。在技术上有以下特征。
(1)以为新的处理器越来越多,嵌入式系统的设计更易于移植,以便在短时间内支持多种微处理器。
(2)Linux产品在嵌入式上获得了广泛的应用。Linux性能稳定,裁剪性好,开发和使用比较容易,适用于多种嵌入式处理器。Linux得到了相当广泛厂商的支持RT-Linux产品也取得了很大的进展。在家用电器、工业控制大有可为 。
5.发展和应用我国自主的嵌入式系统技术
目前,PC机的架构为Wintel所控制、垄断。在该领域,现在我们没有主动权,创新空间较小,专家估计,十年内很难有所突破。而嵌入式系统没有统一的架构,软硬件需要多种多样的组合,技术密集,市场容量大。我国在此领域有无限的创新空间 。例如“星光中国芯工程”是以数字多媒体芯片为突破口,第一次将“中国芯星光一号”率先打入国际市场的战略工程在国际上处于领先地位。在该领域已处于领导地位。在操作系统领域,有中软公司推出的“中软实时嵌入式Linux操作系统”,对外部中断可作出微秒级的响应,能提供精确的实时始终控制,实时任务和线程的并发操作和同步机制 。
6.结束语
上述描述了嵌入式系统的含义,以及嵌入式系统的发展历程、嵌入式系统的硬件、嵌入式操作系统,最后总结了我国在嵌入式系统中面临的机遇,为进一步学习嵌入式系统提供了参考,以期对研究该领域的人们有所帮助。
看了“嵌入式技术论文”的人还看:
1. 基于μC/OS的嵌入式系统应用开发研究论文
2. 浅谈JNI技术在嵌入式软件开发中的应用论文
3. 计算机科学技术论文毕业论文
4. 电子技术论文范文大全
5. 单片机技术论文
嵌入式图像处理系统特点技术及应用前景论文
嵌入式图像处理系统特点技术及应用前景论文
现今,伴随着信息技术的迅速发展与用户需求的逐年提高,嵌入式系统的应用逐年扩大,已经逐渐的融入到了国民生产的诸多方面。嵌入式系统具体讲,就是一种拥有特定功能的计算机系统。嵌入式系统与网络技术、通信技术有机结合,有效的提高了通信的智能性与灵活性。
应用嵌入式系统对图像进行处理,可以显著的提高图像处理系统的数据处理、通信等能力,进而有效的扩大图像处理技术的使用范围,以及对于不同要求与环境的适应能力。应用嵌入式系统进行图像处理,是进行图像处理的新的途径之一。当前图像处理技术应用范围十分广泛,涉及仪表检测安全、消费电子、工业自动化、医学等领域,因此图像处理技术具有十分广泛的应用前景。
1 嵌入式图像处理系统特点
1) 图像处理系统,具有系统专用的图形用户界面,同时具备运行速度快、简单易用与功能强大的特点。2) 图像基础数据库的建立,可以为智能化模式识别技术,诸如图像匹配等提供支持。3) 改变了原有的对待处理图像的处理策略与算法,可以依据具体的待处理图像的不同特点,提供有效的图像处理算法,进而提高图像处理的效率与速度。4)对于外部图像的总线结构与输入输出设备等都是采取专用的设备,进而有效的提高了外部图像输入输出设备、中央计算单元的数据交换速度。
5) 改变了原有的计算机体系结构,应用了嵌入式的专用平台,同时应用图像高速处理器,使图像处理的速度有效的.提高,同时也提高了图像处理任务的实时性。
2 图像处理系统总体设计
2.1 嵌入式图像处理系统
嵌入式图像处理系统,具体由嵌入式操作系统、图像处理算法的应用软件与硬件平台构成。系统的组成结构图具体如图1所示。硬件平台可以为图像处理提供显示、存储器与计算支持,主要采用的是MagicARM2410嵌入式开发平台,同时包括图像存储模块;显示模块;通信模块;嵌入式处理器S3C2410、SDRAM等。
2.2 图像处理过程
嵌入式操作系统,可以为底层硬件提供有效的技术支持与管理,诸如可以进行图像处理任务管理;中断管理;内存管理;任务管理;驱动支持等。首先,在系统启动后,经由引导程序启动操作系统,进而完成硬件的初始化。其次,经由操作系统的任务管理模块,进行内存的分配,同时将图像信息存储在存储器的视频缓冲区中。第三,经由软件算法,将显示缓冲区的图像信息,写入到LCD缓冲区,进而实现图像的实时显示。第四,通过图像处理的算法,进行图像的编码与处理,同时进行存储。应用软件可以实现图像处理算法,其主要是针对目标要求编写的专用程序。
2.3 系统的功能设计
嵌入式图像处理可以有效的解决在嵌入式环境下实现图像的处理。
具体的主要应用模块化设计的方式,将需要系统完成的任务进行功能模块化的设计。在每一个模块中,都包含一类图像处理的操作方法,而且在进行执行时都会调用对应的算法。系统功能模块具体如图2所示,主要分为形态运算;几何变换;图像分析;图像增强。其中图像增强的模块具体又包括:灰度变换调整;直方图修正法;直方图等,具体如图3所示。各大系统模块的下面都会细分图像的处理操作,其余的三个模块的设计形式与图像增强模块的设计具有相似性。
3 图像处理系统发展趋势
1) 在图像处理系统的内部,主要进行集成软件的开发,对于用户而讲,可以依据自己的需求开发相应的图像处理算法,可以显著的提高系统的效率。2) 图像处理系统与网络的结合性逐渐提高,进而实现了图像的远程传输与采集。3) 图形处理系统的功能不再完全借助PC与多种辅助设备,而是会集成在一个方便使用的电子设备上。4) 伴随硬件设备的进步,图像处理系统的性能逐年提高,因而价格也会逐年下降。
4 结语
在嵌入式系统的图像处理技术的基础上,使得图像处理领域中出现了人机用户界面、多种通信模式与网络接口的便捷性。图像处理技术的应用范围越来越广泛,因此,在未来的发展道路上,其必然会朝着网络化、便携性、多任务与多功能的方向发展。伴随着嵌入式操作系统的强大功能,图像处理技术的发展方向必定会更加宽广。
参考文献:
[1] 崔磊,董守平,马红莲。数字图像处理技术的发展现状与展望[M].北京:中国石油大学出版社,2003.
[2] 刘禾。数字图像处理及应用[M].北京:中国电力出版社,2005.
[3] 杨永敏。嵌入式图像处理系统的研制[D].哈尔滨工业大学硕士学位论文,2006.
[4] 杨柯。嵌入式图像处理技术研究及其应用[D].西北工业大学硕士学位论文,2003.
[5] 宋延昭。嵌入式操作系统介绍及选型原则[J].工业控制计算机,2005.
[6] 严丽平,甘岚。基于嵌入式平台的图像处理系统的研制[J].微计算机信息,2008.
[7] 杨会丽。基于嵌入式系统的图像处理平台的设计[D].河北科技大学工学硕士学位论文,2009.
请提供个通信专业嵌入式方向的论文选题
只要亲自做过,就好写了,否则我说了你也写不上来。不过我尽管说
国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
所以,抓住以上其中一个特点都好写,如:手机上的嵌入式应用软件开发、移动设备上的信息管理系统、移动游戏对战平台解决方案、如何设计精简linux系统、高集成度轻薄手机研究、恶劣环境下提高设备可靠性的解决方案、45nm技术的高性能处理器探究,还有一个永恒的话题:XXX芯片上功率控制与节能方案
节能、环保、体积控制的技术都是永恒的话题,电源没有最省的只有更省、体积也没有最小,只有更小。最新消息,英特尔已发布好像是32nm(反正小于45nm)的cpu,你足够NB的话你去研究再小的,博士都能毕业
嵌入式操作系统技术研究(论文)
对系统的移植和裁剪,以达到所需的系统要求
以PowerPC8xx系列处理器为例,通过对此类处理器的引导模式。引导代码的编写和调试,以及如何引导操作系统执行等问题的研究,探索嵌入式系统引导过程的一种解决方案。
关键词:MPC860嵌入式操作系统存储映射引导
嵌入式系统应用开发不同于PC机,其开发过程同时涉及软硬件,需要将硬件平台的设计。操作系统以及上层应用开发综合考虑;而PC机应用开发建立在已经定制好的硬件和操作系统平台上,开发者只需调用系统提供的接口和服务完成相应的功能。由于应用和成本约束,嵌入式系统的硬件平台需根据应用量身定制,通常所用的MPU.存储器。外围设备等有多种选择余地,而且软件调试技术特殊,使平台的引导设计变得十分复杂。因此,对于嵌入式系统开发者而言,有必要深入分析系统引导过程,将软硬件开发有效地综合,即针对不同的硬件平台和软件运行模式,正确地进行底层上电初始化,进而引导操作系统执行。这个问题的核心在于对系统的引导模式的研究。
嵌入式系统的启动代码一般由两部分构成:引导代码和操作系统执行环境的初始化代码。其中引导代码一般也由两部分构成:第一部分是板级。片级初始化代码,主要功能是通过设置寄存器初始化硬件的工作方式,如设置时钟。中断控制寄存器等,完成内存映射。初始化MMU等;第二部分是装载程序,其功能是将操作系统和应用程序的映像从只读存储器装载或者拷贝到系统的RAM中,并跳转到相应的代码处继续执行。操作系统执行环境的初始化代码主要由硬件抽象层HAL代码。设备驱动程序初始化代码和操作系统执行体初始代码三部分构成。
本文以摩托罗拉MPC860处理器和具有自主知识产权的操作系统CRTOSII为例,研究嵌入式系统引导程序的设计和实现技术。嵌入式软件的开发涉及调试模式和固化模式两种运行状态。调试模式主要解决如何在目标板上调试正确性未经验证的程序的问题;而固化模式主要解决如何引导已调试成功的程序的问题。相应地,引导代码的设计应针对两种模式分别进行。
1调试模式的系统引导
1.1调试模式引导代码的作用
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)对处理器相关寄存器进行初始化:主要是关于处理器状态的寄存器(等),中断。时钟相关模块(等)。
(2)对BDM调试端口的初始化:包括调试使能寄存器DER.支持指令断点的寄存器ICTRL等。
(3)对片级。板级内存映射的初始化:包括内部内存映射寄存器IMMR,内存控制相关寄存器OR0~0~BR7等。它们主要功能是地址映射。片选信号选择。内存控制器选择()。如果选择UPM,由于UPM控制采用微指令方式,而这些微指令根据内存的不同(等),需要设计人员自行编写代码写入MPC860内部存储区相应位置。对于需要实时刷新的存储体(如SDRAM),还需设置刷新控制微指令。
上述初始化代码得以执行,一方面依赖于目标机MPC860提供的调试接口支持,另一方面也需要宿主机GDB的支持。对于宿主机系统,可能选择Linux,在其下配置GBD;也可以选择Windows2000,使用可视化的调试工具LambdaTools GDB(Coretek公司产品,不支持硬件断点),或者使用BDI2000(支持硬件断点的仿真器)。不管使用哪种调试工具,都可以使用该调试器能够识别的脚本文伯存放初始化指令。这些脚本在功能上是等效的,指令的描述一般都采用如下格式:操作码寄存器数值如在嵌入式Linux下SDRAM初始化的代码片断为:mpcbdm spr MDR=0x1FF77C35mpcbdm spr MDR=0xEFEABC34mpcbdm spr MDR=0x1FB57C35……而在Windows2000下使用BDI2000代码为:WUPM 0x00000005 0x1FF77C35WUPM 0x00000006 0xEFEABC34WUPM 0x00000007 0x1FB57C35……脚本描述的指令执行后,MPC860按照预先的设想进入一个可以正常工作的状态,可以用装载器将程序下载到SDRAM中调试执行。这个程序主要包含中断表。操作系统和应用程序映象两部分,其格式可以为等。图1给出了下载完毕后的内存映象。
当程序下载完成后,PC指针指向Image代码段(text段)的首条指令,可以利用调试器提供的命令开始调试。
2固化模式的系统引导
2.1概述
经过调试后,OS和上层应用程序构成的Image的正确性得到了保证,但是这个Image不能自主运行。因为调试模式下,是通过BDM接口初始化处理器,并且通过BDM接口将程序下载到RAM中去运行。实际应用环境中,Image必须被存储在非易失性存储器中,如等,本文选择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~0~BR7这十六个寄存器完成的。由于上电时4GB的地址空间均被Flash占用,所以0xFFF00100这个地址仍在Flash的偏移0x100处。在寄存器初始化过程中,需要把860内部寄存器空间以及外设等也映射进来。在进行这些操作前,需要把Flash的位置固定下来,例如映射到0xFE000000,这个操作是通过设置OR0和BR0寄存器实现的。但在写OR0时,CPU仍然在0xFFF00000的那一块取指令,而Flash即将被映射到0xFE000000块,所以程序必定出现“跑飞”的现象,必须对程序计数器(PC)进行调整,然而PC指针对程序员是不可见的,必须用跳转指令修改它。在Flash地址映射完成后,通过设置OR1~1~BR7可以完成对所有存储器空间的映射,各种存储设备可映射在CPU地址空间中的任意位置,但相互之间不能冲突。
2.3引导代码的构成和运行
系统启动所涉及的代码由寄存器初始化汇编文件start.s.一个Load程序以及操作系统与应用程序的Image三部分构成,引导代码则只包含start.s和Load程序。Load程序的作用是将操作系统与应用程序的构成的Image从Flash拷贝到SDRAM中,并跳转到Image的首条指令。
调试完成后的Image有两种运行模式:
Flash-resident image:Load程序仅仅把Image中的数据段(data+bss)复制到RAM中,代码段(text)在Flash中直接运行。
Flash-based image:Load程序把Image完全搬到RAM中执行,包括image中的代码段(text)和数据段(data+bss)。
图2和图3分别描述了两种Image的存贮映象,以及从Flash到SDRAM的装载过程。
2.4时间效率和空间效率上的折衷
在嵌入式系统的应用过程中,针对不同的应用环境,对时间效率和空间效率有不同的要求,基于MPC860的启动代码对此有比较充分的解决方案。
2.4.1时间限制
时间限制主要包括两种情况:系统要求快速启动和系统启动后要求程序高速执行。
对于要求快速启动的系统,应该使在Flash中执行的初始化程序尽量简短,诸如循环语句之类的语法应该尽量减少,尽快将程序装载到RAM中执行,这样做的原因在于Flash的访存时间与RAM的访存时间存在数量级上的差距。但是必须根据代码量以及存储器的特片进行权衡。因为,虽然RAM中捃速度快,但是将Flash中的代码复制到RAM中的操作会带来一定的开销。由于可见,启动时间由Flash中引导代码的运行时间。代码从Flash拷贝到RAM的时间以及RAM中后续启动代码的运行时间三部分组成。启动时间的最小值是这三者和的最小值。
对于启动后要求程序高速执行的系统,主要受处理器。存储器特性以及I/O速度等的影响。在软件方面,应该采用了上述Flash-based image方式,使得代码段在RAM中运行,提高运行速度。
2.4.2空间限制
空间限制主要包括两种情况:Flash等非易失性存储空间有限和RAM等易失性空间有限两种系统。
对于采用高性能非易失性存储器的系统,出于成本因素,Flash等存储设备不能太大,然而它又是系统存放启动代码和操作系统Image的地方。在存放Image时,可以先使用gzip等压缩工具进行压缩,在将Image加载到RAM时采用逆向的解压缩算法解压。同时,出于实时性考虑,压缩算法不能过于复杂,否则压缩解压过程消耗大量时间将与启动时间限制发生严重冲突。采用压缩策略并不一定会增加系统启动时间,因为压缩解压过程虽然消息了一定的时间,但是由于Image体积减小,由Flash复制到RAM中的时间相应减少,有可能反而减少了时间消耗。
对于采用高性能RAM的系统,同样出于成本因素,RAM空间有一定限制,此时一般采用前文描述的Flashresident image方式:Load程序把Image中的数据段复制到RAM中,代码段在Flash中运行。折衷同样存在,因为code段在低速的Flash中运行,在节省空间的同时,却牺牲了时间。
本文介绍了基于嵌入式处理器的操作系统引导方法,重点研究嵌入式系统的引导模式以及不同类别的引导方法。以在MPC860C处理器上引导CRTOSII操作系统为例,阐述了调试模式和固化模式下引导代码的构成。作用以及执行方式,并对不同引导模式下的时空效率的折衷进行了分析。最终,借助BDI2000仿真器对编写的引导代码进行调试,成功实现了调试模式和固化模式下操作系统的引导。后续工作包括:继续研究在不同硬件平台上的操作系统引导方法,例如最流行的ARM.X86系列;在同一平台上,可以研究不同操作系统的启动方法,例如嵌入式等。
上一篇:地基毕业论文
下一篇:物理大学论文题目