基于NET+50 ARM7的DeltaOS操作系统内核移植.pdf

上传人:qwe****56 文档编号:74646063 上传时间:2023-02-27 格式:PDF 页数:5 大小:411.58KB
返回 下载 相关 举报
基于NET+50 ARM7的DeltaOS操作系统内核移植.pdf_第1页
第1页 / 共5页
基于NET+50 ARM7的DeltaOS操作系统内核移植.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《基于NET+50 ARM7的DeltaOS操作系统内核移植.pdf》由会员分享,可在线阅读,更多相关《基于NET+50 ARM7的DeltaOS操作系统内核移植.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、A R M 开发与应用中文核心期刊微计算机信息(嵌入式与S O C)2 0 0 6 年第2 2 卷第9-2 期文章编号:1 0 0 8 0 5 7 0(2 0 0 6)0 9 20 1 1 60 3基于NE T+5 0A RM7 的D el t aOS 操作系统内核移植D e l t a O SO p e r a t i n gS y s t e mK e r n e lP o r t i n go nN E T+5 0A R M 7B a s e dP|a t|o r m(北京理工大学)王磊陈朔鹰朱明远W a n g,L e iC h e n,S h u o y i n gZ h u,M i

2、 n g y u a n摘要:嵌入式实时操作系统内核的移植是嵌入式系统开发的瓶颈之一。本文以D e l t a O S 操作系统为例,讨论如何对嵌入式实时操作系统的内核进行移植,同时分析了操作系统的可移植性,并总结了一些内核移植的规律。本文还特别对开发过程中遇到的一些具体问题专门进行了分析,并提出一些解决问题的方法。关键词:内核移植;操作系统;嵌入式系统;实时中图分类号:T P 3 1 6 2文献标识码:AA b s t r a c t:W i t ht h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y,e

3、m b e d d e ds y s t e mh a sb e e nu t i l i z e di nv a r i o u sa r e a s,a n dt h em a r k e tf o re m b e d d e dr e a lt i m eo p e r a t i n gs y s t e mh a sc o n t i n u o u s l yi n c r e a s e d T h ek e r n e lp o r t i n go fr e a l-t i m eo p e r a t i n gs y s t e mi sj u s to n eo ft

4、 h eb o t t l e n e c k sd u r i n ge m b e d d e ds y s t e md e v e l o p m e n t S of a r,t h es p e e do fk e r n e lp o r t i n gi Sal i t t l eb i ts l o wa n dc o u l dn o tm e e tt h er e a ln e e d s T a k i n gD e l t a O So p e r a t i n gs y s t e ma sa ne x a m p l e,t h ep a p e rm a i

5、 n l yd i s c u s s e dh o wt op o r tt h ek e r n e lo fa ne m b e d d e dr e a lt i m eo p e r a t i n gs y s t e m,a n da n a l y z e dt h ep o r t a b i l i t yo fo p e r a t i n gs y s t e ma n ds u m m a r i z e dt h er e g u l a t i o no fk e r n e lp o r t i n gt og u i d el a t e rw o r ka

6、n di m p r o v ep e r f o r m a n c e T b et h e s i se s p e c i a l l ya n a l y z e dt h ep r o b l e mm e ti nt h ed e v e l o p m e n ta n dp r o p o s e ds e v e r a ls o l u t i o n s K e yw o r d:K e r n e lP o r t i n g,O p e r a t i n gS y s t e m,E m b e d d e dS y s t e m,R e a l t i m e

7、1 引言一个优秀,成熟的嵌入式实时操作系统的诞生需要耗费大量的人力,物力和财力,因此对优秀的嵌入式实时操作系统进行移植,让其在更广泛的领域发挥作用是十分必要的。但是,目前操作系统内核移植的速度比较缓慢,不能够满足实际的需要。这就要求我们寻找出一些操作系统内核移植的规律,提高移植的效率。2 内核移植的分析2 1 内核移植简介一般来说,嵌入式实时操作系统自下而上包含三个部分:硬件环境,嵌入式操作系统和嵌入式实时应用程序。为了使嵌入式操作系统在各种不同的硬件环境下都能较好的工作,就需要将嵌入式操作系统中与硬件相关的部分相对独立出来,形成一个单独的层次。通过特定的上层接口与操作系统内核进行交互,向操作

8、系统提供底层的硬件信息,并根据操作系统的要求完成对硬件的直接操作。这一层次的独立性也就决定了该嵌入式操作系统的可移植性。由于这一层次屏蔽了底层硬件的多样性,操作系统内核不再直接面对具体的硬件环境,而是面向由这个中间层次所代表的逻王磊:硕士研究生辑硬件环境,因此通常把这一层次叫做硬件抽象层H A L(H a r d w a r eA b s t r a c t i o nL a y e r),在嵌入式领域中通常也叫做板级支持包B S P(B o a r dS u p p o r tP a c k a g e)。硬件抽象层的引人大大推动了嵌入式实时操作系统的通用化,从而为嵌入式系统的广泛应用提供了

9、可能,所以操作系统内核移植工作中最主要的内容就是改写B S P。B S P 由于在系统中的特殊位置而具有硬件相关性和操作系统相关性。在实现上,B S P 包括了系统中大部分与硬件相关的软件模块。在功能上包含两部分:系统初始化及与硬件相关的设备驱动。系统初始化完成的基本功能有:对M P U 进行低级初始化,对目标机的硬件进行初始化,加载操作系统。2 2 设备驱动程序设备驱动程序是设备提供给操作系统和应用软件的一套接口,主要负责对硬件寄存器的读写操作和设备的逻辑控制。它把操作系统和应用软件与设备隔离开来,屏蔽了硬件的细节,方便了用户对设备的读写和控制。同时它也使得一种硬件设备只要配备不同的驱动程序

10、,就可以在不同的系统上使用;一种操作系统只要配备不同的驱动程序,就可以使用不同设备。设备驱动程序是内核的一部分,它完成以下的功能:(1)对设备初始化和释放;(2)把数据从内核传送到硬件和从硬件读取数据;1 1 6 3 6 0 元,年邮局订阅号:8 2-9 4 6 万方数据A R M 开发与应用f 3)读取应用程序传送给设备文件的数据和回送应用程序请求的数据;f 4 1 检测和处理设备出现的错误。2 3 移植的可行性作为一个优秀的嵌入式实时操作系统的内核,D e l t a C O R E 具有以下一些特点。f 1)结构简捷,灵活。在设计上,D e l t a C O R E 采用三层软件体系结

11、构,从下至上为硬件抽象层,内核层和应用层。硬件抽象层向上对内核层提供抽象的硬件操作,向下操作具体的目标硬件;内核层为应用程序提供任务管理,同步,通信与互斥机制,中断及内存管理等各种服务;在应用层,开发人员通过系统调用接口使用内核层的服务。(2)可配置性。利用北京某公司提供的L a m b d a 开发工具,开发人员可根据应用程序的需求,对D e l t a C O R E 提供的各种参数进行配置。(3 1 代码支持。D e l t a C O R E 9 0 以上的代码用C 语言编写,只有在启动代码以及一些对速度,实时性要求较高的地方采用了汇编语言。由于在设计D e l t a C O R E

12、 的时候已经考虑了可移植性的问题,所以其函数都具有可重入性。以上二的这些特点都表明D e h a C O R E 具有良好的可移植性。2 4 移植环境软件环境:北京某公司的嵌入式实时操作系统内核D e h a C O R E硬件环境:N e t S i l i c o n 公司的3 2 位A R M 片上系统(S y s t e mO n C h i p)N E T+5 0开发环境:北京某公司的L a m b d a T o o l s(包括L a m b d a l D E,L a m b d a G C C和L a m b d a G D B)以及B D l 2 0 0 0 J T A G

13、 调试器3 内核移植的实现嵌入式实时操作系统内核D e l t a C O R E 的移植工作主要分为两个阶段:调试代理L a m b d a T R A 的修改阶段和B S P 的修改阶段。3 1L a m b d a T R A 的修改与调试L a m b d a T R Af L a m b d aT a r g e tR O MA g e n t),即L a m b d a 目标监控器。目标监控器是调试器对目标机上运行的应用程序进行控制的代理程序,事先被固化在目标机的F l a s hM e m o r y,硬盘或启动软盘中在目标机上电后自动启动目标机。并等待宿主机方调试器发来的命令,

14、配合调试器完成应用程序的下载,运行和基本的调试功能。f 1)B O O T 启动B O O T 启动程序的基本功能包括对M P U 的低级初始化,对目标机的硬件进行初始化,加载操作系统。B O O T 启动程序的编写是操作系统内核移植的第一步也是最重要的一步。如果B O O T 启动程序不能够使目标机的硬件正常工作起来,那么内核移植就没有办法进行下去。硬件系统上电时,硬件特别是内存没有初始化,C函数库没有装入内存,系统此时不支持c 语言程序,只支持它自己的3 2 位汇编指令,所以B O O T 启动程序只能用汇编指令来初始化硬件。在成功初始化存储器和建立堆栈之后,就可以调用c 语言函数了。(2

15、)存储器初始化存储器的初始化是整个B O O T 启动程序中最重要,也是最难以调试的部分。之所以说其重要,是因为所有的程序都需要在装载在存储器中,并且一直在存储器中执行;而只所以说其难以调试,是因为其表现只有工作正常和工作异常这两种,而且导致工作异常的因素是非常多的。这就要求我们不但要对存储器硬件的型号和特性有足够的了解,而且要对其硬件文档中描述的初始化序列十分清楚,同时还要注意某些目标机为纠正错误而要求的特定的初始化序列。(3)建立堆栈由于A R M 体系结构具有7 种处理器模式,所以必须为每一种模式建立各自独立的堆栈空间,这就涉及到处理器模式的切换问题。堆栈模式的切换主要涉及到C P S

16、R 和S P S R 两个程序状态寄存器。状态寄存器的低8 位为控制位,只能由软件来进行修改。其中,M 4 0 1 为M P U 工作模式的编码。T 用于指示是否工作在T h u m b 指令模式下,I和F 用于屏蔽中断。程序状态寄存器的高4 位为条件标志位,分别为N(N e g a t i v e),Z(Z e r o),V(o V e r f l o w)和C(C a r r y)。模式切换完之后把相应的堆栈地址赋给堆栈指针寄存器S P 就完成了相应模式堆栈的建立。(4)存储器映射出于安全性和可维护性的考虑整个存储器空间被划分为若干个段。段在整个空间的定位可以是动态的,也可以是静态的。在本

17、项目中,由于程序要被固化到F L A S H 中,所以采用静态定位的方式。在存储器映射文件中指定R A M 中断向量区、R A M 代码区、R O M中断向量区和R O M 代码区的地址,每个区域再细分为若干个段。(5)改写M A K E F I L E在本项目中,需要向原来的m a k e f i l e 文件中添加本目标机的编译选项和各个文件之间的依赖关系。在调试过程中,编译的时候要加上一g 这个编译选项,这样就能在生成的c o f f 文件中添加一些调试信息,从而方便调试。调试成功之后要去掉一g 这个编译选项,使生成的文件小巧一些。上面的这些工作完成之后,分别生成L a m b d a

18、T R A 鳓吣局订阅号:8 2-9 4 63 6 0-t#-1 1 7 万方数据A R M 开发与应用中文核心期刊微计算机信息(嵌入式与S O C)2 0 0 6 年第2 2 卷第9-2 期的一个b i n 文件和一个c o f f 文件,c o f f 文件用于在R A M 中调试,b i n 文件用于烧制F L A S H。3 2B S P 的修改B S P 中系统初始化部分可以复用L a m b d a T R A 中的代码,剩余的工作主要涉及外部设备的驱动。(1)1 3 f f 钟驱动实时操作系统为了能够准时调度任务,需要有一种能保证调度准时进行的机制。这种机制是通过定时器来实现的。

19、从硬件上来讲,支持各种操作系统的微处理器必须包含一个可周期性中断。可编程的间隔定时器。从软件上来讲,必须有一个软件上的定时器在硬件中断到来时处理任务调度。但由于中断的延迟对系统时钟可能会造成一定的误差。因此在设计中通常将实时时钟中断的优先级设置得很高,一般仅次于掉电中断。系统的时间精度要求越高,时钟中断的频度就越高。这样执行时钟I S R(中断服务程序)的时间就会增多,系统的开销就会增大,影响系统的其他工作,所以,时钟I S R 程序应尽可能的短。f 2)串口驱动串口是各种外围设备中比较简单的一种,同时也是最常用的。本项目中采用的是串口的异步通信方式。在这种工作方式下。一个字符一个字符地传输,

20、每个字符一位一位地传输,传输一个字符时,以起始位开始,然后传输字符本身的各位,接着传输校验位,最后以停止位结束该字符的传输。根据目标板串口相关的寄存器分布,实现B S P 要求的标准串口接口函数。f 3)网络驱动网络驱动程序涉及到O S I 的数据链路层和网络层。是网络芯片和高层协议之间的桥梁和接口。网络驱动程序把网卡如何处理来自和发往高层的包所使用的方法进行了屏蔽,使高层不必了解收发操作的复杂性,而网络驱动程序本身则必须对网卡的操作有详细的了解。如网卡上的各种控制寄存器和状态寄存器,D M A 和I O 端口等。本项目使用的网络芯片是C i r r u sL o g i c 公司的1 0 B

21、 a s e T1 0 M 以太网芯片C S 8 9 0 0 A。首先,将M A C 地址和I P 地址写到相应的寄存器中。这样。当网络芯片向网络发送数据包时,便会自动将M A C 地址和I P 地址附加在数据包的头部,组成一个完整的网络包。接下来,最重要的工作就是实现数据的收发,也就是实现下面这两个收发数据的函数。v o i dl a n _ p u t p k t(c h a r*b u f,u n s i g n e ds h o r tl e n 3;u n s i g n e ds h o r tl a n _ g e t p k t(c h a r 木b u r);网络芯片C S

22、8 9 0 0 A 内部有两个先进先出(F i r s tI nF i r s tO u t,F I F O)数据缓冲区。分别是输入数据缓冲区和输出数据缓冲区。对这两个数据缓冲区的维护工作直接影响到网络芯片收发数据包的速度。在发送数据的时候需要特别注意数据的对齐问题。C S 8 9 0 0 A 网络芯片是半字(1 6 位)对齐的。如果在数据发送时有单个的字节,应该在这个单字节的后面填充一个字节的0,保证数据能够正确地传送出去,否则就会造成数据的丢失。4 总结由于嵌入式实时操作系统通常应用于比较重要的场合,所以必须对其进行严格的测试。在测试过程中,采用了单元测试和集成测试。所选择的典型测试用例执

23、行全部正确证明D e l t a C O R E 已经成功地被移植到N E T+5 0 目标机上。通过理论研究和实验,我们完成了一个实际的操作系统内核移植过程。本文的创新点是总结出了内核移植的一般规律:(1)硬件平台的熟悉程度直接影响移植的速度。(2)硬件平台的初始化中,存储器的初始化最容易出现问题,应高度重视。(3)各个设备驱动程序相对独立,可以采用各个击破的方法。(4)存储器映射以及M A K E F I L E 等文件做成模板的形式,可以方便修改。依据以上规律,将D e h a C O R E 成功地移植到S h a r pK E V 7 9 5 2 0 开发板上,所花费的时间大大减少了

24、,而且移植起来非常方便,快捷。参考文献:1 D a v i dS e a l,A R MA r c h i t e c t u r eR e f e r e n c eM a n u a l,英国:P e a r s o nE d u c a t i o nl i m i t e d,2 0 0 1:2 杜春雷,A R M 体系结构与编程,清华大学出版社,2 0 0 33 W A L T E RA T R I E B E L,硬件,软件及接口技术,北京:清华大学出版社,1 9 9 9:4 9 0 5 0 4【4 程红蓉,一种实时嵌入式操作系统内核D e l t a C o r e 的设计与实现

25、,电子科技大学,2 0 0 1【5 杨洪亮,胡金演斗C O S 一在A R M 处理器上的移植 J】微计算机信息,2 0 0 5,2 1 2:1 0 1 1 0 2作者简介:S E 磊(1 9 8 0),男,汉族,硕士研究生,研究方向:嵌入式系统开发。E m a i l:w a n g l e i l 2 1 7 h o t m a i l c o n陈朔鹰,男,汉族,副教授,研究方向:计算机操作系统,嵌入式系统开发。朱明远,男,汉族,教授,研究方向:计算机操作系统,嵌入式系统开发。B i o g r a p h y:W a n gL e i(1 9 8 0-),g r a d u a t e

26、s t u d e n t,w o r k si ne m b e d d e ds y s t e md e v e l o p m e n t C h e nS h u o y i n g,v i c ep r o f e s s o r,c u r r e n ta r e a so fr e s e a r c h,s t u d ya n dk n o w l e d g ed i s s e m i n a t i o na r eo p e r a t i n gs y s t e m,e m b e d d e ds y s t e md e v e l o p m e n t

27、 Z h uM i n g y u a n,p r o f e s s o r,c u r r e n ta r e a so fr e s e a r c h,s t u d ya n dk n o w l e d g ed i s s e m i n a t i o na r eo p e r a t i n gs y s t e m,e m b e d d e ds y s t e md e v e l o p m e n t(转2 8 3 页)一1 1 8 3 6 0,L 年邮局订阅号:8 2 9 4 6 万方数据3 G 与G S MG P R SC D M A擎乡望缫纛竺毽衾骠翟景雾

28、竺黧黧蔫,。w H w 王w 延c o n 尧t r 等o l n 编e t 著o r g L-以太网技术与应用嗍从民邮电出版社,2。眠:本系统用到的A T 指令都是先在超级终端试用过的。_ 一。一一望夸兰2 1 篓式I,粤脑翼手罂之间蹩尊憩堂j 是短譬工大学自动化享菇蓉制理论与控制;业0 3 凌研蜜曼紫专篁胄:,磐从,o 到9,坚A 至?,F 笋i 芽:警些字生。毛宗瀛,男,j;3 6 年至,汉族:萃蒿理工大学自动化符棼垫事的尊誉墨盒起堂。:毫零了粤皂龟秒乎曼?I u H 学蘸博士举导麻,教授。-J lJ。短信息中心、被叫号码、短信息的内容等等)的一条短(;i o:二。广州华;运芏大学自动化

29、科学与工程学院)4 应用事例广州立德粉厂的立德粉厂的生产数据采集与质量控制项目(1 0 8 一B 2 0 4 0 2 8 0)中的数据采集,包括对三条生产转窑的各种生产数据5 0 来个、检测的各种环保数据2 4 个、2 3 个车间的用电量的各种数据、5 路蒸汽流量等等的自动采集。而只在对两个烟雾排放检测机进行数据采集时,加入了S M S 报警功能。本系统应用在立德粉厂,通过以太网实时、稳定、准确地实现了各种数据的采集并存放进数据库,同时通过网络实时传送到公司的各个客户端,数据的自动采集为工作人员及时提供资料,使他们的工作效率得到很大提高。例如可以减少抄表、数据处理等工作人员,而且工作人员只要在

30、有计算机(连接到该工业以太网)的地方就可以随时了解上述各个点的运作情况,以便随时作出决策。中央控制室的工作人员不用出门就可以通过该系统的报警随时了解生产的异常情况并进行处理。这样就为工厂极大的节省了跑现场的人力、物力和时间的浪费,并为管理者及时作出决策提供及时、可靠的资料,避免监控的不及时。5 结束语本文作者的创新点:将T C P I P 以太网技术与短信息传送技术(S M S)结合应用到数据自动采集报警监控系统中。此数据采集监控系统,集计算机技术和通讯技术于一体。采用工业以太网作为数据采集的数据传输的平台,具有很大的优势。采用非常成熟、非常完善、应用最广的G S M 作为报警数据的传输平台,

31、正确而且快速,这可解决以前人工监控的很多弊端。此系统还可以根据用户的需要修改软件功能,以适用不同L n o,Z h i j i aD u,Q i l i a n gC h e n,Q i a nL i,Z h u o h o n gM a o,Z o n g y u a n(5 1 0 6 4 0 广州华南理工大学自动化科学与工程学院)罗智佳(收稿日期:2 0 0 5 1 2 1 7)(修稿日期:2 0 0 6 1 1 7)f 接1 1 8 页)(1 0 0 0 8 1 北京市海淀区北京理工大学计算机学院)王磊陈朔鹰朱明远(S c h o o lo fC o m p u t e rS c i

32、e n c ea n dT e c h n o l o g y,B e i j i n gI n s t i-t u t eo fT e c h n o l o g y,B e i j i n gH a i d i a n1 0 0 0 8 1)W a n g,L e iC h e n,S h u o y i n gZ h u,M i n g y u a n通讯地址:(1 0 0 0 8 1 北京市海淀区中关村南大街5 号。北京理工大学计算机学院2 0 0 3 级硕士3 班)王磊(收稿日期:2 0 0 6 1 1 8)(修稿日期:2 0 0 6 2 1 8)(接1 2 1 页)此类代码的一种新

33、方法。参考文献:【1】杜春雷(A R M 体系结构与编程【2 S 3 C 4 4 B O XM I C R O P R O C E S S O RD a t a s h e e t S a m s u n gE l e c t r o n i c sA u g2 0 0 1 3 h t t p:s o u r c e f o r g e n e t o j e c t s u b o o t【4】宋寅卯,张青波I x C O S 一在S 3 C 4 4 B O X 上的移植 J 微计算机信息,2 0 0 5,4:1 2 7 1 2 8作者简介:钱峰,男,硕士研究生,专业:通信与信息系统,E m

34、 a i l:a i s p a c e 2 1 c n c o m;刘哗,女,南昌大学电子系主任,教授,硕士生导师。范静辉,南昌大学电子系讲师;汪灿华,南昌大学电子系硕士研究生。(3 3 0 0 2 9 江西省南昌市南昌大学电子系)钱峰刘哗范静辉汪灿华通讯地址:(3 3 0 0 2 9 江西省南昌市南昌大学电子系)钱峰(收稿日期:2 0 0 6 1 4)(修稿日期:2 0 0 6 2 4)罾鑫控网邮局订阅号:8 2 铷3 6 0 元,年_ 2 8 3 万方数据基于NET+50 ARM7的DeltaOS操作系统内核移植基于NET+50 ARM7的DeltaOS操作系统内核移植作者:王磊,陈朔鹰

35、,朱明远,Wang,Lei,Chen,Shuoying,Zhu,Mingyuan作者单位:100081,北京市海淀区北京理工大学计算机学院刊名:微计算机信息英文刊名:CONTROL&AUTOMATION年,卷(期):2006,22(26)参考文献(5条)参考文献(5条)1.杨洪亮;胡金演 C/OS-在ARM处理器上的移植期刊论文-微计算机信息 2005(2)2.程红蓉 一种实时嵌入式操作系统内核DeltaCore的设计与实现学位论文 20013.WALTER A TRIEBEL 硬件,软件及接口技术 19994.杜春雷 ARM体系结构与编程 20035.David Seal ARM Architecture Reference Manual 2001 本文链接:http:/

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

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

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

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