《基于ARM9的嵌入式Linux操作系统的移植.pdf》由会员分享,可在线阅读,更多相关《基于ARM9的嵌入式Linux操作系统的移植.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、5 0陶瓷2 0 1 0 N o 3基于A R M 9 的嵌入式L i n u x 操作系统的移植王志诚(北新集团建材股份有限公司北京1 0 0 0 9 6)摘要针对当前复杂嵌入式产品的开发难度大和开发周期长的同题,笔者以L i n u x 移植到嵌入式平台的过程为研究对象,研究内容包括交叉编译环境的建立、修改和移植B o o t l o a d e r、裁剪和移植内核等。提出了一种移植L i n u x 到嵌入式平台的方法。使得工业环境下使用的嵌入式系统使用性得以提高。关键词移植A R MB o o f l o a d e r 内核l 课题背景及开展研究的意义目前,国内普遍认同的嵌人式L i
2、 n u x 系统定义为:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式技术的出现给现代工业数控领域带来了一次新的技术革命。嵌入式技术的快速发展不仅使之成为当前微电子技术与计算机技术领域的一个重要分支,同时也使计算机的分类从以前的巨型机、大型机、小型机、微机之分变为通用计算机与嵌人式计算机系统心】。嵌入式设备几乎包括了所有电器设备b 1:如陶瓷自动压砖机操作系统、辊道窑炉等自动控制系统、P D A、手机、机顶盒、汽车、微波炉、电梯、安全系统、自动取款机等。L i n u x 为嵌入式操作系统提供了一个极有力的选择,它是
3、一个类似U N I X 的、以内核为基础的、有完备保护机制的、多任务多进程的操作系统。它支持广泛的计算机硬件,其源代码全部公开。L i n u x 系统带有U N I X 用户所熟悉的完善的开发工具,成熟完善、使用方便的语言编译器G C C,G+等也可很容易得到H】。本课题主要研究嵌入式L i n u x 的体系结构和设备驱动程序的模型,并在此基础上实现嵌入式L i n u x 操作系统和外设设备驱动在A R M 9 体系硬件平台上的移植。核心芯片外设接口有串口、网卡、L C D、鼠标、键盘、声卡等。本次移植的主要内容包括启动引导代码B o o t l o a d e r 和L i n u x
4、 基本内核的移植,同时有外设接口的驱动程序移植。移植以后有了底层的系统软件的支持,从而大大减少了陶瓷自动压砖机、辊道窑控制中复杂嵌入式产品的开发难度和开发周期。2 研究方法、内容及预期目的2 1A R M 嵌入式处理器A R M 微处理器目前包括下面几个系列,以及其它厂商基于A R M 体系结构的微处理器,除了具有A R M体系结构的共同特点以外,每一个系列的A R M 微处理器都有各自的特点和应用领域b】。A R M 7 系列,A R M 9系列,A R M 9 E 系列,A R M I O E 系列,S e c u r C o r e 系列,I n t e l的X s c a l e。I
5、n t e l 的S t m n g A R M。A R M 9 系列微处理器主要应用于无线设备、各种仪器仪表、安全系统、机顶盒、打印机、数字照相机和数字摄像机等。A R M 9 系列微处理器包含A R M 9 2 0 T、A R M 9 2 2 T 和A R M 9 4 0 T3 种类型,可以适用于不同的应用场合。2 2 嵌入式A r mL i n u x 操作系统的移植所谓移植就是把程序代码从一种运行环境转移到另外一种运行环境。内核移植就是从一个硬件平台转移到另外一个硬件平台。对于嵌人式L i n u x 系统来说,用户根据自己的需要指定硬件板,只要硬件板发生了变化,就要涉及到移植工作。内
6、核的移植是嵌入式开发中最常见的一项工作。一个嵌入式L i n u x 系统从软件的角度看通常可以分为4 个层次:1)引导加载程序。包括固化在固件(f i r m w a r e)中 万方数据2 0 1 0 N o 3陶瓷的B o o t 代码(可选),以及B o o t l o a d e r 两大部分。2)L i n u x 内核。特定于嵌入式板子的定制内核以及内核的启动参数。3)文件系统。包括根文件系统和建立于F l a s h 内存设备之上文件系统。通常用R a m D i s k 来作为r o o f f s。4)用户应用程序。特定于用户的应用程序,例如L C D 驱动程序等。2 2
7、1 建立交叉编译环境通常嵌入式系统的软件编译和执行是在两个不同平台上进行的。编译是在宿主机即为桌面主机,而执行是在目标端,即嵌入式系统的硬件平台。一般在宿主机上通过跨平台交叉编译器把源文件编译成目标平台上可执行的文件,再通过串口或者网络下载至目标平台上的F l a s h 或者其它存储介质,然后由目标机来运行这些软件。移植前需要在宿主机上建立A R M 的交叉编译环境,主要用到的开发工具包括3 个部分:b i n u t i l s、g c c、g l i b c。其中b i n u t i h 是二进制文件的处理工具;g c c 是编译工具;g l i b c 是链接和运行库。交叉编译器可以
8、通过两种方法得到:第一种是从网上下载己经制作好的交叉编译器。第二种方法是自己制作交叉编译器。制作交叉编译器的步骤有:设置环境变量,指定交叉编译器的安装目录;下载源码包,准备补丁;内核头文件的设置;二进制工具程序(b i n u t i l s)的设置;引导编译器(g c c)的设置;C 链接库(g l i b c)的设置;完整编译器的设置。2 2 2 系统引导程序B o o t l o a d e r 的移植简单地说,B o o t l o a d e r 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状
9、态,以便为最终调用操作系统内核准备好正确的环境 7】。B o o f l o a d e r 流程不管什么样的板子都差不多,不外乎是先关闭中断,设置C P U的速度和时钟频率,初始化R A M,将C O D E 从F L A S H中拷贝到R A M 空间,设置堆栈,这样就搭建一个C 运行环境,之后跳转到c 入口点,就是初始化设备驱动、设置L i n u x 内核参数、启动L i n u x。下载u b o o t 压缩包经过解压、修改和一些设置之后,通过J T A G 接口烧写到开发板的F l a s h 中。2 2 3 内核源码下载标准“n 呱的内核源码可以从O p:t i p k e r
10、 n e l o g下载,在很多的镜像邱站点上也可以方便地获得。A R ML n u x 是基于标准L i n u x 内核为A R M 做的补丁,在t i p:t i p a r m 1 i n u x o g u k 上可以下载。当然也可以直接下载已经针对标准内核打好补丁的A R ML i n u x源码包,例如S k y E y e 上提供的l i n u x 一2 4 1 8 一r m k 7 t a r b z 2,就是基于2 4 1 8 内核和r m k 7 补丁,可以直接解压之后进行编译。2 2 4 内核配置在安装完内核源码和所需的开发工具之后,需要对内核进行配置,主要包括:选择
11、处理器类型;选择板级支持;选择对R A Md i s k 支持;选择设备驱动支持;选择文件系统支持。2 2 5 编译内核编译内核生成内核映像。编译内核有两种方式,分别是非压缩方式和压缩方式。采用压缩方式,这种方式下内核从R O M 中启动,将被压缩的内核压缩到R A M,然后执行内核。其优点是可以将内核事先烧写至f l a s h 中,而无需手工下载,同时压缩后的内核也非常小,只有2 0 0 3 0 0K。这种方式使用m a k ez i m a g e 来编译内核。2 3 根文件系统制作与移植L i n u x 系统启动期间进行的最后操作之一就是安装根文件系统,文件系统就是指文件存在的物理空
12、间。L i n u x 每个分区都是一个文件系统,都有自己的目录层次。L i n u x 会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的、总的目录层次结构。一个操作系统的运行离不开对文件的操作,文件系统向用户提供了一个使用文件的统一界面,使得对文件的操作在更加抽象、简便的层次上进行。2 4 嵌入式L n u x 主板触摸屏驱动的研究触摸屏驱动过程如图1 所示。当触摸笔按下的时候,内核响应中断,进入中断处理程序。中断设为下降沿有效,当中断到来之后,屏蔽中断,以保证在触摸屏被连续按下的时候,不会连续的触发中断,进入中断处理程序。这样连续监测从触摸屏取得的值。如果触摸笔按下就渎取坐
13、标放到缓冲区中;如果触摸屏抬起,就在缓冲区中放人抬起信号。当触摸笔抬起的时候,打开中断,保证下一次触摸屏被按下的时候可以触发旧1。万方数据5 2陶瓷2 0 1 0 N o 3初始化触摸屏进入中断处理读取X 和Y 坐标笔是否抬起l 是!退出中断处理打开中断否图1 触摸屏驱动程序流程图3小结与展望植内核等。笔者提出的移植L i n u x 到嵌入式平台的方法,将使得工业环境下使用的嵌入式系统使用性得以提高。并且因为L i n u _ x 操作系统自身的特点,U n u x 在建筑卫生陶瓷的自动压砖机的自动控制、辊道窑自动控制与传统的嵌人式操作系统竞争中必将占有一席之地,并呈现不断扩展的局面。参考文
14、献1 谢正茂基于A R M 嵌入式系统的远程机器人控制器的设计及应用 硕士学位论文 北京:北京邮电大学,2 0 0 62 徐文明嵌入式系统结构特点电测与仪表,2 0 0 4(8):4 85 03W a y n ew o l f 著嵌入式计算系统设计原理孙玉芳,梁斌,罗保国,等译北京:机械工业出版社,2 0 0 24 陈飒,毛洋林,潘志浩基于嵌人式L i n u x 的图形界面显示系统的设计任务微计算机信息2 0 0 4,2 0(1):3 8 4 05 丁岩军基于嵌入式A R M 的B o o f l o a d e r 研究与实现:硕士学位论位 杭州:华北电力大学硕士论文,2 0 0 76 尤
15、盈盈,孟利民构建嵌人式I j n 峨交叉编译环境计算机与数字工程,2 0 0 6,3 4(6):2 2 2 67 郭秋平基于A R M 系统的“n 峨平台移植研究 硕士学位论文 杭州:浙江大学,2 0 0 6研究了L i n u x 移植到嵌入式平台的过程,包括交8 吴明晖,徐睿,黄健,等基于A R M 的嵌入式系统开发叉编译环境的建立、修改和移植B o o t l o a d e r、裁剪和移与应用北京:人民邮电出版社,2 0 0 4e 固e 固e e e 固 固e 固e 园e 固 e 固e 雹e 固e 雹 固e 固e 视固e 固 雹 a 固 税视固e 固e 雹 税固 a 固 固e 固 税雹
16、 锐税固 税税税;弛;弛税税雹e 固e 固 固(上接第3 8 页)排除,这样就会产生流蜡现象。解决办法是:控制好原料处理工艺,保证原料的粒度级配合理、均匀及每批原料的统一性;拌蜡时掌握好石蜡的加入量,避免加入量过大;球磨及拌蜡前将原料充分烘干,使含水率小于0 5,拌蜡及成形过程中防止水分混入,选择优质的活性剂及合适的用量;排蜡时严格控制室温3 0 0 阶段的升温速度和保温时间;清理堵塞的烟道,加强通风,保证窑内温度均匀提高,从而使产品中的蜡液均匀渗透、挥发。4结语滑石瓷热压注成形和排蜡过程中常见的缺陷有以上多种。产生缺陷的原因较多,涉及的面较广,在实际操作过程中上述各个方面都要引起重视。当然具
17、体的工艺参数如石蜡和表面活性物质的加入量,成形时蜡浆和模具的温度,压力的大小和压力持续时间的长短,排蜡时的升温速度和保温时间等都要在生产实践中获得,随着原料的种类、制品的形状和尺寸的不同,窑炉的种类和容积及窑温的均匀性等情况均有较大的差别。参考文献l 刘康时陶瓷工艺学北京:中国建筑工业出版社,1 9 8 12 王成平9 5 氧化铝瓷排蜡工艺常见缺陷及解决措施江苏陶瓷,1 9 9 9(4):1 9 2 0 万方数据基于ARM9的嵌入式Linux操作系统的移植基于ARM9的嵌入式Linux操作系统的移植作者:王志诚,Wang Zhicheng作者单位:北新集团建材股份有限公司,北京,100096刊
18、名:陶瓷英文刊名:CERAMICS年,卷(期):2010(3)参考文献(8条)参考文献(8条)1.吴明晖;徐睿;黄健 基于ARM的嵌入式系统开发与应用 20042.郭秋平 基于ARM系统的LintLx平台移植研究 20063.尤盈盈;孟利民 构建嵌入式Linux交叉编译环境期刊论文-计算机与数字工程 2006(06)4.丁岩军 基于嵌入式ARM 的 Boofloader研究与实现 20075.陈飒;毛洋林;潘志浩 基于嵌入式Linux的图形界面显示系统的设计任务期刊论文-微计算机信息 2004(01)6.Wayne wolf;孙玉芳;梁斌;罗保国 嵌入式计算系统设计原理 20027.徐文明 嵌入式系统结构特点期刊论文-电测与仪表 2004(08)8.谢正茂 基于ARM嵌入式系统的远程机器人控制器的设计及应用 2006 本文链接:http:/