Linux在嵌入式系统中的应用

  • 格式:pdf
  • 大小:91.40 KB
  • 文档页数:4

文章编号!"##$%&’()*&###+#$%##&&%#’,-./0在嵌入式系统中的应用范质坚*湖南省计算技术研究所1湖南长沙’"##"&+摘要!,-./0系统不仅适合于服务器和23台式机1还适合于嵌入式系统4本文描述了嵌入式系统的特色和如何在嵌入式系统中应用,-./04关键词!,-./05嵌入式系统5操作系统中图分类号!627"$89"文献标识码!:;<=>??@A B C D A E FE G H A F I JA FK L M =N N =NO P Q D =L QR S T U V -%W -X .*Y /.X .3Z [\/]^_6^‘V .Z a Z b cd ^e ^X _‘Vf .e ]-]/]^13V X .b e V X ’"##"&13V -.X+>M Q D g C B D !,-./0‘X .h ^X \\a -^i.Z ]Z .a c-.e ^_j ^_X .i23h /]X a e Z-.^[h ^i i ^ie c e ]^[e 86V -e\X \^_k -a ai -e ‘/e e ]V ^‘V X _X ‘]^_-e ]-‘Z l ^[h ^i i ^ie c e ]^[e X .iV Z k ]ZX \\a c,-./0-.^[h ^i i ^ie c e ]^[e8m =Pn E g N Q !,-./05^[h ^i i ^ie c e ]^[e 5Z \^_X ]-.be c e ]^[o 引言嵌入式系统*p [h ^i i ^iq c e ]^[e+被定义为!以应用为中心1以计算机技术为基础1软件硬件可裁剪1适用对功能r 可靠性r 成本r 体积r 功耗严格要求的专用计算机系统4嵌入式系统的基础是以应用为中心的s 芯片t 设计和面向应用软件的软件产品开发4嵌入式有着极为广泛的应用1一台通用计算机的外设就包括)到"#个嵌入式微处理器4在制造行业r 过程控制r 通讯r 仪器仪表r 航天r 军事等方面都有嵌入式的应用领域1大量的嵌入式系统已走入家庭1如微波炉r 空调r 洗衣机等4最早的嵌入式系统要追溯到&#世纪六十年代晚期用于电子电话交换机的s 存储程序控制t 系统1其本质是一个固态控制程序4那时的计算机是一件昂贵的东西1它专为特定的用户设计1有特定的应用程序指令r 特定的f u v 设备4当时编制程序依赖于系统1各系统之间指令不兼容1程序员编程效率低下1微处理器的产生改变了这种局面4价格低廉r 结构小巧的32w 和外设连接在总线上形成了比较大的系统1这种硬件架构很稳定1在这个基础上1建立起了通用的软件开发环境和编程模式1简化了编程4在(#年代的后期1出现了嵌入式操作系统1它们采用汇编语言编写1而且只能运行在相应的特殊处理器上5处理器过时1则这个操作系统就没有用了1对新的处理器必须重新编写操作系统的所有代码43语言出现以来操作系统的编写有了很大的改观13语言有很好的稳定性和收稿日期!&###%#(%&$作者简介!范质坚*"x (’+1男1湖南长沙人1湖南省计算技术研究所工程师1硕士1研究方向!嵌入式系统r 数据库系统r 分布式处理4&###年第$期计算机与现代化y f q w S T y f z w {f S T |S f Y w S总第(#期可移植性!所以今天的许多操作系统都使用"来编写#在$%年代末!出现了好几个商业的嵌入式操作系统!而且它们已经演化成为今天的主流嵌入式操作系统!比如很有名的&使用者众多的操作系统’()*+,-&./0/&12345246和789:+*6";#<为什么要用嵌入式=>?@AB 894)是一种自由的多任务操作系统!其源代码公开!B 894)广泛用于服务器平台和C "桌面平台#本文所指嵌入式B 894)是经过小型化裁减并能烧录入容量只有几百-D 或几ED 的内存F G 5H 6IE2J +,KL 内!不需要硬盘作为存储介质!也不需要键盘&鼠标之类的外设!应用于各种特定嵌入式场合的专用操作系统#今天的B 894)系统相对于789:+*6";&M 1N 以及O 0C ;1等嵌入式系统有很多特色和突出的优势’适应于多种"C P 和多种硬件平台!性能稳定!裁剪性很好!支持多任务和多进程!源码开放!开发和使用都很容易#最小的嵌入式B 894)系统必须包括以下部分’启动程序&内存管理&进程管理&硬件驱动程序&文件系统管理F 在Q 0E 或Q R E 中L &必须的应用程序&S "C T U C 通讯协议#有人认为B 894)系统庞大!似乎不适合于嵌入式系统!事实并非如此!因为典型的发行B 894)集成了很多桌面C "机需要而嵌入式系统并不需要的功能#首先!我们可以把核心F -2,925L 从其它任务中分离出来#标准的B 894)核心总是贮留在内存中!当需要应用程序时!它把需要的程序从磁盘调入内存运行!程序运行完毕!内存清空!卸载程序#在嵌入式系统中!经常没有磁盘!目前有两种办法来处理没有磁盘的情况!对于比较简单的系统!核心F -2,925L 和应用程序同时贮留在内存!当系统启动时!就启动应用程序!这种方式和以前的嵌入式系统一样工作!B 894)系统也支持这种方式#第二种方式是!考虑到B 894)有5+H :F 装载L 和495+H :F卸载L 程序的能力!嵌入式系统也可以使用这一特点!来节约内存#假如有一个典型的嵌入式系统’包括$VW X ED 的G 5H 6IE2J +,K 和$VW X ED 的Q R E !可以在G 5H 6IE2J +,K 上建立文件系统!使用G 5H 6I 的驱动程序来驱动G 5H 6IE2J +,K 上文件系统工作#另外!也可以使用G 5H 6IY 86-!其中有一个例子是E Z 6K 6[2J 的Y 86-09"I 8.!它可以支持达W X %ED 的G 5H 6IY 86-#把使用的应用程序文件存放在G 5H 6I 文件系统上!根据需要调入程序#这种动态装入方法有很多优点’因为在B 894)中有一些应用程序只是在初始化时使用一次!然后就没有用处了!另外它们运行方式是一个接一个!顺序进行的#可以允许初始化程序的代码在使用完毕后被废弃!不必永远存放在内存#因此相同内存可以运行不同的程序!这样很节省内存#B 894)还有一个特点是使用虚拟内存!当程序过大时可以交换到虚拟存储器上!这一功能使得程序有很大的运行空间#然而!在嵌入式系统中!这个功能似乎没有用武之地!因为没有磁盘#这个功能对于嵌入式系统!特别要求实时性很强的系统来说的确不那么重要!因为这个机制会浪费时间!所以!嵌入式系统的应用程序还是在固定的地方运行比较好#考虑到一些"C P 有这方面的特点!建议保留虚拟存储器的代码#不仅因为剔除这部分代码很费事!如果剔除相关代码!还容易造成其它问题!更主要的是这保留了这部分功能!能够使得不同进程使用相同代码#如果没有了这个功能!每个程序都需要自己的运行库!在内存中就会有库的很多拷贝#其实只需把交换空间的长度设置为零!就可以关闭虚拟内存的页面换入和换出功能#对一些"C P !虚拟存储器的功能提供内存管理!防止不同程序占用相同的地址空间#而在嵌入式系统中!使用简单&绝对的地址空间!因此这种功能也不会起作用!不过这倒提供了防止误写以至于使系统崩溃的功能#很多嵌入式系统习惯使用\全局变量]!让进程共享数据#在^__%%%年第X 期范质坚’B 894)在嵌入式系统中的应用!"#$%系统中提供共享内存方法让进程共享数据信息&很多嵌入式系统没有磁盘和文件系统’!"#$%也可以在没有磁盘的系统上运行&正如上面提到的’应用程序可以和核心一起编译’在启动时一起装入运行’这适应于简单系统’但不具有灵活性&其实’许多商业的嵌入式系统都提供文件系统的选择’大都是特殊的文件系统或者兼容()*+,)文件系统’!"#$%提供包括()*+,)等许多选择’其它的文件系统具有更好的性能&!"#$%还具有许多实时商业操作系统所不具备的检查和修复文件系统的功能’这种功能对于通过网络更新的系统尤为重要&!"#$%的文件系统可以建立在传统的磁盘上-./012(34567-或其它载体’甚至可以用89(磁盘存放临时文件&在网络化的嵌入式系统中’!"#$%支持:.);网络文件系统<’于是’你可以使用很多网络功能&首先’可以通过网络来启动应用程序’因为通过服务器来启动应用程序’所以是进行软件更新的最好解决办法&其次’在运行过程中’可以很方便地导入和导出数据-状态设置和状态信息等&这个功能很适合用于远程监视和控制应用系统&例如’在89(中建立磁盘’保存各种需要的重要数据’远程系统登录到此89(文件系统’读取数据’然后在操作者的机器上用图形界面显示运行状态’起到很好的监视效果&与其它=>的系统相比’!"#$%是最可靠和最稳定的操作系统’而嵌入式的核心也是如此的&!"#$%的核心移植到新的微处理器上’基本不用什么修改’因此!"#$%可以使用许多计算机主板&外设的驱动程序也多如牛毛’而且比其它的都稳定好用&但是’如果不是=>平台环境’那么你必需为特殊硬件编写驱动程序&嵌入式的!"#$%系统也有缺点&和某些商业操作系统一样’占用较大的内存&当然可以去掉部分无用的功能来减小使用的内存’但是’如果不仔细’将引起新的问题&有些!"#$%的应用程序需要虚拟内存’而嵌入式系统中并没有或不需要虚拟内存’所以’并非所有的!"#$%应用程序可以在嵌入式系统运行&核心的调试工具并非十全十美’虽然可以使用?@A B ’不过更多的是使用C 6"#D 语句来帮助调试&在应用于嵌入式系统的主要问题是E !"#$%本身具有很大的灵活性’而嵌入式系统不具有灵活性’它们主要针对特殊的问题’这是问题的关键&总之’!"#$%用于开发嵌入式系统的应用软件是可能的和可行的&F 应用举例=5G ?3D "%是一个内核基于标准!"#$%的嵌入式操作系统’由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成’其系统占用空间极小’启动速度快’稳定性好’支持标准以太网和H >=I J =协议-中文支持采用国际化路线’提供桌面和窗口管理功能-带K3B 浏览器和文件管理器’带C C C 拨号和路由功能’同时还提供了一个标准的科学计算器及一个文本编辑器’支持智能拼音和五笔字型输入&该系统不仅可以广泛应用于移动计算平台;==><-家庭信息环境;机顶盒’数字电视<-工业-商业控制;智能工控设备’=,)I 9H (机<等信息家电上’还可应用于与J #D 36#3D 相联接的一切接入设备&目前在该系统L M N 芯片上运行’以后将会支持=9*8J )>’=5O 36=>’98(’)D 65#@98(’(J =)’N M L L L 等多种芯片&台湾研华公司=>(*P P Q N &这是一个典型的0//*"#*5#3>=R 板’其构成为标准的=>I S T Q 模块’尺寸U T L U N G 4’号称市场上最小的-完整的)V >&技术指标如下E W 集成于主板的>=R E )H H 254C 15#+L *N N )H =>>/"3#DQ X 计算机与现代化X T T T 年第N 期!"#$%&’(’)*+,-."/0123"#$%!集成于主板的4+5"%$*#55内存!%%*&4+5"67891:;/012361<=用于仿真>**!?@@"12A B 以太网!’B C 电源!支持57=A 8唤醒!一个D #*D 口!一个E 6F ’B 键盘口!一个/**口!两个)%F +4+口!一个并行口支持%E EG D E E G D 6E!图形&6H B -I @@@加速卡J K 5’LM 可共享内存!N?+O M N,O 电源接口!E 6G ?@P 扩展&?-位E 6G ?@P 模块接口Q 结束语嵌入式R S T U V 的应用领域很宽M 投资较少M 但对计算机开发人员的素质要求很高W R S T U V 操作系统具有强大的网络功能M 开放的源码M 免费下载W 目前M 嵌入式R S T U V 在国内尚处于初级阶段M 但在国外已处应用阶段W参考文献&X ?Y 陈莉君Z R S T U V 操作系统内核分析X 5YZ 北京&人民邮电出版社M +@@@M 4Z X +Y 李善平M 郑扣根Z R S T U V 操作系统及实验教程X 5Y Z 北京&机械工业出版社M ?I I I M ?@Z ,++@@@年第-期范质坚&R S T U V 在嵌入式系统中的应用。