基于ARM和μC_OS-Ⅱ的嵌入式数据采集系统的研究.pdf

上传人:qwe****56 文档编号:71060480 上传时间:2023-01-31 格式:PDF 页数:72 大小:4.21MB
返回 下载 相关 举报
基于ARM和μC_OS-Ⅱ的嵌入式数据采集系统的研究.pdf_第1页
第1页 / 共72页
基于ARM和μC_OS-Ⅱ的嵌入式数据采集系统的研究.pdf_第2页
第2页 / 共72页
点击查看更多>>
资源描述

《基于ARM和μC_OS-Ⅱ的嵌入式数据采集系统的研究.pdf》由会员分享,可在线阅读,更多相关《基于ARM和μC_OS-Ⅱ的嵌入式数据采集系统的研究.pdf(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、中北大学硕士学位论文基于ARM和C/OS-的嵌入式数据采集系统的研究姓名:沈国华申请学位级别:硕士专业:电子信息技术及仪器指导教师:杨瑞峰20090525中北大学学位论文基于A R M 和g C O S I I 的嵌入式数据采集系统的研究摘要随着计算机技术的迅猛发展与后P C 时代的到来,嵌入式系统已成为计算机领域的一个重要组成部分,并成为近年来新兴的研究热点。现今的嵌入式应用对嵌入式设备的性能提出了更高的要求,8 1 6 位单片机所能提供的系统性能已经显出不足。A R M 7 T D M I是一种高效,低功耗的R I S C 处理器。而S 3 C 4 4 B O X 就是以该内核为核心的一款

2、芯片,它集成了许多外围设备,非常适合做嵌入式产品。论文主要研究基于A R M 处理器和l x C O S I I 操作系统的嵌入式数据采集系统设计,主要内容包括以下几方面:(1)介绍了A R M 7S 3 C 4 4 B O X 体系结构和B o o t L o a d e r 的概念,并在参考开源B o o t L o a d e r 的基础上进行了B o o t L o a d e r 的设计与实现;(2)深入研究了I C O S I I 的概念、特点,分析了p c o s I I 在A R M 处理器上移植所需的条件,并经过剪裁后成功移植到A R M 处理器上:(3)介绍了A D、多串1

3、:3 扩展、L C D 和键盘4 个模块的硬件工作原理,着重开发了这4 个模块的驱动程序,并通过实验验证了多串口扩展、L C D 和键盘这3 个模块的工作稳定性;(4)在A R MS 3 C 4 4 8 0 X 和I x C O S I I 操作系统基础上,设计了多任务来实现4 通道的数据采集。经过对采集数据的分析和系统的运行,可以验证本数据采集系统运行的高效性和稳定性。关键词:嵌入式系统,S 3 C 4 4 B O X,I x C O S I I,数据采集,B o o t L o a d e r中北大学学位论文R e s e a r c ho nE m b e d d e dD a t aA

4、 c q u i s i t i o nS y s t e mB a s e do nA R Ma n dp C O S-I IA B S。l R A C。l W i t ht h eh i g h-s p e e dd e v e l o p m e n to fc o m p u t e rt e c h n o l o g ya n dt h ec o m i n go ft h ep o s t-P Ce r a,e m b e d d e ds y s t e mh a sb e c o m eav e r yi m p o r t a n tp a r to fc o m p u

5、t e rs c i e n c ea n db e c o m e san e wt e c h n i c a lf o c u s M e a n w h i l e,p l e n t yo ft h ee m b e d d e da p p l i c a t i a n sn o w a d a y sc a l lf o rb e t t e rp e r f o r m a n c ea n df u n c t i o n a l i t y T h es y s t e mp e r f o r m a n c eo f8 16-b i tm i c r o c o n

6、t r o l l e rC a n tm e e tt h a td e m a n d A R M 7 T D M Ii sa l le f f i c i e n ta n dl o w-p o w e rR I S CC O r e B a s e do nt h i sc o r e,S 3 C 4 4 B O Xh a si n t e g r a t e dm a n yd e v i c e s,a n di ti ss u i tf o rp r o c e s s o ri ne m b e d d e ds y s t e m Ad a t aa c q u i s i

7、t i o ns y s t e mb a s e do nA R Mp r o c e s s o ra n d t C O S I Io p e r a t i o ns y s t e mi ss t u d i e di nt h ed i s s e r t a t i o n 1 1 1 em a i nc o n t e n tc a l lb es u m m a r i z e da sf o l l o w s:(1)ms y s t e mc o n f i g u r a t i o no fA R M 7S 3 C 4 4 B O Xa n dt h ec o n c

8、 e p to fB o o t L o a d e ra l ed e s c r i b e d,a n dt h eB o o t L o a d e ri sd e s i g n e do nr e f e r e n c eo fo p e n-s o u r c eB o o t L o a d e r(2)T h en o t i o na n dc h a r a c t e r i s t i ca b o u tp C O S-I Ia l er e s e a r c h e da n dt h ec o n d i t i o n sa b o u tp C O S

9、I It r a n s p l a n t i n gi nA R Mp r o c e s s o ra l ea n a l y z e d T h e n,t h ep c o s-I Ii st r a n s p l a n t e ds u c c e s s f u l l yi n t oA R Mp r o c e s s o r(3)T h ew o r k i n gp r i n c i p l e so fA D,m u l t i-s e r i a lp o r t s,L C Da n dk e y b o a r dm o d u l e sa l ei n

10、 t r o d u c e d,a n dt h ed r i v e r so ft h e s ef o u rm o d u l e sa r ed e s i g n e d E x p e r i m e n t sp r o v et h ep e r f o r m a n c eo ft h e s em o d u l e st ob es t e a d y(4)O nt h eb a s eo fA R MS 3 C 4 4 B O Xa n dp C O S I Io p e r a t i o ns y s t e m,m u l t i-t a s kf o ri

11、 m p l e m e n t i n gf o u r-p a t hd a t aa c q u i s i t i o nf u n c t i o ni sd e s i g n e d A f t e rt e s t i n ga n da n a l y z i n gt h ed a t a,t h es y s t e mi sp r o v e dt ob ee f f i c i e n ta n ds t a b l e K e yw o r d s:E m b e d d e dS y s t e m,S 3 C 4 4 B O X,p C O S I I,D a

12、t aA c q u i s i t i o n,B o o t L o a d e rI I原创性声明本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下,独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。论文作者签名:i 垒旦望日期:2 0 0 毒。j a _关于学位论文使用权的说明本人完全了解中北大学有关保管、使用学位论文的规定,其中包括:学校有权保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手段复制并保

13、存学位论文;学校可允许学位论文被查阅或借阅:学校可以学术交流为目的,复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。签名:i 塾塑笙导师签名:芏歪聋埠日期:墨!兰:呈上日期:型2 羔:竺中北大学学位论文1 1 嵌入式系统的研究背景、意义第一章绪论自1 9 4 6 年电子计算机诞生以来,在相当长的一个时期里,计算机始终是一种供养在技术极高的、价格极其昂贵的特殊机房中实现数值计算的大型昂贵设备。直到2 0 世纪7 0 年代,由于微处理器的出现,才使计算机的应用出现了历史性的变化n 1。以微处理器为核心的微型计算机,以其小型、价廉、高可靠性及具有高速数

14、值解算能力的特点,迅速引起了自动控制领域专业人员的极大兴趣和关注。因为把微型机嵌入到一个对象体系(如汽车、火箭等)中,可以很方便地实现这个对象体系的智能化控制。继桌面计算机之后,最重要的I T 技术产业莫过于嵌入式系统了。目前,嵌入式系统的应用技术已成为通信和消费类产品的共同发展方向。在现代生活中,几乎所有设备上都有嵌入式系统的应用,例如掌上P D A、电视机的机顶盒、移动电话、数字电视、自动售货机等。显然,嵌入式系统的这些应用对于提高人们的生活质量做出了极大的贡献,同时也深刻地影响了人们的生活方式。(1)嵌入式系统的定义根据I E E E(国际电气和电子工程师协会)的定义,嵌入式系统是“控制

15、、监视或辅助设备、机器和车间运行的装置”(原文为:d e v i c e su s e dt oc o n t r o l,m o n i t o r,o ra s s i s tt h eo p e r a t i o no f e q u i p m e n t,m a c h i n e r yo rp l a n t s),这主要是从应用上加以定义的。不过,上述定义并不能充分体现出嵌入式系统的精髓。目前,国内一个普遍被认同的定义是:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的微型专用计算机系统嘲嘲。嵌入式系统一般指非P C 系

16、统,它包括硬件和软件两部分。硬件包括处理器微处理器、存储器及外设器件和I O 端口、图形控制等。软件部分包括操作系统软件(要求实时性和多任务操作)和用户应用程序岱1,设计人员把这两种软件组合在一起。其中的应用程序控制着系统的运行和行为,而操作系统起到应用程序与硬件资源交互的作用。(2)嵌入式系统的特点中北大学学位论文从前面对嵌入式系统所作的定义,可以看出,嵌入式系统具有以下几个重要特征:嵌入式系统无所不在嵌入式技术广泛应用于自动控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事、消费等各个领域。嵌入式系统几乎存在于我们的周围各种电器设备中,在数量上远远超过了各种通用计算机。嵌入式系统是完成专

17、用功能的最小系统嵌入式系统不仅和通常P C 机上的应用系统不同,而且在嵌入式系统针对不同的具体应用时,它们之间的区别也很大。嵌入式系统大多功能单一,用来完成某种具体应用,在兼容性方面要求不高,但是在大小、成本方面限制较多,要求硬件、软件都要发挥最高效率,可靠性高,力争以最小系统达到最高性能1。嵌入式系统对软件的要求由于嵌入式产品要求体积小,可靠性高,一般不具有硬盘等大容量存储设备。而且由于成本的限制,嵌入式系统软件一般固化在容量较小的F l a s h 存储器中。这就要求软件代码具有较高的质量和可靠性,有的系统还要求软件具有实时处理能力砸7 1。嵌入式系统的开发环境和开发工具由于嵌入式系统自身

18、没有足够的资源,不具备自主开发能力,所以一般嵌入式系统的开发模式是作为目标机的嵌入式系统与作为宿主的主机相连接,构成交叉开发环境。另外,还需要编译器、链接器等作为开发工具。1 2 国内外发展状况1 2 1 嵌入式系统发展状况到目前为止,嵌入式系统的发展伴随着嵌入式操作系统的发展经历了以下四个比较明显的阶段陋n 1:第一阶段是无操作系统的嵌入式算法阶段,是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系

19、统结构和功能都相2中北大学学位论文对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格低廉,以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介质的现代化工业测控系统和新兴的信息家电等领域的需求。第二阶段是以嵌入式C P U 为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:C P U 种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统

20、为核心的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(A P I),开发应用程序简单;嵌入式应用软件丰富。第四阶段是以基于I n t e m e t 为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于I n t e r a c t 之外,但随着I n t e m e t 的发展以及I n t e m e t 技术与工业数据采集技术、信息家电等结合日益密切,嵌入式设备

21、与I n t e m e t 的结合将代表着嵌入式技术的真正未来。1 2 2 嵌入式数据采集发展状况数据采集是指将温度、压力、流量、位移等物理量采集、转换成数字量后,由计算机进行存储、处理、显示或打印的过程;相应的系统,称之为数据采集系统。数据采集系统起始于2 0 世纪5 0 年代,1 9 5 6 年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员进行操作,并且测试任务是由测试设备高速自动控制完成的。由于这种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。在2 0 世纪6 0 年代后期,国外就有

22、成套的数据采集设备进入市场。到7 0 年代中后期,随着微型机的发展,诞生了采集器、仪表同计算机融为一体的数据采集系统。这为嵌入式数据采集系统进一步的发展奠定了基础。继而8 0 年代随着计算机的普及应用,数据采集系统得到了极大的发展,开始出现了通用的数据采集与自动测试系统n 2 1 3 1。主要有两类:一类以仪3中北大学学位论文器仪表和采集器、通用接口总线和计算机等构成。第二类以数据采集片、标准总线和计算机构成。2 0 世纪9 0 年代至今,数据采集技术已经在军事、航空电子设备及宇航技术、工业等领域被广泛应用。由于大规模集成电路技术的不断提高,出现了高性能、高可靠性的单片数据采集系统。该阶段并行

23、总线数据采集系统向高速、模块化和即插即用方向发展,典型系统有V X I 总线系统,P C I、P X I 总线系统等,数据位已达到3 2 位总线宽度,采样频率可以达到1 0 0 M S P S。串行总线数据采集系统向分布式系统结构和智能化方向发展,可靠性不断提高。2 0 世纪7 0 年代自以太网诞生以来,工业控制总线有了长足的进步,通信速率由1 0 M 提高到1 0 0 M,1 0 0 0 M 甚至1 0 G。在嵌入式系统中,将数据采集和网络结合起来,基于T C P I P 协议,可以把数据采集与工控方案变得透明,使生产的数据采集与工厂的各种控制设备和计算机设备间实现透明传输数据。同时使用户真

24、正可以享受最新I T 技术带来的各种好处,使企业的生产系统、E R P 系统、L V I E S 系统透明实现了无缝的连接,也为制造业用户未来的电子商务应用提供了生产控制系统的基础。1 2 3 嵌入式数据采集系统的应用随着计算机技术及微电子技术渗透到数据采集、处理领域,该领域的面貌发生了日新月异的变化。相继出现的包含数据采集、处理功能的智能仪器、总线仪器和虚拟仪器等微机化仪器,都无一例外地利用计算机的软件和硬件优势,既增加了系统功能,又提高了技术性能。数据采集、处理与计算机技术紧密的结合已是当前该领域发展的主潮流。配以相应的软件和硬件,计算机能够完成许多仪器、仪表的数据采集、数据处理及其它功能

25、。在生产过程中,数据采集系统的应用可对生产现场的工艺参数进行采集、监视和记录,能够有效提高产品质量、降低成本;在科学研究中,数据采集系统的应用可获得大量的动态信息,这为研究瞬间物理过程提供了有力的工具,这也是获取科学奥秘的重要手段之一。现阶段以I n t e m e t 为代表的网络技术的出现,为数据采集、测量及仪器技术带来了前所未有的发展空间和机遇,网络化数据采集技术与具备网络通讯功能的新型采集、处理系统应运而生。把T C P I P 协议作为一种嵌入式的应用,嵌入到现场智能仪器中,使信号的收、发都以T C P I P 方式进行,这样,测控系统在数据采集、信息发布、系统集成等方面都与I n

26、t e m e t 互联,便于实现测控网和信息网的统一,形成具有开放性、可互4中北大学学位论文操作性、分散性、网络化、智能化的系统,在这种系统中,传统仪器设备充当着网络中独立节点的角色,信息可传输至网络所及的任何领域,实时、动态(包括远程)的在线测控成为现实。这类网络将会具有和信息网络相似的体系结构和通信模型。但网络的功能将远远大于系统中各独立个体功能的总和。例如,在这种网络系统中,可以实现高档采集、测量设备以及信息处理的地区性、全国性乃至全球性资源共享,可以实现远程设备的故障诊断和控制等功能。总之,不论在哪个应用领域中,数据采集与处理越及时,工作效率就越高,取得的经济效益也就越大n 钔。1

27、3 研究内容论文研究的主要内容是为A R M 嵌入式数据采集系统设计启动程序B o o t L o a d e r,并实现-t C O S I I 实时操作系统在A R M 7 微处理器上的移植,最后在I _ t C A 3 S I I 操作系统下编写多任务系统实现多路A D 数据采集。做为研究小组的主要成员之一,本人在研究小组中负责嵌入式软件的研发,主要研究的内容有:(1)学习了A R M 7S 3 C 4 4 B O X 体系结构和嵌入式系统的B o o t L o a d e r 基本概念、主要功能等,总结B o o t L o a d e r 的一些共性内容,设计了系统的启动程序B o

28、 o t L o a d e r;(2)深入研究了嵌入式实时操作系统 t C O S I I 的体系结构以及剪裁与移植的条件,并详细说明了 t C O S I I 的移植过程;(3)详细设计了A D 转换、多串1:3 扩展、L C D 和键盘四个模块功能,编写了各模块的驱动程序,并通过实验验证了这四个模块工作的稳定性。(4)在嵌入式实时操作系统I 且C A)S I I 下编写数据采集任务,通过实验来验证系统运行的稳定性。5中北大学学位论文第二章A R M 体系结构与B o o t L o a d e r 的设计与实现2 1A R M 处理器结构A R M 是A d v a n c e dR I

29、 S CM a c h i n e s 的缩写,A R M 公司1 9 9 1 年成立于英国剑桥,专门从事基于R I S C 技术芯片的设计和开发,主要出售A R M 技术知识产权(I n t e l l i g e n c eP a t e n t,简称I P)核的授权。作为一家I P 核供应商,A R M 公司本身不直接从事芯片生产,通过转让设计许可,由合作公司根据各自不同的应用领域,加入适当的外围电路,形成自己的A R M 微处理器芯片进入市场。A R M 公司设计的芯核具有功耗低、成本低等显著优点,因此获得了众多半导体厂家和整机厂商的大力支持,目前设计和生产A R M 芯片的国际大公司

30、己经超过5 0 家;国内,中兴通讯和华为通讯等公司也已经购买A R M 公司的芯核,用于通讯专用芯片的设计。此外,A R M 芯片还获得了许多实时操作系统供应商的支持,比较知名的有:W i n d o w sC E,L i n u x,p S O S,V x W r o r k s,N u c l e u s,E P O C,I t C O S I I 等。目前,基于A R M 技术的微处理器(以下简称A R M 微处理器)应用约占据了3 2 位R I S C 微处理器7 5 以上的市场份额,遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各个领域。目前比较流行的A R M 芯核有

31、A R M 7 T D M I,S t r o n g A R M,A R M 7 2 0 T,A R M 9 T D M I,A R M 9 2 2 T,A R M 9 4 0 T,A R M 9 4 6 T,A R M 9 6 6 T 等。A R M 7 T D M I 是公司授权用户最多的一项产品,它把A R M 7 指令集同T h u m b 扩展指令集组合在一起,大大减少内存容量和系统成本,己广泛用于工业控制、移动通信、I n t e m e t 设备、网络和调制解调器设备等多种媒体和嵌入式应用之中。论文所选用的S a m s u n gS 3 C 4 4 B O X 微处理器就隶属

32、于A R M 7 T D M I,它采用A R Mv 4 T(N e w m a n)结构,三级流水线处理,具有空间统一的指令与数据C a c h e,平均功耗0 6 m W M H z,时钟速度6 6 M H z,每条指令平均执行时间1 9个时钟周期,并利用嵌入式I C E 调试技术简化了系统设计。6中北大学学位论文2 2S 3 C 4 4 B O X 微处理器简介2 2 1S 3 C 4 4 B O X 的特性S 3 C 4 4 B O X 是S a m s u n g 公司推出的1 6 3 2 位R I S C 处理器,目的是为手持设备和一般类型应用提供高性价比和高性能的微控制器解决方案

33、。为了降低成本,S 3 C 4 4 B O X 提供了丰富的内置部件,包括8 K b 的C a c h e,内部S R A M,L C D 控制器,带自动握手的2通道U A R T,4 通道D M A,系统管理,代用P W M 功能的5 通道定时器,I O 端口,R T C,8 通道的1 0 位A D C,I I C 总线接口,I I S 总线接口,同步S I O 接口和P L L 倍频器。S 3 C 4 4 B O X的芯片特性,来自S a m s u n g 公司的数据手册n 副,该手册可以从网上下载。S 3 C 4 4 B O X 采用了A R M 7 T D M I 内核,0 2 5

34、u r n 工艺的C M O S 标准宏单元和存储编译器。S 3 C 4 4 B O X 通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器外的元器件配置,从而最小化系统成本。以下对S 3 C 4 4 B O X 片上功能作简要介绍。2 5 VA R M 7 T D M I 内核,带有8 K 高速缓存,主频高至6 6 M H z;外部存储器控制器(F P E D O S D R A M 控制,片选逻辑);L C D 控制器(最大可支持2 5 6 色S T N,L C D 具有专用D M A);2 通道通用D M A、2 通道外设D M A,并具有外部请求引脚;2 通道U A R T(

35、带有握手协议,支持I r D A l 0,具有1 6 B Y T EF I F O)和1 通道S l O t1 通道多主I I C 总线控制器;1 通道I I S 总线控制器;5 个P W M 定时器和1 通道内部定时器;看门狗定时器;7 1 个通用I O;8 通道外部中断资源;功耗控制具有普通、慢速、空闲和停止4 种模式;8 通道1 0 位A D C 输入;具有日历功能的实时时钟(I 汀C);具有P L L 的片内时钟发生器:7中北大学学位论文工作电源:内核2 5 v,I O 口:3 0 v 到3 6 v;封装:16 0 L Q F P 16 0 F B G A;2 2 2S 3 C 4 4

36、 B O X 的内部结构图S 3 C 4 4 B O X 内部结构如图2 1 所示:2 2 3 系统硬件设计图2 1S 3 C 4 4 B O X 内部结构系统硬件电路的设计由两层电路板组成:底层核心板和上层扩展板。底层核心板主要是由A R M 主处理器S 3 C 4 4 B O X、F L A S H 和S D R A M 存储器、2 4 路A D 转换器、L C D液晶显示器、4 x 4 键盘以及其它外围电路组成。而上面的扩展板主要由8 路串口(两片4路串1 2 1 转换芯片)和F P G A 组成。系统功能框图如图2 2,具体实物图如图2 3(钡t J 试板)所示:8中北大学学位论文自-

37、f 目#k;=0l”自=;l 时钟自镕b 穹s D R 旧r 一旧l T A G 旧图2 2 系统功能框图2 3 B o o t L o i d e r 概述图2 3 测试板实物图启动程序(B o o t l o a d e r)就是在操作系统内核运行之前运行的一段程序,相当于P c 机的B I O S。在嵌入式系统的应用中,它起着举足轻重的作用。通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。B o o t L o a d 口一般要实现的功能如下1四个方面:1)初始化C P U、存储器、存储器配置寄

38、存器以及串口等;2)激括指斜数据9中北大学学位论文C a c h e、建立堆栈指针、建立启动参数区、构造参数结构和标识列表;3)通过上电自检,识别存在哪些设备,并报告异常,提供对电源管理中休眠恢复的支持;4)跳转到内核起始处,启动系统。大多数B o o t L o a d e r 都包含两种不同的操作模式:启动加载模式(B o o tl o a d i n g)和下载模式(D o w n l o a d i n g)。启动加载模式也称为自主(A u t o n o m o u s)模式,也即B o o t L o a d c r 从目标机上的某个固态存储设备上将操作系统加载到R A M 中运行

39、,整个过程并没有用户的介入。这种模式是B o o t L o a d e r 的正常工作模式,在嵌入式产品发布的时侯,B o o t L o a d e r必须工作在这种模式下。在下载模式下,目标机上的B o o t L o a d c r 将通过串口连接或网络连接等通信手段从主机(H o s t)下载文件,比如下载内核映像等。从主机下载的文件通常首先被B o o t L o a d c r 保存到目标机的R A M 中,然后再被B o o t L o a d e r 写到目标机上的F L A S H 类固态存储设备中。B o o t L o a d e r 的这种模式通常在第一次安装内核时被

40、使用;此外,以后的系统更新也会使用B o o t L o a d e r 的这种工作模式。工作于这种模式下的B o o t L o a d e r 通常都会向它的终端用户提供一个简单的命令行接口。这两种模式的区别仅对于开发人员才有意义,从最终用户的角度看,B o o t L o a d e r 的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别n 力n 引。目前市场上有很多公司都有自己的B o o t L o a d e r,比较著名的开源B o o t L o a d e r 有:L I L O、G R U B、B l o b、U b o o t、R e d B o

41、 o t 以及M i c r o M o n i t o r 等n 引。这些B o o t L o a d e r 主要针对L i n u x 操作系统,而本人这次所参与的研究课题要求移植 t C A 3 S I I 操作系统,上面提到的B o o t L o a d e r 很难直接移植过来,因此本人在参考了这些B o o t l o a d e r 的基础上,自行设计了一款B o o t L o a d e r,其设计更侧重于代码的可移植性和通用性。2 4B o o t L o a d e r 的设计2 4 1B o o t L o a d e r 总体设计结构为了提高B o o t L

42、o a d e r 的可重用性和可移植性,一般将B o o t L o a d e r 程序分为两个阶段啪2。将与硬件密切相关,不便于移植的部分放在第一个阶段s t a g e l,主要以汇编语言编写。将与硬件无关,比较容易移植的部分放到第二个阶段s t a g e 2,以C 语言编写,这样可以实现复杂的功能,而且代码会具有更好的可读性和可移植性。设计流程图见图1 0中北大学学位论文2 4 所示:第一阶段第二阶段图2 4B o o t l o a d e r 总体设计流程图第一阶段具体包含以下内容:(1)建立中断向量表;(2)硬件设备初始化:(3)设置堆栈;(4)跳转到第二阶段的C 语言入口点

43、,开始第二阶段初始化和系统引导;第二阶段具体包含以下内容:(1)初始化将要用到的硬件设备;(2)加载内核:(3)跳转到内核入1:3处运行操作系统。2 4 2 初始化代码这里设计B o o t L o a d e r 第一阶段的汇编初始化程序,它主要完成以下的一些功能胁1:硬件设备初始化;建立异常中断向量表;初始化堆栈;跳转到第二阶段的C 语言入口点,开始第二阶段初始化和系统引导。1 定义寄存器常量首先要把初始化代码中用到的寄存器地址赋给字符常量,比如禁止看门狗中断时,要用到看门狗控制寄存器,它在A R M 处理器中地址是0 x 0 1 D 3 0 0 0 0。在B o o t L o a d

44、e r 中,首先将看门狗控制寄存器地址赋给W T C O N 常量,以后要用到此看门狗寄存器时,直接中北大学学位论文引用W T C O N 即可。另外,还有对各种模式的常量预定义。初始化程序用到的一些特殊寄存器和预定义常量如下(只列出处理器预定义常量,具体常量定义可以参考S 3 C 4 4 B O X文档):产处理器预定义常量U S E R M O D EE Q U0 x 1 0;用户模式F I Q M O D EE Q UO x l l;F I Q 模式I R Q M O D EE Q U0 x 1 2;I R Q 模式S V C M O D EE Q U0 x 1 3;管理模式A B O

45、R T M O D EE Q U0 x 1 7;中止模式U N D E F M O D EE Q U0 x l b;未定义模式M O D E M A S KE Q U0 x l f;模式屏蔽N O I N TE Q U0 x c 0:无中断完成上述定义之后,程序执行首先从E N T R Y 入口进入,这是汇编程序的入口标志,B o o t L o a d e r 的入口程序如下:削 冱AI n k,C O D E,R E A D O N L YE N T R YbR e s e t H a n d l e r;此指令定位在0 起始的地址bH a n d l e r U n d e f;处理未定

46、义异常bH a n d l e r S W I;处理S W I 中断bH a n d l e r P a b o r t;处理预取指中止bH a n d l e r D a b o r t;处理数据中止b;保留段bH a n d l e r l R Q;O k 理I R Q 中断bH a n d l e r F I Q;处理F I Q 中断进入E N T R Y 后的第一条指令是“bR e s e t H a n d l e r ,这是一个分支跳转指令,系统上电和重起后均进入R e s e t H a n d l e r 子函数完成下面几个硬件初始化任务:禁止看门狗、禁止中断、设置处理器时钟和

47、设置存储器控制器等,执行这些操作时所有中断都是禁止的。在A D S 集成开发环境中调试初始化程序,程序入口点如图2 5 所示:1 2中北大学学位论文图2,5 程序入口2 硬件初始化这是B o o t L o a d e r 一开始就执行的操作,其目的是为第二阶段的执行以及随后的内核执行准备好一些基本的硬件环境。通常包括以下的代码:禁止看门狗R e s e t H a n d l e rl d rr 0,-W T C O Nl d rr 1=0 x 0s t rr l,【r 0】禁止所有中断B o o t L o a d e r 执行的全部过程中可以不需要响应任何中断。通过写C P U 的禁止中

48、断屏蔽寄存器或状态寄存器,来禁止中断。通常在0 x 0 1 E 0 0 0 0 C 写入O x 0 7 F F F F F F 来完成。l d rr 0,-I N T M S Kl d rr l,=0 x 0 7 f i 附T fs 仃r 1,呷】设置时钟控制寄存器l d rr 0,=L O C K T I M El d rr l,-O x f i ts 仃r 1,r o】【P L L O N S T A R T中北大学学位论文l d rr 0,=P L L C O N;t e m p o r a r ys e t t i n go fP L Ll d rr l,-(M _ D I V I2)

49、+(P _ D I V L D R C Cr 2,【r 0】+A D Dr 0,r 0,私S T R C Cr 2,【r 1 ,辫;一S T R C Cr 2,【r l】+A D Dr l,r l,辫B C CB O1L D Rr l,=l l m a g e$Z I$L i m i t|;T o po fz e r oi n i ts e g m e n tM O Vr 2,撑O2C M Pr 3,r l;Z e r oi n i tS T R C Cr 2,I t 3】,躺B C CB 2I I m a g e$R O$L i m i t l、l I m a g e$R W$B a s e

50、 l 和I l m a g e$Z I$B a s e 等标号的值是根据集成开发环境A D S 软件连接器对R O B a s e 和R W B a s e 的设置来计算得到的,在编译链接的时候会根据编写的程序,把它们转换成用来对各个段定位的地址信息。5 建立异常中断向量表异常中断向量表(E x c e p t i o nV e c t o rT a b l e)是B o o t L o a d e r 与操作系统发生联系的地方。即使操作系统内核已经得到处理器的控制权,一旦发生中断,处理器还是会自动跳转到从0 x 0 地址开始的异常中断向量表的某个位置(根据中断类型而定)处读取指令,然后运行。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁