嵌入式PowerPC硬核环境下的操作系统移植.pdf

上传人:asd****56 文档编号:70481955 上传时间:2023-01-19 格式:PDF 页数:4 大小:302.22KB
返回 下载 相关 举报
嵌入式PowerPC硬核环境下的操作系统移植.pdf_第1页
第1页 / 共4页
嵌入式PowerPC硬核环境下的操作系统移植.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《嵌入式PowerPC硬核环境下的操作系统移植.pdf》由会员分享,可在线阅读,更多相关《嵌入式PowerPC硬核环境下的操作系统移植.pdf(4页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数字教育嵌入式P o w e r P C 硬核环境下的操作系统移植刘尧王彤周天然李峭(北京航空航天大学电子信息工程学院北京海淀10 0 1 9 1)摘要:在F P G A 芯片中嵌入处理器的硬核或软棱,构成片上可壕程系统(S o P C)。对于专门的处理器体系结构,为了能够在源代码摄删上对操作系统进行定翻,以提供实时服务,一麓采用W I。i n u x 内核进行剪裁井移植的方法。本文给出了在X i l i n xV i r t e x4 的P o w e r P c 硬棱环境下移植I。i n n x 内桉的过程。井通过V ir t e xM I。4 0 3 开发板进行原型验证,以展示操作系统内

2、核移植的整体思路以及各环节的关冀步骤。关键词:嵌入式系统L i n u x 内柱交叉鳊译中图分类号:T P 3 l6 5文献标识码:A文章编号:10 07-9 4 16(2 0 10)0 8 0 139 0 3A b s v s c t:AF P G Ac h i pe m b e d d e dw i t hh a r d w a r eO ri n t e l l i g e n tp r o p e r t yp r o c e s s o r sa r ec a l l e ds y s t e mO f fap r o g r a m m a b l ec h i p(S o P C

3、)L i n u xk e r n e lt a t I o r i n ga n dt r a n s p l a n t i n gi n t of ls p e c i f i cp r o c e s s o ra r ec o m m o n l yu s e dt oc u s t o m i z es no p e r a t i n g s y s t e mf o ras p e c i f i ca r c h i t e c t u r a lp r o c e s s o ri nt h es o u r c ec o d el e v e lm o d i f i c

4、 a t i o n st op r o v i d er e a l-t i m es e r v i c e se t e T h ep r o c e s st ot r a n s p l a n taL i n u xk e r n e It ot h eh a r d w a r ee n v i r o n m e n to fP o w e r P Cp r o c e s s o ri n s i d eX i l i n x V i r t e x4i sp r o p o s e di n t h i sp a p e r A n dt h ep r o c e s sw

5、 a sp r a c t i c e db yt h ei m p l e m e n t a t i o no n aV i r t e xM L4 0 3d e v e l o p m e n tb o a r dt od e m o n s t r a t et h ew h o l ei d e a a n dt h e k e yd e t a i l sa l o n gt h et a i l o r i n ga n dt r a n s p l a n t i n gp r o c e s s K e yw o r d s:E m b e d d e ds y s t e

6、m,L i e u xk e r n e l,c r o s sc o m p i l e1 号I 富与运行桌面操作系统的通用计算机不同,在对体积、重量、功耗有很高苛刻要求的军用或民用领域一一如:航空、航天、移动设备等,嵌入式系统显示m 其特有的优势。在F P G A 芯片中嵌入处理器的硬核或软核,构成片上可编程系统(S o P C),使之能够更灵活地适用于嵌入式系统环境。针对S o P C 中处理器的特殊体系结构,需要专用的嵌入式操作系统。一些公司提供了相应的操作系统但是由于需求量较少,往往不提供源代码且价格昂贵。这一点对使用P o w e r P C 的S o P C 尤为突出。因此,采用

7、。D I Y”的方法向嵌入式平台中移植操作系统成为嵌入式开发者需要解决的关键问题之一。L i n u x 操作系统由于内核的免费开源、设计的成热稳定,成为被剪裁和移植的首选对象。可以通过对标准内核的裁剪、编译,获得特定环境下满足需求的“最小”系统。本文结合在X i l i n xV i r t e x4 系列F P G A硬核上移植L i n u x 操作系统的实际工作,并以V i r t e xM L4 0 3 开发板作为实现和验证原型,在X i l i n x 公司的E D K,X P S 等开发工具的支持下,介绍如何在这一类嵌入式系统上移植L i n u x 操作系统。并归纳总结操作系统

8、内核移植的整体思路以及各环节的注意事项。2 嵌入式环境下L i n u x 移檀的整体思路与通用计算机的处理和存储能力相圈1移植操作系统的流程N比,嵌入式系统资源有限,并且是为了完成某一个特定的任务,通用计算机上的标准L i n u x 内核许多服务对于它来说是冗余的。为了提高嵌入式系统完成任务的效率,移植工作是针对满足设计的“最小内核”,在内核移植前应对其进行裁剪。L i n u x 是多任务操作系统,它一方面担当着应用程序的进程的调度和资源管理的职责,内核按照规定好的调度算法,对可调度实体的执行进行合理排序。另一方面,它是应用程序到硬件外设的桥梁,嵌入式系统用户态的应用程序,无论是视频还是

9、数据处理等,最终要对硬件进行驱动。从操作系统“向下看”,底层外设被抽象成了二进制的数据流,根据上层进程的要求,交互式地通过这些二进制数与底层外设进行通信。不同的外设的这些二进制数有不同的含义,操作系统为了能够正确地控制这些设备需要理解这些二进制数代表的外设的特定的操作,也就是和外设进行通信的“规则”。在嵌入式操作系统的移植工作中,以能够描述、驱动硬件环境的比特流文件体现。将裁剪过的内核与硬件的比特流文件进行联合编译,生成的镜像文件就是可以操纵底层硬件的专用操作系统。【2 1图l 是向一块嵌入式裸机移植操作系统的流程:3 嵌入式环境下L i n u x 移植的关键步骤3 1板级支持包和硬件镜像文

10、件的生成为了生成适用于给定硬件平台的板级支持包(B r o a dS u p p o r tP a c k e t,B S P)和硬件镜像文件(又被称为“比特流文件”),必须在X i l i n xE D K 的X P S 软件工具设置相应的选项,即:(1)开发板选择V i r t e x 4M L 4 0 3E v a l u-a t i o nP l a t f o r m 数字技术与应用13 9万方数据(2)处理器选择P o w e r P C-(3)参考时钟颁率:l O O M H z,处理器时钟频率:1 0 0 M H z,总线时钟频率:l o o M H z I(4)开启输入、输出

11、设备的中断。为了能够使镜像文件能够用s y s t e m A C E 启动,需要修改文件 e t c b i t g e n u t,并添加行:一gM a t c h _ c y c l e:N o W a i t。随后,生成比特流文件。在生成板级支持包之前,还需配置E D K 的环境。在S o f t w a r eP l a t f o r mS e R i n g s下,将C P U 配置成c p u p p c 4 0 5,将操作系统版本配置为l i n u x 一2 6,并配置嵌入式平台的环境参数:选配外设,配置存储空间和总线频率。【3】3 2 内核的裁剪以一台通用P C 主机作为

12、宿主计算机,裁剪内核的工作在宿主计算机的L i n u x 运行和编译环境下进行。本文采用F e d o r aC o r e3的运行环境,裁剪的内核选用2 6 1 l。3 2 1 裁剪内核的工具裁剪内核的本质是对c o n f i g 文件进行编辑。c o n f i g 描述了标准L i n u x 内核在编译过程中的包含关系。g c c 编译器在这个文件的指导下,选择必要的内核组件。c o n f i g 的选项数量巨大,辨认每个定义项对应的功能具有一定的难度和工作量,可以利用简单的图形编辑工具“m a k em e n u c o n f i g”提高效率。3 2 2 建立交叉编译环境

13、:在宿主机上编译的并不是运行在其本身上的内核,因此无法使用普通的g c c 编译工具,而需要使用交叉编译器。所谓交叉编译,就是在基于一个平台生成可运行在另一个平台上的代码。1 4 1尽管可以利用G N U 连接器l d、G N U 解释器等组件、g c c、g b l i c 等组件直接生成一个G N U 编译器,但是作法较复杂。我们利用一个成熟的交叉编译器生成工具c r o s s t o o l 搭建需要的交叉编译环境。在F e d o r aC o r e3的环境下下载、安装c r o s s t o o l-0 4 2。如果目标编译器的版本与操作系统的相差太远,编译会出错。由于F e

14、d o r aC o r e3的g c c 版本是3 4 4,在c r o s s t o o l-0 4 2 中选用与这个版本最接近的g c c-3 4 5 搭建交叉编译环境。在c r o s s t o o l-0 4 2 提供给g c c-3 4 5 的可选G N U 的C 函数库中,我们选用最新版本g l i b c-2 3 6。为了与M L 4 0 3 的处理器型号匹配,修改S h e l l 脚本文件d e m o-p o w e r p c-4 0 5 s h,并指定组件的下载路径和编译器的类型。可以将宿主机连接到互联网上,运行脚本文件d e m o-p o w e r p c-

15、4 0 5 s h,将必要的组件下载到指定目录下。接下来,需要安装语法分析器B i s o n 和F l e x。交叉编译器是靠宿主机的L i n u x 的C语言编译器g c c 编译成功的,所以交叉环境的搭建只能编译用C 语言写成的源文件。但是,待编译的有些组件的文件是不符合C 语言规则的。为了使得编译过程能够顺利的进行,需要一些工具将非C 语言的文件转化为C 语言的语句,也即一个。翻译”的过程。语法分析器B i s o n 运行生成语法分析器,语法分析器F l e x 运行生成词法分析器。它们协同工作,能够把一个特定语言的上下文无关文法翻译成C 语言。B i s o n 和F l e x

16、 分别生成的语法分析器模板和词法分析器模板对大多数的应用足够了。剩余的工作是为宿主机的L i n u x 系统中掭加环境变量,建立终端命令到交叉编译器的链接:在终端打开b a s h r c 文件,并以文本编辑的方式添加或修改导出路径。3 2 3 配置内核文件组件的目录之间由各自的M a k e f i l e 文件从逻辑上形成了一棵树,一个目录下的M a k e f i l e 文件规定了本目录的编译和本目录与其父目录、子目录的关系。由于E D K 生成B S P 时,并没有生成M a k e f i l e 文件,所以拷贝驱动程序的文件夹后不仅需要在本文件P 1 u c h o o s e

17、 d m oht F J p i n gi at h e 姗b 蚶o ft h e“I oy o u-吐tt o 啦O rs e l e c t a-ou s i n gt h ed i r e e t i o n dl m t t o n s n dI 9O r1 y I G 巍d i s p l a yC r a,np r o s st h,e n t o rb u t t o nt ol t I 口r tt h,s,l e e t e dd m o)1 y i r t 们t 一4S 1 id oS h o w2 I r e bS r v rD m o3 L i B U XD w oq 取

18、D m o5 惦BD w o6 B yO W nJ l I c Ef i l 7 L o a d R e s t o r,F l a s h 工-e lR o b o o t i n gt o$y t t wJ 忙ZC o n f ig u r a t io nA d d r e s s6 l o a d e da t:4 0 0 皓2 F 1 9 cb o a r dd a t aa t:5 2 D 1 2 00 0 5 2 1 1 9 cr l o e a t e dt o:0 0 4 0 4 0 5 C0 0 4 0 4 0 阳z i m q,a t:0 0 4 0 4 1 4 D0 0

19、 S 2 C 6 A 7a v a i lr 一:S 3 0 0 0 00 2 0 0 0 0L i n u x P F Cl o a d:c o n s o l e=t t y S O,9 6 0 0e o n s o l,=t t y Or o o t=d 舸s d e 2U n e o m p r e s s i n gL i n u x d o n 坩b o o t i v 4 Et h e 鼻t r n d1 4 0数字技术与应用圈2 系统启动输出信息数字教育夹下编写M a k e f i l e 文件,而且需要将驱动相关条目加到父目录的M a k e f i l e 中【4】。在裁

20、剪前,要编辑内核的M a k e f i l e 文件,以明确编泽的目标。由于内核包中涵盖了几乎所有的运行环境的组建,一些通用的源文件置于 k e r n e l 中,不同体系结构特有的源文件置于 a r c h 目录下各自的文件夹下。如果是针对P o w e r P C 环境的编译,那么只需要将 a r c h 下的 文件夹包含即可对M a k e f i l e 文件中的变量进行如下配置:A R C H:=p p cC R O S S C O M P I L E:p o w e r p c-4 0 5-l i n u x-g n u-B S P 中生成了M L 4 0 3 全部的驱动程序。

21、在2 6 1 l 的内核中其实已经包含了其中的大部分,只有少数的需要自己额外添加到其中(比如,以太网的驱动需要单独从B S P中拷贝)。嵌入式处理器和通用计算机问的一个明显区别是,前者的b o o t l o a d 信息需要在编译前加到内核文件中,而不是依靠B I O S。配置这个信息,我们将板级支持包B S P 中相应的头文件拷贝到内核文件夹 a r c h p p c p l a f f o r m s 4 x x x p a r a m e t c r s 下,并修改或配置白启动方式。根据M L4 0 3 开发板的配置方案,需要调用函数e m b e d _ c o n f i g()

22、,而在L i n u x 内核的默认位置有一个虚构函数,我们将源文件的虚构函数替换为真正需要调用的函数,完成内核函数的配置工作。3 2 4 裁剪工作在 下运行m a k em e n u c o n f i g。在图形化对话框中根据自己的需要对内核冗余的部分进行删减。在终端运行命令行:。m a k ez l m a g e”,就生成l i n U X的镜像文件z l m a g e e l f。3 3 自启动A C E 文件的编译为了使内核镜像能够顺利启动,还需要将内核的镜像文件与硬件的镜像文件一一一即硬件的比特流文件d o w n l o a d b i t-编译在一起,形成AC E 文件。

23、我们采用W i n d o w s 下的一个工具“c y g w i n”来生成A C E 文件。将内核与硬件的镜像文件拷贝到创建的工程文件夹的目录下,并在该目录下编写一个工程参数文件,命名g e n a c e o p t,文件内容如下:-j p r o g-b o a r dm 1 4 0一h w d o w n l o a d b i t-e l f z l m a g e e l f-a c es y s t e m a c e在c y g w i n 中运行命令:$x m dt c lg e n a c e t c lo p t g e n a c e o p t在工程文件夹下便生成

24、了操作系统的A C E 文件s y s t e m a c e 了。将这个文件拷贝到M L 4 0 3 的C F l a s h 存储卡的相应目录下,L i n u x 操作系统就可以万方数据欺字教育应用E x c e l 数据分析与处理课程的教学改革与实践刘世平(成都东软信息技术职业学防四川成都6 18 4 4)摘要:实最曩学是禹职曩育人才培养方案中的重要环节,其效果与质量对培养目标的实现起着奉足轻重的作用。文章将结合本人在E x e e l 数据分析与处理课程中进行的教学实最,从曩师的“教”和学生的“学”两个方面入手进行研究。旨在探讨如何在E x c e l 数据分析与处理诼程中进一步实施

25、任务驱动的案例教学法。进一步提高学生的专业技能。关键词:E x c e l 数据分析任务驱动案例教学教学改革中图分类号:G 71 0文献标识码:A文章编号:100 7 9 4 16(20 10)0 8 一0 14 1-o21 引富职业院校的教学目标就是培养具有创新意识的技能型人才。本着对发展学生个性和创造精神有利的原则。当学生具备某一知识系列的操作能力后,我们可以设置一些综合性的、具有挑战性的创造性任务。让学生充分发挥个性。2 课程特点E x c e l 数据分析与处理是一门实践性很强的、经验要求很丰富、面向应用的课程。鉴于此,要求把基本概念和基本理论融人到具体的操作中介绍。通过案例教学。化繁

26、为简、化难为易、深入浅出地介绍基本概念和理论。重点培养学生的基本经验和技巧。成都东软信息技术职业学院信息技术与商务管理系共有计算机信息管理、电子商务、客户关系管理、财务管理、物流管理等5 个专业的学生在第一学年第二学期学习散据分析与处理课程。虽然他们已经在第一学期学习过信息技术基础课程,由于学生生源地、基础不同,对于计算机的操作能力还是存在一定的差异,有部分学生有很好的基础,但也有部分学生基础较差,给学生学习e x c e l 数据分析与处理带来了很大的影响。-3 教学内容设计3 1 基本教学内容安排(1)基本知识点介绍,针对有些学生没有接触过E x C e l,有些学生虽然学习过E x c

27、e l、但已经记忆不深的特点,有必要比较系统地以较少的课时介绍E x c e l 的基础知识并演示、练习一些最基本操作,其主要内容是:启动窗口、工作表、工作簿、单元格、录入、修改、复制粘贴、格式化等,同时要求学生自学教材。(2)课堂综合练习-在熟悉基本知识的基础上,按照课程的阶段性提出一些小型的综合性的实例,要求学生当堂解决,引导学生分析问题,进而提出解决问题的思路,联想E x c e l 有哪些功能可以实现以上要求。丹始时学生往往不知如何下手,老师可以带领学生从头开始,一步步地操作,手把手地教授,边练习边讲解知识点,直到“任务”的完成。然后要求学生自己解决问题,如果经过思考,学生还是找不到解

28、决问题的办法,或者找不到比较好的解决办法,再由老师演示和讲解。注意应主要讲解解决问题的思路、整体概念、整体框架,少涉及太具体的细节,并在演示过程中介绍E x c e l 各种功能用途。(3)课下练习,应当注意布置作业和小测验,将综合性的,有趣味的题目交给学生自主完成。这样既可以让学生通过反复练习加深理解,也可以让学生逐步提高独立解决问题的能力。3 2 案例的设计案例是教师围绕教学目标进行教学活动的重要依据,是学生获取知识的主要来在板卡加电后自启动了。3 4 制作根文件系统到目前虽然内核可以加载成功,但是系统内还没有完整的根文件系统支持,这是启动时支持L i n u x 运行非常重要的部分。s

29、l 制作根文件系统我们利用工具B u s y B o x 和K l i n g a u f 6 制作的脚本文件m k r o o t f s s h。使用B u s y B o x 同样需要先对其进行配置,进行P o w e r P C 的交叉编译,配置如下:A R C H:=p p cC R O S S C O M P I L E:=p o w e r p c-4 0 5-u 1 1 u x g n u 一。然后,利用m a k em e n u c o n f i g 对其进行适当的裁剪。对K l i n g a u f 制作的脚本文件m k r o o t f s s h,同样需要配置,

30、使其使用C 函敬库,利用虚拟根文件系统,目标对象是P o w e r P C,并将我们使用的内核版本号2 6 1 l 加入。最后,修改本地文件系统,成为超级用户,并增加本地文件系统执行权限。在超级用户下运行这个S h e l l 脚本文件,根文件系统就生成了。4 实验结果及结论启动内核后,用U A R T 外设与上位机的串口调制助手通信,打印输出如图2 所示,并最后进入命令行状态,说明移植工作成功。在通用计算机的操作系统中建立交叉编译环境下,将裁剪后的标准L i n u x 内核编译出内核镜像文件,与特定嵌入式板的板级支持包和硬件镜像文件再次联合编译,生成的操作系统镜像启动后,添加根文件系统,

31、可以完成向目标嵌入式环境移植L i n u x 操作系统。参考文献【l】C t l e T a iL e e。Z e n g-w e iR o n g。J i l n M i I lL i n L i n u xk e r n e lc u s t o m i z a t i o nf o re m-b e d d e ds y s t e m sb yu s i n gc a l lg r a p ha p p r o a c h A】D e s i g nA u t o m a t i o nC o n f e r e n c e,2 0 0 3 P r o c e e d i n g s

32、o ft h eA S P D A C2 0 0 3 A s i aa n dS o u t hP a e i f i c C】2 0 0 3【2】A l b i n e t,A,A r l a t。J F a b r e,J-C C h a r a c t e r i z a f i o no ft h ei m p a c to ff a u l t yd r i v e r so nt h er o b u s t n e s so ft h eL i n u xk e r n e l A】D e p e n d a b l eS y s t e m sa n dN e t w o r

33、k s 2 0 0 4I n t e m a t i o n a lC o n f e r e n c eo n C】2 0 0 4【3】田耘,徐文波X i l i n xF P G A 开发使用教程【M】北京:清华大学出版社,2 0 0 8【4】林任鼎,仁爱华,王雷,周波生L i n u x 内核在新型硬件平台上的实现【J】北京航空航天大学学报2 0 0 9,3:1 9 9-2 0 1【5】邱世华L i n u x 系统架构与目录解析【M】北京:人民邮电出版社,2 0 0 9 4【6 1W o l f g a n gK l i n g a u f h t t p:w w w k l i n

34、g a u f e c L v 2 p i n d e x p h t m l E B O L I J S A 2 0 0 4-2 0 0 6 作者简介t刘尧(1 9 8 7 3 一)鼻。项士研完生。无京航空航天大学。王彤(19 62 5 一)-J r。硕士。研完曩,研究方向为航空电子综合、航空电子系皖架构机曩通信一络。月天然。蓐。博士研完方向为嵌八式失时秉皖分布式计算和航空电子系统。李峭(1974 12)男。博士讲师,研究方向为鬣空电子幕皖实时秉统蔹字电路氛字通信乎。基金项目:啊家自然科学基金委羹会与中日民用航空总局联合量助疆目(6 0 8790 2 4)航空科学基金嘎目(20 0 8 19

35、 5 10 2 8)。数字技术与应用1 4 1万方数据嵌入式PowerPC硬核环境下的操作系统移植嵌入式PowerPC硬核环境下的操作系统移植作者:刘尧,王彤,周天然,李峭作者单位:北京航空航天大学电子信息工程学院,北京海淀,100191刊名:数字技术与应用英文刊名:DIGITAL TECHNOLOGY AND APPLICATION年,卷(期):2010(8)参考文献(6条)参考文献(6条)1.Wolfgang Klingauf 查看详情 20062.邱世华 Linux系统架构与目录解析 20093.林任鼎;仁爱华;王雷;周波生 Linux内核在新型硬件平台上的实现 20094.田耘;徐文波 Xilinx FPGA 开发使用教程 20085.Albinet,A;Arlat,J;Fabre,J.-C Characterization of the impact of faulty drivers on the robustness ofthe Linux kernel 20046.Che-Tai Lee;Zeng-wei Rong;Jim-Min Lin Linux kernel customization for embedded systems by usingcall graph approach 2003 本文链接:http:/

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com