2024年4月16日发(作者:)
第29卷第3期 吉林建筑工程学院学报
Vo1.29 No.3
2012年6月
Journal of Jilin Institute of Architecture&Civil Engineering
Jun.2012
嵌入式Linux系统移植技术研究水
张伟杰
李明理
(1:吉林建筑工程学院计算机科学与工程学院,长春
130118;2:大连理工大学软件学院,大连116000)
摘要:本文阐述了嵌入式Linux系统开发流程和交叉开发环境的建立,分析了Linux的内部组织结构及其对系统移
植的影响,介绍了目标硬件平台和现有的软件基础,并从本次目标系统实现的角度,以理论分析为基础,移植实现
为目标,围绕系统移植的主要内容做了重点剖析和实现.
关键词:Linux;ARM;系统移植;嵌入式系统
中图分类号:TP 316.8 文献标志码:A 文章编号:1009—0185(2012)03—0073—03
Analyzing the Development of Linux Technology
ZHANG Wei—jie ,LI Ming—li
(1:School of Computer Science and Engineering,JiLin Institute ofArchitecture and Civil Engineering,Changchun,China 1301 18;
2:School ofSoiifoace Technology Dalian Univetsity fTeochnology,Dalian,China 116000)
Abstract:The paper states the development environment,analysises the internal organizational structure and it’S
effect of system transplant,introduces target hardware platform and the existing software foundation,and from the an—
e of the realization of the target system,based on the theoretical analysis,ttansplantation for goal realization,a
round the system is an important content of transplantation,do it analyzes and realization.
Keywords:Linux;ARM;system transplant;embeded system ’
交叉开发环境的建立
近些年,嵌人式系统开发已经成为信息产业的研究热点.基于ARM硬件平台及Linux操作系统的嵌人
式产品应用开发已成为主流.而在嵌入式的开发过程中,针对目标平台的操作系统移植成为影响嵌入式产品
开发进度的一个关键因素.
嵌入式Linux系统的软件结构如图1所示 ¨;嵌入式Linux系统开发流程如图2所示.
建
立
交
移
植
移
植
建
立
根
开
发
调
、
叉 ==:> 引 -----^ 内
开
发
环
境
导 --——-
程
序
核 _—--
程
序
文 ——・-
件
系
统
试
应
用
程
序
图1嵌入式Linux系统的软件结构平台
收稿日期:2011—12—10.
图2嵌入式Linux系统开发流程
作者简介:张伟杰(1975一),女,吉林省长春市人,讲师,硕士.
+基金项目:吉林建筑工程学院青年科技发展基金项目(J20091057)
74 吉林建筑工程学 院学报 第29卷
由于一般嵌人式开发系统存储大小有限,所以在裁剪和定制Linux运用于嵌人式系统之前,通常都要在
Pc上建立一个用于目标机的交叉编译环境,完成嵌人式系统的开发.如图3所示,建立一个交叉编译工具链
是一个相当复杂的过程,网上有一些编译好的可以下载.
构建交叉编泽环境
Bill uIils T具包
包括链接器和
汇编器等
GCC编译器
C与C十+的编译器
和预处理器等
Glibc库
提供系统调用和
基本函数C库等
图3交叉编译环境
2 Linux系统移植的基本理论与方法
2.1 Linux系统结构分析
2.1.1 Linux系统的抽象结构
Linux操作系统的内核结构从层次上来说,是整体式的结构.其主要组成结构如表1所示 .
表1右边是从操作系统的层次结构进行分层,左边是从基
本功能模块的角度来对Linux系统进行分层.
2.1.2 Linux内核子系统与系统移植
Linux内核功能有进程管理、内存管理、中断和异常处理、设
表1 Linux操作系统结构
备控制、文件系统和网络接口.从典型的ARM平台的系统移植
实例的分析来看,系统移植的工作主要集中在中断异常处理、文
件系统、设备控制部分.主要是由于这几个部分和ARM平台的
系统之问关系密切,相对来说,设备控制是移植中工作量最大的部分 .
2.2 Linux内核对系统移植提供的支持
2.2.1 分层结构
Linux内核的设计吸取了层次结构和对硬件抽象层的思想,对内核进行分层,以便将硬件相关部分和操
作其它上层实现分离开来,从而增强了系统的可移植性,具体分为硬件直接相关层、硬件抽象层和操作系统
内核层.其中硬件直接相关层主要包括由于处理器体系结构和指令集不同而需要进行相应实现的部分;硬件
抽象层是为了屏蔽底层的硬件细节,并为上层提供一个逻辑上统一的硬件环境接口及各种硬件平台上操作
系统的代码重用而引人的机制;硬件无直接相关的操作系统内核层主要包括进程、内存和设备管理,文件系
统及其它和底层设备不直接相关的较高层实现 J.
2.2.2面象对象思想
Linux内核主要是用非面向对象的C语言编写而成,但是Linux内核中大量的借鉴和使用了面向对象的
思想.虽然C语言本身没有提供面向对象的语法支持,但是在Linux中通过使用结构体和函数指针实现了面
向对象机制的部分模拟.
3 目标系统平台介绍
本次移植目标系统采用的是Intel Xscale系列处理器PXA 255(ARM核),该处理器具有体积小、耗电低、
处理能力强、可靠性高等特点,非常适合工业现场控制产品的开发.主要部件:处理器:32位RISC结构400
MHz INTEL PXA 255;FLASH:E 28 J 3 A一150 X 2,32 MB;SDRAM:K4 S 561632 CX 2,64 M;液晶显示器:6.4
寸STN;串口:PXA 255内置2个串口;网口:一个10 BASE—T以太网接口 .
第3期 张伟杰,李明理:嵌入式Linux系统移植技术研究 75
具有的软件平台:采用的内核版本是linux一2.4.18,交叉工具链是arm—linux—Xscale—gcc一3.2
4系统移植实现
(1)建立自已开发板的目录PXA 255,并将U—boot/board/xaeniax/目录中的所有文件拷贝到u—boot/
board/PXA255目录下,针对目标平台文件做相应的修改;
(2)建立自已的配置文件:在include/configs目录中添加头文件PXA 255.h,这个文件是PXA 255开发
板的配置文件,它包括开发板的CPU、系统时钟、RAM,GPIO及其它相关的配置信息;
(3)建立自已的开发板的CPU目录cpu/epu 255,并将epu/PXA中所有文件拷贝到该目录下,针对目标
硬件特性和需求进行各文件的修改;
(4)修改U—boot一1.1.0/Makefile,以便在其中加人对目标板的编译支持,并根据实际情况修改交叉编
译器的路径:PXA 255一eonfig:unconfig;@./mkconfig¥(@:一config+)arm cpu 255 PXA 255.其中“Arm”代表
CPU的种类,epu2 55是ARM CPU对应的代码目录,PXA 255是自已开发板对应的目录;
(5)依次过运行命令:¥make clean,¥make PXA 255一config,¥make,生成3个文件:U—boot:ELF格
式的文件,可以被大多数Debug程序识别;u—boot.bin:二进制bin文件,纯粹的U—BOOT二进制执行代码,
不保存ELF格式和调试信息.这个文件一般用于烧写到用户开发中;u boot.srec:motorola S—Record格式,
可以通过串行口下载至开发板中.
通过mG口将U—boot.bin烧写至Flash的零地址,复位后就可以启动系统了.
5 结语
本文针对嵌人式Linux系统移植在存在的普遍问题,并结合工业现场控制的需求,对嵌人式Linux移植
就嵌入式Linux系统开发流程和交叉开发环境的建立、Linux的内部组织结构及其对系统移植的影响、目标
硬件平台和现有的软件基础以及系统移植实现进行了探讨,将为在此硬件、软件平台的开发工作奠定基础.
参
[1]陈莉君,康华,张
考文献
波.Linux内核设计与实现[M].北京:中国机械工业出版杜,2006:22—25.
[2]陈颐.嵌人式技术原理与应用[M].北京:北京航空航天大学出版社,2011:272—280.
[3】华清远见嵌入式培训中心.嵌入式Linux应用程序开发[M].北京:人民邮电出版社,2009:99—112
[4]任桥伟.Linux内核修炼之道[M].北京:人民邮电出版社,2010:37—50.
[5]钱连举.基于ARM的嵌入式Linux系统移植技术研究与应用[D].成都:电子科技大学.2006.
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713279316a2217696.html
评论列表(0条)