赛迪网 > IT技术 Linux > 最新更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

在嵌入式系统中应用Linux深入探究 (1)

发布时间:2006.12.30 04:56     来源:赛迪网技术社区    作者:chengdeyong

摘要:

Linux系统不仅能够运行于PC平台;然而在嵌入式系统中Linux仍然可以大放光芒。本文描述了嵌入式系统的特色,和如何在嵌入式系统中应用Linux。

计算机用于嵌入式控制设备领域的历史和计算机本身的历史一样久远。最初的用于控制机电式电话交换器的通讯设备中“固态控制程序”就是嵌入式程序。“计算机系统”在当时并不普遍;所以固态程序存放在内存中控制相应的设备。在那种时代,运行控制程序是很先进的思想,而且当时也只能如此而已。

那时的计算机是专为特定的用户设计,特殊的应用程序指令、I/O设备和主要的计算设备集成在一起。微处理器的产生改变了这种局面,价格低廉、结构小巧的CPU和外设连接在总线上形成了比较大的系统。这种硬件架构很稳定,于是在这个基础上,这建立起了通用的软件开发环境和编程模式,且简化了编程,。

软件也在随着硬件的发展而发展;开始只有简单的工具用于编程和调试,而且每一个软件都必须从头编写。程序大都采用宏汇编语言,汇编程序还不很完善,调试是一件很麻烦的事。因此一直到70年代的中期,模块化编写程序和标准化的运行库才逐渐流行起来。 在70年代的后期,出现了嵌入式系统的操作系统。它们采用汇编语言编写,而且只能运行在相应的特殊处理器上;处理器过时,则这个操作系统就没有用处了,对新的处理器必须重新编写操作系统的所有代码。C语言出现以来,采用C语言操作系统更有效率了,操作系统的编写有了很大的改观。C语言有很好的稳定性和可移植性,所以今天的许多操作系统都使用C来编写。 于是在80年代末,出现了好几个商业的嵌入式操作系统。而且它们已经演化成为今天的主流嵌入式操作系统。比如很有名的、使用者众多的操作系统:Vxwork、pSOS、Neculeus和Windowss CE。

不过很多的嵌入式系统还没有使用操作系统,它们仅仅包含一些控制流程而已。在嵌入式系统相对简单的情况下,这些控制流足以应付。但是,当嵌入式系统的功能复杂后,简单控制逻辑就不够用了,这时你必须使用操作系统。如果不使用操作系统将会使得控制系统逻辑结构复杂混乱,很容易出错。再者,有些嵌入式系统需要接入网络系统,比如宾馆的门锁控制已经需要接入网络,因此就更需要嵌入式的操作系统来支持应用软件。

除了商业化的操作系统外,还有其他的有版权要求的非商业化嵌入式操作系统可以使用。然而今天的Linux系统有着嵌入式操作系统需要的很多特色、突出的优势:适应于多种CPU和多种硬件平台,性能稳定,裁剪性很好,开发和使用都很容易。因此,我们决定在嵌入式系统中使用Linux操作系统。

1.它具有很好的工具,可以跨越ICE等屏障

原来开发嵌入式系统的关键是需要一套好用的开发和调试工具;而且在开发所不同阶段还需要不同的工具。就比如工匠,只有好的工具才能够使工作完成得又好又快。

传统的开发调试工具就是ICE-在线仿真器;它取代目标板的微处理器,给目标程序提供仿真环境,同时可以连接监视器;允许开发者调试和监视程序的运行。尽管这种运行方式会引起一些奇怪的问题,但是它总能够让你明了程序在目标板的工作状态,免除了对底层的软硬件接口的猜测。但是,这种设备价格非常贵。过去,甚至在整个开发期内,开发嵌入式系统主要依靠这些调试工具。 可是,我们发现,一旦软硬件能够正常支持串口的运行时,我们可以使用其他的调试办法。现代的嵌入式系统采用相当成熟的微处理器。因此很容易使得串口工作。串口连接成功,可以进行很多的开发调试。所以我们不用ICE也可以很好地开始开发和调试工作了,同时还降低开发费用。

Linux利用GNU项目的C编译器来编译程序,使用gdb源程序级调试器来调试程序。它们提供了合适的手段来使你能够开发嵌入式的Linux系统。为了开发基于Linux的嵌入式系统,可以按以下方法进行:

向串口输出提示字符串,例如“hello word ”或“Waston, come here I need you!”等, 然后通过串口,指挥gdb开始工作。以这种方式和另外一台运行gdb程序的Linux主机系统“交谈”,通过串口,你可以很方便地让gdb调试目标程序。通过串口和gdb通讯,可以进行C源程序级的调试。甚至你还可以以串口把其他的程序下装到RAM或flash存储器。通过串口,使用gdb可以使得软硬件的初始化代码继续运行到核心全部启动。

一旦核心在运行了,你就可以使用其他的更好的调试工具,象Kgdb等,如果连接了网络,你也可以让网络工作起来。同时你就可以用GUI的xgdb来调试应用程序。

1 2 下一页>>


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Linux操作系统对I/O端口资源的管理 (12-29) · 轻松实现 Linux下的互联网过滤功能 (12-29)
· 教你在Linux里实现Internet共享连接 (12-29) · 十分钟快速架设Linux系统下WebMail (12-29)
· Linux中访问硬盘DOS分区、软盘和光盘 (12-29) · Red Hat Linux 5将跳票到07年2月底 (12-29)
· RedHat中让普通用户安全执行管理员程序 (12-28) · 我愿Linux与开源世界永远充满活力 (12-28)
· Linux中Gnome与KDE字体大小不同的解决 (12-28) · Linux中利用Procmail来反击垃圾邮件 (12-28)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
[政务][电信][金融][农业][制造业][中小企业]
[CIO][ERP][协同][IT管理][中间件][电子商务]
[政策][地方][专家][评估][辞典][博客][社区]
· 专题:一路畅通构想曲——让出行不再遭遇堵车
· CIO工作亲历:企业ERP选型不能忽视"选人关"
· 综述:信息化建设给中国监狱带来的各种变化
· 金融业风险管理和法规遵从有五点需考虑的因素
· 保险业CIO关注:该如何建立统一高效的CRM体系
· 调查显示:多数CIO对IT规划仍存在困惑和误解
  博客·论坛 ·曾剑秋·项立刚·Java学习·网管