内容摘要 要点 嵌入式Linux帮助赢得主流手机设计成功 半导体厂商希望借助Linux来销售芯片 入门级硬件使得售价低于200美元的关键产品的实现成为可能 开放源虽能提供自由度却引起了IP版权问题 桌面操作系统采用类似Windows XP的界面
内容摘要 要点 嵌入式Linux帮助赢得主流手机设计成功 半导体厂商希望借助Linux来销售芯片 入门级硬件使得售价低于200美元的关键产品的实现成为可能 开放源虽能提供自由度却引起了IP版权问题 桌面操作系统采用类似Windows XP的界面
Hennerich还直接提醒开发人员注意BusyBox程序,它将许多熟悉的Unix工具都装入到一个占用位置小的可执行程序中。只需一个内核映象以及/dev与/etc文件系统,BusyBox——“瑞士军刀式嵌入Linux”——即可提供任何嵌入式Linux系统所需的关键GNU工具链的核心实用程序。作为源代码提供的BusyBox不依赖处理器,允许用户只包括应用程序需要的那部分功能即可。其代码库贡献者包括Linux OS的创始人Linus Torvalds(参见www.busybox.net)。
内核的I/O操作
由于Linux通过设备驱动程序来处理所有I/O,因此让操作系统完成有意义的工作需编写及调试内核级代码。当前Stamp文档包括几个提示以帮助用户完成此任务,另外还包括许多有关如何使用make命令及gdb Linux调试程序之类问题的有用内容 。但当前文件包缺少对开发应用程序与驱动程序等一些关键问题的说明。ADI公司称其正在审查文档并很快会发布新的资料。ADI公司的Hennerich提到可将门户网站上的pflag驱动程序用来作为一个简单应用程序示例,它控制Stamp板上的一个LED开关,当用户按下对应按钮时会停止控制。该示例以及许多其他例子都存放在门户网站的CVS(并行版本系统)数据库中(参考文献3)。一项特别感兴趣的工作是网络示波器项目,它用ADC子插卡及开放源代码驱动程序来展示如何安装一台可遥控仪器、并在时域或频域向主机返回jpeg格式跟踪文件的Web服务器(图4)。对于此项或其他任何重大开发工作,Hennerich强调需要一台合适的Linux主机:“Cygwin适合用于测试驱动,但认真的开发人员应该充分利用原始的Linux作用”。他补充说,他正在开发另一个旨在显示I/O端口操作的Cygwin版本以及一个名为coLinux的替换产品,他建议今后在Windows系统上使用coLinux。coLinux在一台Windows机器上运行一个真正的Linux内核——拥有它的文件系统以及专用数组灵敏度,而且它还将加载原始Linux应用程序。Hennerich强调当前正在进行提供文档支持的工作,并鼓励用户经常查看Blackfin/uClinux门户网站来获得各种程序包的更新。
其他可用快速启动资源还包括EDN的姊妹刊物《测试与测量世界》(Test & Measurement World)中列出的一系列特性,该杂志还列出了其他更多资源,例如O'Reilly Media系列中几本很有价值的书籍(参考文献4)。O'Reilly书目中最近又增加了由Karim Yaghmour撰写的“构建嵌入式Linux系统”一书,该书不费劲地囊括了大量信息,而这些信息又需要通过无数次的网络搜索才能得到。该出版公司还提供了Alessandro Rubini撰写的“Linux设备驱动程序”手册第三版,该书进行了更新以涵盖2.6.x内核。但如果觉得浏览开发源代码社团的吸引力还不够的话,还有许多其他选择,它们也可以提供经济高效的入门级机会。例如,ADI公司拥有用于BF531、533及535u Blackfins的Clinux端口,以适合其EZ-KIT硬件及VisualDSP++开发环境。而且还可使Stamp工具包和VisualDSP++相结合,可以得到一个90天的评估版许可证。
Michael O'Donnell是飞思卡尔公司的软件子公司Metrowerks的内核技术市场营销经理,他通过从2000年开始的观察,对Linux向嵌入式市场的渗透作了总结,当时市场对Linux虽有相当的兴趣但却很少采用。现在,他的客户在汽车信息娱乐等实际应用领域对Linux表现出极大的兴趣。O'Donnel观察到Linux的整个业务模式都在改变,今天主要的投资商都是期望为其芯片建立新市场的半导体厂商。他说:“结果,主要的用户不再是Linux大佬,并且用户将从商业嵌入式开发环境中继续他们的期望”。因此迫切需要软件供应商所提供的嵌入式Linux容易上手及使用。他说明了一个从事任意规模项目开发的典型开发小组的特点,开发小组分别有几位负责内核与驱动软件编写的程序编写员,并且可能还有多达20位应用软件编写人员。由于这个原因,有必要采用一种集成式开发环境,以使工程师能方便地从一个项目阶段平滑地过渡到另一个阶段:“客户正在寻求硬件与板级支持软件包,这些软件包涵盖了从评估与可行性研究直到复杂系统中应用软件与内核级调试的各种内容”。根据这种需求,Metrowerks提供了一系列基于其CodeWarrior工具链的产品,以适合飞思卡尔公司的ARM、ColdFire及PowerPC架构。这些产品包括捆绑了一个开发板的QUICCstart评估软件包、CodeWarrior集成开发环境、Linux板级支持软件包以及用于PowerQUICC I、II和III处理器的WireTAP运行控制工具,售价从495美元到1095美元不等。O'Donnell还指出,最近的ColdFire芯片包括了一个MMU,因此提供了一个完整的Linux板级支持软件包来方便这种变化。
在涉及客户利益的问题上,O'Donnell报告说,知识产权 (IP) 在产品清单中扮演重要的角色。最近的一次深入搜索表明,大约有50种类型的开放源代码许可协定,因此客户希望知道如何才能更好地将宝贵的IP与公共域软件区分开,“在板级支持软件包中包括了哪些许可、并且它们对我的IP有哪些影响?”是一个他最近经常听到的问题,特别是在传统上比较保守的汽车领域。在2004年底特律举行的汽车展会上,Metroworks公司发布了它引起广泛关注的汽车级Linux产品。该公司在开发其产品的过程中积累了大量的技术经验,包括采用新的版本来提供改进的引导时间与功率管理等——即使不是硬实时产品。此外,Metroworks公司还推荐采用它的OSEKturbo RTOS——这是一种决策。O'Donnell认为稳定性是一项重要的客户要求,这不仅体现在软件上客户常常选择最新构建的成熟内核,而且也反映在可方便从多个供应商产品上进行开发的整个业务模式上。他总结道:“当Linux战胜挑战且变得更为主流化时,其业务模式将会日趋成熟,以符合嵌入式系统界的利益”。
目前来自与Linux相关的各种报道的信息表明,这种成熟期将很快来临。例如,当EDNE正要结束新闻发布会的时候,高通公司 (Qualcomm) 宣布将在其移动站调制解调器MSM6550芯片组上支持Linux操作系统。根据其新闻发布,该公司期望这一举措“将能够进一步提高手机制造商设计并开发3G智能手机与其他移动手机的效率”。该公司注意到在芯片组中集成Linux支持可避免采用一个单独的协处理器,并且与第三方OS当前所要求的多芯片实现相比,这种方法还能降低设计成本与复杂性。高通公司还打算将Linux支持扩展到其增强多媒体平台系列的其他芯片,包括UMTS、HSDPA与CDMA2000衍生产品。
参考文献:
1、Marsh, David: "Automotive design sets RTOS cost and performance challenges ,"EDN Europe, September 1999, pg 32.
2、Webb, Warren: "Embedded Linux nears realtime," EDN, September 16th 2004, pg 55.
Path to pflags-test example: http://cvs.blackfin.uclinux.org/cgi-bin/cvsweb.cgi/uClinux-dist/user/blkfin-test/pflags-test/?cvsroot=uclinux533
3、Marsh, David: "Linux applications cruise with new drivers," Test & Measurement World, April 15th 2000 and "The ins and outs of Linux kernel device drivers," T&MW October 15th, 2000.
附文:Linux是否已经进入黄金时期?
正如本文所阐述的,嵌入式Linux开发人员需要一个桌面实例。当Linux头头们在宣传他们最喜爱的产品时,新进入市场的厂商往往想了解主流供货商所提供的软件包有哪些不同,这些主流供货商包括Mandriva(以前的Mandrake)、Red Hat、Slackware及SuSE,尤其是它们可以从诸如Debian (www.debian.org) 或Fedora (www.fedoraproject.org) 网站上免费下载并进行安装。感兴趣的用户还应该留意一个知名度较小的Gentoo (www.gentoo.org),这是一种特地针对可升级性而改良的Linux。但首次用户需要决定是否利用Web资源来构建他们自己的系统,因为商业发布的产品通常售价低于100欧元,它们提供的软件包可以保证相对迅速的安装,并且附带通常相当完善的支持文档。所有这些发布的产品均包含类似的核心组件,其主要区别在于捆绑销售的附
[1] [2]
编辑 webmaster