访问电脑版页面

导航:老古开发网手机版其他

赢得设计成功的嵌入式Linux

导读:
关键字:

  要点
  嵌入式Linux帮助赢得主流手机设计成功
  半导体厂商希望借助Linux来销售芯片
  入门级硬件使得售价低于200美元的关键产品的实现成为可能
  开放源虽能提供自由度却引起了IP版权问题
  桌面操作系统采用类似Windows XP的界面
  就在短短5年前的一次设计审 查会上,大家对我提出的考虑——将Linux用于嵌入式系统用户界面与管理控制的建议——反应冷淡。反对这一建议的理由包括:Linux不能快速响应实时事件、开放源代码界对软件支持的担心、以及对未来不可预测事情的顾虑等,评审组最终选择了Windows CE。当时,客观地讲,还没有完全适合嵌入式系统开发的主流操作系统派生产品,因此大多数设计均采用专用解决方案,如QNX Neutrino或Wind River公司的 VxWorks等。与此同时,主流产品界与开放源代码界正忙于利用其核心软件架构来满足占板面积小的嵌入式系统的需求。结果,在去年2月举行的3GSM世界大会上,像英飞凌 (Infineon)、飞利浦 (Philips)、三星 (Samsung) 及意法半导体 (STMicroelectronics) 等行业巨头,都公布了采用Linux的手机产品。在其他场合,飞思卡尔 (Freescale) 公司的软件子公司Metrowerks推出了适合汽车电子的Linux——主要用于车内娱乐设备。就在上个月,Xilinx公司发布了一个用于其免费下载Webpack FPGA开发环境的Linux端口,这预示着Linux操作系统正逐渐在工程领域得到同行的认可。那么Linux对嵌入式系统开发到底有多大用处?同样重要的问题是,它启动时又有多大难度?


  首先,必需将硬实时操作系统与软实时操作系统区分开,前者可保证不会错过最后期限并能准确地了解工程的进度,后者则通常需要在一个特定时间范围内才能完成任务。像QNX、VxWorks及其他一些开发环境——如LiveDevices公司的Realogy套件及Volcano公司的汽车联网系列产品等,均可处理需要有充分确定性响应时间的关键任务(参考文献1)。但据EDN编辑Warren Webb最新报道,目前有许多可用来满足实时需求的商业性Linux产品,如LynuxWorks公司用于补充其LynxOS产品的BlueCat Linux以及即将推出的Red Hat Embedded Linux,是坚持Red Hat的Linux 与将Linux及VxWorks融合在一起的全球最大商用RTOS供应商Wind River公司共同协作的结果(参考文献2)。而最近进行的一系列发布,如General Dynamics Advanced Information Systems(通用动态高级信息系统)选择LynuxWorks公司的安全应急LynxOS-178 RTOS来开发美国陆军未来战斗系统 (FCS)的基础设施等,则表明这些进展意味着巨大的商机,
  尽管这些系统都与Linux兼容,但它们还是不可避免地采用了专用软件来满足客户的需求。例如,MontaVista公司对Linux内核进行了修改以满足其运营商级产品的如下需求,即增加大量预占点来将最坏情况下的延时从大于100ms缩短至小于1ms,以适应在电信基础设施中使用。此外,由FSMLabs公司提供的RTLinuxPro,将Linux作为一个在硬实时操作系统内核监控下的空闲线程来运行,在一个典型x86平台上可保证最坏情况下的中断延时为13ms,并允许无缝访问Linux环境。欧洲市场的兴趣来自意大利软件开发商Koan,Koan公司的Klinux采用由Polytechnic of Milan航空航天工程系RTAI项目开发的实时应用接口 (RTAI) 内核扩展来提供硬实时响应。在获得免许可的开放源代码条件下,Koan正致力于将其系统移植到包括x86、ARM、PowerPC及Xscale架构的处理器上,这些产品主要用于工业控制。
  让我们回到消费电子市场,信息娱乐与手机应用的迅猛发展预示着嵌入式Linux会更加广泛地用于对任务苛刻程度与实时响应没有那么严格要求的设备中。当然,Linux已经在可靠性与安全性方面获得了很好的声誉,正因为如此,移动电话运营商Orange与意法半导体公司最近决定对嵌入式Linux系统的研发进行联合投资,该操作系统用于在意法半导体公司基于ARM的Nomadik处理器上运行的一个安全电子手机付费程序。但Linux传统的反应时间迟缓已经在很多场合妨碍了它的应用,这是由于它原有内核的非预占性设计而造成的,其运行任务会停止中断,并且其调度程序采用了一种公平算法来保证所有任务均分享一部分处理器时间,而不考虑任

务的优先级。这种内核还依靠任务之间的页面交换,因此不能在必需适应异步事件的系统中对时序进行准确地预测。此外,它还要求用存储器管理单元 (MMU) 来进行存储器保护以及方便多任务处理。
  当前的2.6版内核进一步减少了延时并拥有许多嵌入式友好特性,包括构建用于不需要用户界面的设备的小占板面积内核选项。在从过渡版2.5开始发布的内核中,系统核心是所谓的O(1)调度程序,它增加了内核预占、任务优先级与一个专用时间限制程序。基于Linux 的电话系统制造商Digium公司总裁Mark Spencer声称,无需对内核进行额外的修改,Linux操作系统的性能就能胜任软实时应用,他说:“大多数先进PC平台可处理多达每秒1000个硬件中断,这对于Digium公司的Asterisk系统核心部分的时分多路复用总线来说已经足够”。他认为Linux 的一个重要优点是它能适应从小型嵌入式平台直至超级计算机的升级,并且还能与PC开发并行进行。他说:“一开始,PC只运行字处理软件与电子表格软件,但它们很快便开始取代小型机并在计算领域占优势。与此相似,Linux正变得无处不在,现在其产品出现在各种不同的应用领域中”。Spencer坚持认为Digium公司应继续开发它的开放源代码Asterisk产品,而且公司还可以将许可授给第三方以进行专用软件开发,这代表了Linux商业合作的运营模式,他说:“我们刚刚推出了Asterisk商业版,并正在开发更多的PBX基础设施硬件,包括一种回波消除卡”。
  另一个硬件方面的考虑是Linux对32位机的要求。在http://elks.sourceforge.net上已有一个目标瞄准8086型架构的16位项目,但随着32位芯片的推出(例如Atmel公司基于ARM7的AT91SAM7S系列闪存微控制器,其批量售价约为3美元),除历史溯源外,再进行16位机开发已没有什么意义。当然,Linux本身在386机上的开发历史表明,它可以方便地移植到386嵌入式空间。但也存在对ARM及PowerPC架构的广泛支持,且还有很多项目涉及到含有MMU的MIPS与32位 Renesas Super-H器件等目标机器。uClinux项目 (www.uclinux.org) 允许在缺少MMU的机器上运行Linux,这对于嵌入式空间来说非常关键——在此领域常常对多任务处理没有多少要求。与当前许多显得相当平静的其他Linux项目不同,uClinux无疑是充满活力且运行良好的项目。实际上, 2.6版内核包含了该项目的一些特点,其结果是现在可以在缺少MMU的芯片上运行该操作系统,例如Analog Device公司的Blackfin、ARM7TDMI、飞思卡尔公司的68k/ColdFire与QUICC产品、英特尔公司的i960及NEC公司的V850E等。如果您必须采用16位机,则有一个正在进行中的项目——瑞萨公司的H8S/2100(参见http://sourceforge.net/projects/h8-uclinux/)。

  低成本开发系统
  这一切都显得非常伟大。但目前可用的选择使得从事Linux并非是一件简单的事情。因为所有嵌入式开发都必须先有一个主机,然后还需要有一个Linux桌面安装程序(参见附文“Linux是否已进入黄金时期?”)。如果这种选择很复杂,则选择一个嵌入式平台更加困难。例如,在www.linux.org上搜索英语版嵌入式Linux 会得到不少于27种用于各种平台的版本。对于桌面环境来说,这是完全可行的,且Linux界的精神就是——自由地下载可用的文件并编译您自己的安装程序。那些工作时间较少且更直接关注开发的工程师,更有可能从现成开发平台上受益,此外还采用有广泛的选择。例如,Koan提供了一套包括软件、文档及该公司开发环境/工具包在内的售价299欧元启动软件。另一个相反的极端是,uClinux专业开发商Arcturus Networks公司则提供了一个用于住宅网关与路由器的参考平台以及用于Atmel公司AT91-ARM7TDMI及Freescale公司ColdFire与DragonBall架构的开发套件,售价从495美元至1295美元不等。
  对于有兴趣将Linux运用于像嵌入式控制与信息娱乐控制台等各种应用开发的工程师来说,Analog Devices公司 (ADI) 最近公布其ADSP-BF533-Stamp开发套件是一条非常令人感兴趣的消息。该产品售价低于200美元,包含一块目标线路板、一张装有uClinux软件的光盘 (CDROM) 以及一个通用输入电源,只需增加一条标准直通串行电缆和一台PC主机,系统就完整了。线路板容纳有一个ADSP-BF533 Blackfin 500 MHz处理器以及一个看似足够大、排列成4组16×4的128MB  SDRAM(图1)。当多媒体电话需要有和PC一样多的存储器时,该存储器余量可为软件编写员提供足够的应用程序开发空间。例如,三星公司刚刚推出了一款4 Gb闪存,它将四个1Gb的裸片组合到一个11mm×13 mm的封装中。该1.8V器件能够支持108 Mbps的数据读取速率,比传统的NAND闪存器件快4倍,同时还支持10Mbps的写入速率,比标准NOR闪存快60倍。该公司计划于今年7月份开始大批量生产该产品。


  Stamp开发板包括4MB闪存和一个CPLD(大规模可编程逻辑器件),CPLD扩展了处理器的异步存储器空间以满足这一最大闪存容量。在处理器异步存储映射空间中还有各种外围器件,例如一个10/100 Mbps以太网端口等。其他较为明显的硬件包括三个按钮开关与LED指示灯(CPLD可将其映射到GPIO空间或断开它们)以及一个可表现ADI公司ADP3025控制器芯片能力的多级开关模式电源。两个允许访问Blackfin及CPLD的JTAG接口的接头,是对访问微控制器外围器件的正常范围接头的补充(图2)。这些外围器件包括两个串口、一个SPI端口及一个并口/GPIO接口、三个定时器、一个实时时钟与一个红外设备接口。这些功能块都安装在一个尺寸为178mm×127 mm的四层板上。目前有一个可用的ADC子板,而正在开发的硬件(已能免费获得其原理图)还包括一个音频编解码器卡和一对视频编码器与解码器卡。


  配发的CDROM中包含了该系统的文档,包括原理图与CPLD文件以及各种软件组件。一本130页的用户手册包括Analog Devices和Arcturus Networks公司介绍uCLinux并说明Stamp板的文件。它还包括一些指导性资料但当前处于测试之前的阶段(版本0.5.4)。如果要更新,可查看位于http://blackfin.uclinux.org上的用户组页面,这也是寻求支持的入门网站。CDROM上软件内容包括预构建内核图象与源代码、用于Blackfin的工具链端口、一个免费发行的JTAG工具、U-Boot加载程序以及一个Cygwin环境的Blackfin端口。单页快速启动指南可满足用户希望了解如何使用该系统的愿望。首先要完成的任务是利用HyperTerminal(超级终端)等程序来建立PC到线路板的通信连接。只需遵循少数几条指令,并给线路板加电,运行一些内存检查程序,并默认从板上的闪存引导内核,uClinux命令壳 (shell) 屏适时地出现在HyperTerminal视窗中。


  为避免在主机上安装Linux(在此评测示例中是一台在NTFS格式驱动器上运行SP2的Windows XP专业机),用户可安装Cygwin——一种面向PC类似Linux的环境(www.cygwin.com)。正如其主页上所预先警告的,Cygwin不是一种在Windows上运行原始Linux应用程序的途径,也不能让Windows了解Unix功能:“如果您希望在Windows上运行您的应用程序,则您必须从源代码重新构建此应用程序”。但这种限制在嵌入式前后关系中是没有什么联系的,对目标的任何改动都需要重新编译。此外,该套件附带的Cygwin指令还估计此端口的速度比原始Linux版本的速度大约慢3倍。Cygwin也不是一种轻量级安装,它几乎要占去1G字节的磁盘空间。但Cygwin的Blackfin端口包括工具链和uClinux内核,从而避免了下载以及在Linux主机上构建这些组件的要求。尽管主用户手册提供了逐步指令来说明如何在Linux盒上构建工具链,但首次用户可能会得到这种方法阻碍任务进行的“恐吓”。
  运行的Cygwin的安装程序解压并安装一个原始系统。安装程序还将安装免费软件AnyEdit文本编辑程序,它可以在Windows Cr-Lf(回车/换行符)与Linux Lf行尾结束符之间转换(首次用户要了解的其他问题还包括Linux使用正斜杠来说明路径方向而不是像Windows那样使用反斜杠)。点击Cygwin uClinux桌面图标可打开系统的命令行界面窗口,它基于Linux标准的“bash”(猛击)壳, Bourne-again-shell替换了完全在Unix环境中使用的壳。接下来,Cygwin指导用户执行make程序来根据目标板定制环境。此步骤出现在配置屏幕的“processor type and features(处理

器类型与特点)”子菜单下,并默认执行用于Stamp目标板的正确选项。首次使用时,请不要改动这些屏幕,也就是说,只需在出现SnapGear配置屏时简单选择Save & Exit(保存/退出),然后再调用make命令。这会触发一个冗长的原程序来构建系统,并为Stamp板配置工具链,在2.4 GHz奔4处理器上会花费15分钟以上的时间。但不要忘记保存浏览SnapGear屏幕选项供以后使用,因其可以用替代参数来执行快速内核重建。
  安装程序结束时将一个简称为Linux (而不是linux.dxe)的文件存放在…/mClinux-dist/linux-2.6.x/目录下。此文件为一个可执行及可链接格式 (ELF) mClinux内核映象,用户可通过U-Boot加载程序将其下载并从Stamp板的SDRAM上运行。Cygwin安装文档虽未明确告诉您这么做,但此时系统已为首次在Stamp目标板上使用它做好了准备。接下来最好马上查看用户手册中U-Boot的HyperTerminal部分,该部分内容介绍了如何下载并运行最新编译的内核映象。这是新用户可采取的确保系统工作的最省事方法,但从测试PC的57,600 kbps Kermit协议串行链路上下载6.3MB的文件大约需花费1.5个小时。当返回HyperTerminal屏幕时,在等待足够长时间后,输入bootelf 0x1000000,应得到一个新的正耗尽SDRAM的uClinux实例,以确认系统安装正确(图3)。
  由于串行链路速度很慢,因此必须使用以太网通信。这就需要用一根标准以太网RJ-45电缆连接至局域网 (LAN),或用一根交叉电缆直接连接至主机。在这里文档未明确指出以下内容,即只有当你调用U-Boot命令(例如tftpboot)时才会激活以太网连接——此时板上以太网活动LED灯会闪亮,就像LAN交换机上监视LED闪亮一样。尽管看起来很清楚,但由于这种操作不符合标准LAN惯例,因此会带来很多麻烦。在最终搞清楚情况以前,需要交换电缆,尝试以太网交叉接线,然后再确定以太网控制器的片选线,同时插接网络。同样,插接只能从目标机至服务器方向进行,从相反方向插接会超时,因为在目标机上没有隐含运行、用于完成信号交换的进程。Linux老手总是将这些问题看成是新手的入门经历,因此必须做好刻苦钻研的准备才能得到结果,且实际上,目前已推出了几款近乎完美的商业产品。
  LAN连接要求在主机上运行TFTP(简单文件传输协议)Server,例如手册上介绍的免费提供给个人使用并与Windows相兼容的TFTP Turbo软件。其他替代方案包括由网络管理专业公司SolarWinds.Net提供的Free TFTP Server(免费TFTP服务器),这是一个可免费下载的软件。当运行bootelf命令以加载及运行内核映象时,正确的安装与配置可在测试PC上将6,491,055字节的下载时间缩短至大约18秒。如果怀疑,可检查标头信息来察看当前正运行的映象的时间戳,但不要用U-Boot的save命令来保存任何环境变量,直到确认它们能正确工作为止,因为此步骤会使系统内存闪烁。从一个坏的Flash状态进行恢复要求用户通过Stamp板的JTAG接口重新对内存进行编程,该接口使用低成本并口调试头。ucLinux/Blackfin门户网站上提供有硬件原理图与软件文件,但目前的用户手册没有该过程的详细说明,因此这里需特别注意。
  此时,用户即拥有了一个完全可以工作的uClinux开发系统。然后,用户可从命令行或SnapGear图形界面(用户手册中详细介绍的一个程序)来重新编译内核以减小命令行所占的位置。德国慕尼黑ADI公司在欧洲工作的DSP系统与应用工程师Michael Hennerich——同时也是uClinux/Blackfin项目的一名领导架构师指出,默认根文件系统大小约为4MB,同时默认内核配置又占用了大约1MB。用户可以调整这些占用范围来适应其应用需求。Hennerich还指出,U-Boot加载程序用于压缩及解压缩闪存内核映象的工具可节省多达5倍的闪存,代价是略微增加了引导时间。并且他还称赞Blackfin的动态功率管理功能,它可以对用于低功耗及小占板面积系统的处理器进行进一步的优化。尽管内核编译允许对默认497 MHz处理器内核和124 MHz系统时钟的时钟频率进行静态改动,实际中的应用程序可以在便携式电子设备上动态地修改时钟频率与内核电压来节省功率。Hennerich称,发布正式基准测试结果还为时尚早。但他又说,他自己对MP3解码的测试表明只需5%的处理器负荷,因此在便携式设备上对功率管理进行研究大有作为。
  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欧元,它们提供的软件包可以保证相对迅速的安装,并且附带通常相当完善的支持文档。所有这些发布的产品均包含类似的核心组件,其主要区别在于捆绑销售的附砑?#8212;—例如可增强传统命令行配置命令的图形化安装工具等。但要注意检查发布的产品包括哪个版本的内核——尽管最新的版本不一定是最稳定的。因此建议商业用户使用版本稍早一些的产品,除非知道它们有严重的缺陷。
  另一个值得关注的问题是发布检测硬件的能力。尽管最近几年主要的供货商已经大幅度改善了其产品的安装程序,根据经验,我们建议使用尽可能符合标准的PC。不久以前,USB支持还很古怪,并且只是在上个月才能使用一个日常Windows-PC实用程序,如Nero(一家在PC光盘刻录软件方面处于国际领先地位的德国公司)的CDROM/DVD刻录软件。另外,Linux也默认支持笔记本PC,但我还不敢在崭新的Dell Inspiron上测试安装,(令人费解的是)该款笔记本缺少重新安装Windows XP及驱动程序的光盘。在历史上,Linux对笔记本电脑的支持一直做得不够好,因此在此次评测中所使用的测试PC是一台传统桌面台式机,它采用带有2.4 GHz奔腾4处理器及512MB RAM的微星国际(MicroStar International)公司主板和AMI BIOS(基本输入输出系统)。外围设备包含双IDE接口80GB的硬盘(Linux显然对串行ATA缺乏完善的支持)、一个索尼DVD/CDROM阅读器与相伴DVD编写器、一个宏基多媒体USB键盘、一个微软PS/2鼠标和一个驱动Iiyama Vision Master Pro监视器的NVidia GeForce4 MX440图形适配器。驻留操作系统为Windows XP Pro。
  ADI公司的Stamp文档(参见正文)对SuSE屏幕进行了说明,反映了由Novel公司的德国子公司所发布的这款产品在欧洲市场上居领先地位这一事实。由于这一等待多时的SuSE专业版9.3的发布恰好赶上EDNE编辑,因此它成为用于测试驱动的自然选择。该软件包包括复制了安装与应用程序二进制及源代码的两张DVD与5张CD-ROM、一本280页的用户指南以及一本680页内含安装与系统配置信息的管理指南。应用软件包括各种数据库、图形、互联网/电子邮件、移动性、多媒体、办公与安全应用程序以及KDE与Gnome桌面环境,还有大量开发工具。
  在另一硬驱上创建一个10GB的备用区域之前,要注意备份Windows安装(程序)。安装选项包括允许系统启动Linux或Windows的grub bootloader(引导加载程序)、桌面KDE以及所有Linux开发工具,整个安装大约需要4.7G B的空间。从DVD进行安装唯一必要的步骤是启动BIOS(基本输入输出系统)对传统USB的支持,以便安装程序能够识别键盘。检查硬件工具确认安装程序正确地识别了系统组件。安装程序会自动找到LAN,并通过使用DHCP(动态主机配置协议)的网络ADSL路由器来建立互联网连接,可连接至Novell公司的主页并使用最新的补丁来更新SuSE。
  但如果已经有将近10年使用Linux的经验,则目前使用Linux不会再有直接的回报。当然,如果您只想运行由Sun Microsystems提供的优秀StarOffice套件的完整OpenOffice开发包,则Linux桌面版是一个不错的选择。不过要设法将一个Linux盒连接到WinNT4服务器网络上,并且仍有必要掌握常令人感到不可思议的Samba软件的本质,这是一个从Unix到DOS/OS2/Windows LAN的桥接软件。附带说一下,只点击网络图标来进行浏览会返回无用的错误消息“lisa daemon not installed or running”(没有安装或运行lisa daemon)。解决这个问题并不简单且文档中没有涉及此部分内容,因此,就按照通常所做的那样,通过Web搜索来寻求帮助。(但遗憾的是,“The Linux Network”——我喜欢的一本说明Samba及Linux网络一般信息的书目前已经售罄,但仍可以订购:参考文献A。)
  还有证据表明存在一些不成熟的应用级软件,在KDEde帮助系统中构建一个搜索索引的首次尝试会使该应用程序崩溃(但不会使系统崩溃)。在许多方面,这种经历会给人留下一种认为Linux/Windows是有区别的印象——在2.4版安装上从事内核级开发的经验证明,Linux是难以崩溃或损坏的。但直到出现Windows 2000专业版时,微软公司才推出一种可以与Linux的稳定性相媲美的操作系统,经过三年多每天密集地使用Win 2K Pro,证明它具有非常可靠的性能。同时,很容易让人感觉到,除实现了许多竞争者已有的类似特性、以及以前简洁的KDE越来越多地采用了类似XP的界面外,Linux阵营在推进其桌面环境融入主流产品方面似乎没有取得多大的进展。但有能力的用户希望能定制并不断更新其Linux系统,而不必对系统作彻底的改动,这种彻底改动使得XP在某些场合已不受欢迎。尤其重要的是,过去需花费大量精力来解决系统问题的开发人员将不会再遇到任何难以克服的困难,并且会很快喜欢上Linux环境——特别是其对技术的开放性,但它仍不是一件轻而易举的工作。

来源:EDN电子设计技术   作者:  2005/9/7 0:00:00
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!