基于ARM9的嵌入式Linux操作系统的移植.pdf
《基于ARM9的嵌入式Linux操作系统的移植.pdf》由会员分享,可在线阅读,更多相关《基于ARM9的嵌入式Linux操作系统的移植.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ARM9 嵌入式 Linux 操作系统 移植
限制150内