收稿日期:2000-03-28
作者简介:金西(1970-),男,安徽合肥人,讲师,主要研究方向:微电子学、计算机应用、EDA 、远程教学;黄汪
(1975-),男,广西北海人,高级程序员,主要研究方向:微电子学、网络交换机、RT0S.
文章编号:1001-9081(2000)07-004-03
嵌入式L i nux 技术及其应用
金西1,黄汪2
(1.中国科技大学物理系,安徽合肥230026;2.华恒网络技术有限公司,安徽合肥230026)
摘要:L i nux 是一种通用的且适合应用于嵌入式系统的操作系统,
它既可以嵌入到一个非常小的系统中处理简单的任务,也可以组合起来处理非常复杂的任务。介绍了嵌入式L i nux 在小型网络设备开发中的优势,并给出了嵌入式L i nux 应用的一个具体实例。
关键词:嵌入式系统;嵌入式L i nux ;实时多任务操作系统;实时L i nux
中图分类号:TP316.89文献标识码:A
THE TECHNOLOGY OF
E M BEDDED L I NUX AND ITS APPL I CAT I ON
JI N X i 1,~UANG W an g 2
(1.d
e P art m ent o
f Ph y sics ,unio ersit y o f S cience and T echnolo gy o f C hina ,~e f ei a nhui 230026,C hina ;2.~uahen
g N et z ork T ech.L t d.,~e f ei a nhui 230026,C hina )Abstract :L i nux is a versatile and cost eff ective o p erati n g s y ste mf or e m bedded s y ste m s.It can be e m bedded i n a sur p ris i n g l y s m all s y ste m to hand le s i m p le tasks and scaled u p to hand le m ore com p lex tasks.T
h is p a p er W ill d iscuss t he advanta g es o f us
i n g Em bedded L i nux i n s m all net W ork devices.A n exa m p le s y ste m o f Em bedded L i nux W ill be p resented i n som e detail .
K e y words :e m bedded s y ste m s ;e m bedded L i nux ;RT0S;RT -L i nux
1
嵌入式linux开发书籍引言
嵌入式系统(Em bedded S y ste m s )
[1]被定义为:以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统工业的基础是以应用为中心的“芯片”设计和面向应用的软件产品开发。
嵌入式计算机
[1]在应用数量上远远超过了各种通用计算机,一台通用计算机的外部设备中就包
含了5!10个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显示器、M ode m 、
网卡、声卡、打印机、扫描仪、数字相机、U SB 集线器等均是由嵌入式处理器控制的。制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域。
如果嵌入式系统能够连接到I nternet 上面,
则可以方便、低廉地将信息传送到几乎世界上的任何一个地方。将嵌入式系统与I nternet 结合的主要困难在于,I nternet 上面的各种通信协议对于计算机存储器、运算速度等的要求比较高,而嵌入式系统中除
部分32位处理器以外,
大量存在的是8位和16位M CU ,支持TCP /I P 等I nternet 协议将占用大量系统资源,或根本不可能。
L i nux 是自由的多任务操作系统,
它需要PC 桌面系统作为运行平台。而本文所讨论的嵌入式
L i nux 是指经过小型化裁剪、能够烧录入容量只有几百KB 或几M B 的闪存(F lash M e m or y )
内,不需要硬盘作为存储介质,也不需要键盘、鼠标之类的外
设,适用于8位/16位/32位M CU ,
应用于各种特定嵌入式场合的专用L i nux 操作系统。
相对于W i ndoW s CE 、GNX 以及国内的~0PEN
第20卷第7期2000年7月计算机应用C om p uter A pp lications
V o l .20,No.7Jul .,2000
(女娲)等嵌入式操作系统,嵌入式L i nux 以其特有
的开放性、与生俱来的网络特性将成为嵌入式操作系统的主流之一。目前,嵌入式L i nux 在国内尚未引起广泛注意,但在国外已处于研究与应用的初级
阶段
[2,3]。2
为什么要用嵌入式L i nux
2.1
与RT0S 的比较
实时多任务操作系统[1](R eal-ti m e M ulti-taski n g 0p eration S y ste m ,缩略为RT0S )是嵌入式
应用软件的基础和开发平台,它是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在RT0S 之上。不但如此,RT0S 还是一个可靠性和可信性很高的实时内核,将CPU 时间、中断、I /0、定时器等资源都包装起来,留给用户一个标准的A P I ,并根据各个任务的优先级,合理地在不同任务之间分配资源。
RT0S 是针对不同处理器优化设计的高效率实时多任务内核,优秀商品化的RT0S 可以面对不同体系结构的嵌入式处理器(诸如68 、Pow er PC 、
ARM 、X 86、M I PS 、D SP 等)
提供类同的A P I 接口,这是RT0S 基于设备独立的应用程序开发基础。因此基于RT0S 上的C 语言程序具有极大的可移植性。据专家测算,优秀RT0S 上跨处理器平台的程序移植只需要修改1%!5%的内容。
与RT0S 比较,L i nux 版本开放、
自带完整配套的系列开发工具[4,5](其开发工具可以是C /C ++、Java 、A da 、
汇编等等编译器;其调试工具是g db 调试器,该调试器能支持源代码级调试),且支持X -W i ndow s 图形界面。2.2
RT -L i
nux
图1
数据和控制流程示意图
通用计算机具有完善的操作系统和应用程序接
口(A P I ),是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在0S 平台上面
运行,但一般不是实时的[2,5]。嵌入式系统则不同,
应用程序可以没有操作系统直接在芯片上运行,但是为了合理地调度多任务,利用系统资源、系统函数
以及和专家库函数接口,用户必须自行选配RT0S
开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
在应用系统当中真正需要“硬实时”(~ard R ea l T i m e )
系统的场合很少,一般的嵌入式系统仅需要接近于实时的系统就足够了。事实上,当今很多商用RT 0S
声称是实时系统,但实际上并未达到“硬实时”[3-5]。
在我们进行RT0S 应用程序设计时,为了符合实时的要求,在设计硬件驱动程序的中断响应结构
时必须谨慎。在很多商用RT0S 系统
(如p S0S p lus )
中,一般建议我们把关键性的任务挂在优先级最高的处理器的中断上,这样才能保证RT0S 系统的实时性。
外挂了RT -L i nux 模块的嵌入式L i nux 系统,
也提供了一个中断管理器,处理所有的中断,能够保证关键性任务的实时响应。
其实,即使没有RT -L i nux 模块,嵌入式L i nux
本身也具有良好的任务响应能力,诸如:在一台使用1U M 以太网的低档586上使用L i nux 处理1U M
b p s 的网络数据包,几乎不丢失任何数据包;对于处理
56kb p s 的M ode m 通讯来说,即便是应用装有L i nux
的486PC 机,也不会丢失任何应该处理的数据包。2.3嵌入式L i nux 的优点
嵌入式L i nux [2]
的界面可以采用X -W i ndow s 的
GU I 方式,
适用于各种需要人机交互的工控应用。嵌入式L i nux 继承了L i nux 的网络和通讯功能,
其应用领域极其广泛。嵌入式L i nux 对众多的数据库支持良好。嵌入式L i nux 除了对传统的外设硬件支持良好外,对不断涌现的新型通讯接口,诸如U SB 接口、蓝牙技术(一种用于手持数字设备PDA 之间的宽带传输协议)也给予强力支持。
3
嵌入式L i nux 的一个设计实例
3.1
设计原理框图
嵌入式L i nux 可以应用于嵌入式网络通讯设备、个人数字助理(PDA )、工业控制设备等场合。下面我们将给出一个应用实例,它可以将普通打印机转换为网络打印服务器,其实现的硬件成本仅需几百元,同时具有良好的系统功能扩充性,例如可以控制打印的权限、使用时间、打印张数,甚至能自动收
E -m ail 并打印输出,
其硬件平台的框图如图2
所示。图2嵌入式L i nux 硬件平台框图
在图2中,我们选用的AM D 公司的ELAN 4xxx
5
第7期
金
西等:嵌入式L i nux 技术及其应用
系列是专注于嵌入式工业应用的M CU,该M CU属于X86体系结构,兼容一般桌面PC的L inux i386版本。这样,我们可以直接使用X86体系的编译器对L inux核心源代码直接进行编译及裁剪。
注意:虽然68K/PoW er PC等在网络通讯领域的嵌入式工业中有广泛的应用,但我们需要对L i nux 核心源代码当中涉及CPU的部分模块以及内存管理模式的模块进行修改,所以在本系统中没有采用该系列的M CU。
嵌入式L i nux烧录在图2所示的F laS1M e m or y 中,可以避免掉电的影响。系统加电启动后,程序将从F laS1M e m or y加载到图2所示的RAM中执行。
3.2系统实现
由于L i nux是开放源代码的自由软件,使我们可以根据应用系统设计的具体需要对L i nux内核源代码进行修改并重新编译。系统实现步骤为:(l)重新编译L i nux内核(kerne l),去掉内核中不需要的模块,诸如PCM C I A之类的外设支持模块等。编译L i nux内核配置文件中的需要配置的部分源代码如下:
CONF I G—EXPER I M ENTAL=y
CONF I G—M ODULES=y
CONF I G—M AT —EMULAT I ON=y
CONF I G—M EM—STD=y
CONF I G—M AX—M EM S I ZE=lU24
CONF I G—NET=y
CONF I G—PC I=y
CONF I G—B I NFM T—ELF=y
CONF I G—KERNEL—ELF=y
CONF I G—M386=y
CONF I G—BLK—DEV—FD=y
CONF I G—BLK—DEV—I DE=y
CONF I G—BLK—DEV—CM D64U=y
CONF I G—BLK—DEV—RZlUUU=y
CONF I G—BLK—DEV—LOOP=y
CONF I G—BLK—DEV—RAM=y
CONF I G—BLK—DEV—I N I TRD=y
CONF I G—F I RE W ALL=y
CONF I G—NET—AL I A S=y
CONF I G—I NET=y
CONF I G—I P—FOR W ARD=y
CONF I G—I P—MULT I CA ST=y
CONF I G—SYN—COOK I ES=y
CONF I G—I P—F I RE W ALL=y
CONF I G—I P—F I RE W ALL—VERBO SE=y
CONF I G—I P—M A SGUERADE=y
CONF I G—I P—M A SGUERADE—I PAUTOFW=y
CONF I G—I P—M A SGUERADE—I PPORTFW=y
CONF I G—I P—M A SGUERADE—PPTP=y
CONF I G—I P—M A SGUERADE
—PPTP—MULT I CL I ENT=y
CONF I G—I P—M A SGUERADE—I CM P=y
CONF I G—I P—TRANSPARENT—PROXY=y
CONF I G—I P—M A SG—LOO SE—UDP=y
CONF I G—I P—AL W AYS—DEFRAG=y
CONF I G—I P—ACCT=y
CONF I G—I P—ROUTER=y
CONF I G—NET—I P I P=m
CONF I G—I P—M ROUTE=y
CONF I G—I P—NAT=y
CONF I G—I P—AL I A S=y
CONF I G—I P—NO SR=y
CONF I G—I PX=m
CONF I G—BR I DGE=y
(2)编写B oo t L oader,制作B oo t ROM用于加载嵌入式L i nux内核到内存中;
(3)重新设计以太网驱动程序以及串/并口驱动程序;
(4)设计嵌入式L i nux应用程序,管理打印服务的应用;
(5)嵌入式L i nux系统执行流程如图3
所示。
图3系统执行流程图
4结束语
由于EDA(电子设计自动化)技术的飞速发展,我们已经成功地将小型化后的L inux操作系统写入F laS1 M em o r y芯片中,正常运行并完成预期的管理目标。由于L inux操作系统具有强大完善的网络功能、开放的源代码、免费下载、良好在线服务等特点,积极开展有关的研究,既有利于国家安全,又利于创新、出新。
嵌入式L i nux的应用领域很宽,投资较少,但对开发人员的素质要求很高,开发工作应由精通计算机工程、电子工程、行业应用的复合型高级人才完成。同时嵌入式系统也要求以工业化、工程化的方式研究开发有关技术。通过I nternet网,推动嵌入式L i nux技术的深入合作研究是一种好的手段。
参考文献
[l]吕京建,等.面向二十一世纪的嵌入式系统综述[R].
1tt p://WW.bo l-S y Ste m.
[2]e m li nux主页[EB/OL].1tt p://WWW.e m li nux/.
[3]M oreton l主页[EB/OL].1tt p://WWW.m oreton.
au/m bW eb/p roduct/nette l/nette l.1t m.
[4]uC-L i nux/C o ldF ire主页[EB/OL].1tt p://WWW.
m oretonba y/co ldfire/li nux-co ldfire.1t m.
[5]uC-L i nux主页[EB/OL].1tt p://WWW. g.
[6]M otoro la C o ldF ire CPU主页[EB/OL].1tt p://WWW.
m ot/SPS/PESD/i ndex.1t m l.
[7] C.W a y ne W ri g1t,EdW ard J.W alS1.urricane
1unti n g[J].L i nux Journal,(58),F eb l999.
6计算机应用2UUU年
嵌入式Linux技术及其应用
作者:金西, 黄汪
作者单位:
刊名:
计算机应用
英文刊名:COMPUTER APPLICATIONS
年,卷(期):2000,20(7)
被引用次数:59次
1.张俊一款基于S3C2440A的银行评价器的设计[期刊论文]-电子设计工程 2011(1)
2.熊雄.熊凌云.陆春信基于Linux的江西气象系统设计与实现[期刊论文]-科技广场
2010(1)
3.张虹.覃炜懿.吴燕妮基于ARM-Linux的农田信息监测系统[期刊论文]-企业科技与发展 2010(16)
4.李爱.贺锋.王汝传一种嵌入式P2P流媒体播放器的设计[期刊论文]-信息化研究 2010(9)
5.张兵.唐亮.牛斗基于嵌入式Linux用户驱动模块设计[期刊论文]-计算机与数字工程 2009(11)
6.王伟.周兰江.刘礼东.解云霄Java Web应用在ARM Linux平台上的实现[期刊论文]-电脑知识与技术 2009(16)
7.张延冬.王志鸿基于ARM和SQLite在远程控制系统中的应用研究[期刊论文]-电子测量技术
2009(1)
8.张舸.刘利强.万力基于Intel PXA255的嵌入式系统LCD驱动设计[期刊论文]-湖南理工学院学报(自然科学版) 2008(3)
9.徐峰浅谈我国嵌入式Linux技术的发展现状与发展动向[期刊论文]-硅谷 2008(6)
10.文远保.杜冠GPS/GPRS车载监控终端的开发[期刊论文]-微处理机 2007(2)
11.马程浅析嵌入式Linux[期刊论文]-科技咨询导报 2007(13)
12.黄守明.张红莉嵌入式实时操作系统中的一种互斥方法[期刊论文]-福建电脑 2007(7)
13.徐光跃.骆玲.文劲宇基于嵌入式Linux的高压开关室SF6气体在线监测系统[期刊论文]-电工技术 2007(2)
14.徐俊仕.徐娅萍.洪连环基于嵌入式LINUX车载导航系统的LCD驱动实现[期刊论文]-机电一体化2006(6)
15.刘进军嵌入式Linux系统开发平台的实现方法探讨[期刊论文]-滁州学院学报 2006(3)
16.杨金显基于ARM-Linux平台车载导航系统设计与实现[学位论文]硕士 2006
17.李文豪基于对象的嵌入式实时操作系统—MKRTOS的实现和移植[学位论文]硕士 2006
18.傅竹青基于嵌入式Linux和MiniGUI的数据传输测试分析仪监控终端研究[学位论文]硕士 2006
19.张晓林基于uClinux的税控收款机的设计与开发[学位论文]硕士 2006
20.王震嵌入式GUI构件库的设计与实现[学位论文]硕士 2006
21.刘伟基于ARM的嵌入式系统与局域网互联的研究与实现[学位论文]硕士 2006
22.沈晓军.张慧慧.郑刚.马青宇.李开生.李静梅.梁立全一种基于嵌入式Linux的控制设备系统的研
究[期刊论文]-制造业自动化 2005(3)
23.詹雄泉.洪景新.郑灵翔.陈辉煌ARCA2开发平台上不同显示模式的研究和应用[期刊论文]-微机发展 2005(8)
24.郭晨鲜.费凌基于嵌入式控制器及研发平台的分析与研究[期刊论文]-西华大学学报(自然科学版) 2005(4)
25.张延冬.焦彦军.张举基于嵌入式系统的故障录波器设计[期刊论文]-继电器 2005(3)
26.胡飞跃.张娜嵌入式远动控制系统中的通信技术[期刊论文]-长沙电力学院学报(自然科学版)2005(2)
27.梁哲嵌入式Linux操作系统TCP/IP协议栈构件化的研究与实现[学位论文]硕士 2005
28.芦文龙嵌入式Linux手机平台若干关键技术的研究与实现[学位论文]硕士 2005
29.张金成基于ARM7的嵌入式系统设计与Web服务器的实现[学位论文]硕士 2005
30.谢斌基于AT91RM9200的嵌入式LINUX开发平台的实现与研究[学位论文]硕士 2005
31.刘振钧构建基于PowerPC的嵌入式Linux通信平台[学位论文]硕士 2005
32.崔涛KVM交换机嵌入式系统软件研究[学位论文]硕士 2005
33.周百龙基于脑机接口的嵌入式技术研究[学位论文]硕士 2005
34.翟勇uClinux平台上USB主机控制器驱动开发[学位论文]硕士 2005
35.赵龙宝基于嵌入式芯片和IP技术的小区数字访客系统的研究和设计[学位论文]硕士 2005
36.万冬云嵌入式系统网络接入在数字访客系统中的应用设计[学位论文]硕士 2005
37.李晶电子提花机嵌入式系统设计[学位论文]硕士 2005
38.李吉祥基于嵌入式系统无纸记录仪的研制[学位论文]硕士 2005
39.曾翔基于状态检测的防火墙技术及其数学分析模型研究[学位论文]硕士 2005
40.李勋龙基于S3C4510B的嵌入式Web系统的研究与设计[学位论文]硕士 2005
41.赖宏萍Linux的嵌入式研究应用[学位论文]硕士 2005
42.荣苏娟嵌入式TCP/IP协议栈的设计与实现[学位论文]硕士 2005
43.周余基于MC68SZ328的Linux智能手机系统设计[学位论文]硕士 2005
44.张辰嵌入式Linux系统一般应用程序及GPRS无线网络应用的开发[学位论文]硕士 2005
45.李英伦嵌入式视频模块的研究与开发[学位论文]硕士 2005
46.蔡勇基于北斗的民用船舶/车辆监控调度系统技术研究[学位论文]硕士 2005
47.张延冬.焦彦军.张举基于嵌入式系统的故障录波器设计[期刊论文]-电力自动化设备 2004(10)
48.胡志坤.李建清.张中平.胡德胜基于嵌入式Linux的气象数据采集系统的设计[期刊论文]-电子工程师 2004(2)
49.蔡冬军基于Linux的嵌入式系统研究和应用[学位论文]硕士 2004
50.张成伟基于嵌入式Linux的GSM/GPRS无线通信模块的设计和实现[学位论文]硕士 2004
51.王作辉智能终端无线应用技术的研究与实现[学位论文]硕士 2004
52.戴志诚工业控制中嵌入式系统软件的设计与实现[学位论文]硕士 2004
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论