将x86 SOC的嵌入式Linux系统变身为低价计算机 (下)

来源 :电子与电脑 | 被引量 : 0次 | 上传用户:lin840827247
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  刘鸿恩 / 金丽科技 系统平台开发部
  
  档案系统的起承转合
  
  基本上,嵌入式Linux核心若有一个根目录档案系统可挂载,则Linux整个系统即可正常运作。但这个根目录档案系统若是使用Ramdisk的方式,亦即利用SPI-Flash里面所储存的initrd.gz这一映像档来挂载,则档案系统通常不大。以本系统为例,Ramdisk最多可扩充到4~5 MBytes左右,而以这种容量大小是绝对不敷使用的。因此本系统的做法是把Ramdisk精简化,只保留挂载USB随身碟的功能。当档案系统转换到USB随身碟后,档案系统即可依实际需要任意扩充。其挂载过程请参考图6所示。
  


  目前Ramdisk是使用Ext2档案系统,大小约为300 KBytes,其最主要的档案是放在/sbin这一目录里面的init。在前篇文章提过,init将会是整个Linux系统的第一个行程(Process),但由于我们主要的档案系统会由USB随身碟里面的rimg这一映像档来担任,因此init会先改写成Script file的形式,待整个档案系统移转到USB随身碟里的rimg后,再执行真正的init去开启第一个行程。init这一Script file所做的工作如下所示:
  


  上述第三行指令所做的工作即是挂载USB随身碟到系统里,挂载完之后将可看到里面有一个文件名称为rimg,此一档案即是系统最终的根目录档案系统。因此第六行指令所做的工作,就是继续挂载rimg到系统里。然后在第九及十行以pivot_root和chroot这两个指令,去转换整个根目录档案系统到rimg。而最后的动作则是执行真正的init去启动第一个Process,并由其继续完成系统的初始化工作。
  
  rimg的制作方式
  
  rimg其实是root filesystem image的简要缩写,前面讲述了从Linux核心一路转换到rimg的过程。而若要使用rimg这一档案系统映像文件,则我们必须另外在PC系统制作出来后,才能放入USB随身碟,并交由系统挂载。下面的指令是在Linux Fedora 4的PC系统上执行,制作出来的rimg将会是空的,就像是一个256 MBytes的储存系统刚做完格式化一样。
  


  在完成上述两项指令后,系统将出现一个256 Mbytes的档案,档名为rimg。但此时的rimg并不只是一个档案,而是已经成为Ext3档案系统的映像文件了。因此我们必须将此映像文件展开,并且把系统真正的内容放到rimg里面。由于本系统使用的是x86兼容的CPU,因此档案系统的内容可以很轻易地由PC系统复制过来使用,而不需经过程序移植以及重新编译等过程。目前Linux Live-CD非常盛行,因此把Live-CD里已制作好的内容搬移至rimg里面,将是一种非常方便的选择。下面的指令是以某Linux Live-CD的内容为一范例,说明如何将已制作好的内容复制到rimg里。
  


  
  X-Window的启动流程
  
  当rimg挂载完成并且开始执行init后,init将会开始一连串系统的初始化工作。首先它会去参考/etc/inittab这一档案的设定,并且依照设定的内容去执行一个称为rc.sysinit的script file。为了说明系统原理,我们把/etc/inittab的内容简化如下所示:
  


  上述第一行即是告诉init去执行/etc/rc.d/rc.sysinit这一script file。当执行完rc.sysinit后,系统将完成Keyboard、Mouse以及LAN等设定的工作。之后,系统会开启一个TTY console,并且执行autologinroot这一执行档。此一执行档会自动以root权限登入系统,并且执行/etc/profile。透过/etc/profile,系统将会继续去设定一些应用程序和函式库的路径,并且启动X-Window。本系统/etc/profile的最后一行将会执行/root/.rdc_xwin,借着此一script file,X-Window将会被执行起来。.rdc_xwin的内容如下所示:
  


  上述指令主要是设定xinit去启动X-Server和X-Client。X-Server由于是以Xorg为主,因此其config檔是使用 /etc/X11/xorg.conf这一档案。而X-Client的部分则是执行上述指令所指定的 /root/.xinitrc。其关系如图7所示:
  


  X-Server主要是负责键盘和鼠标的侦测,也就是当使用者移动鼠标或透过键盘输入字符时,X-Server将负责接收这些信息,并传送到X-Client端。另外X-Server也负责接收由X-Client送过来的画面,并且透过VGA卡显示到使用者的屏幕。本文系统所使用的X-Server是使用xorg的链接库和执行档,它们皆放在/usr/X11R6这一目录里,其中/usr/X11R6/bin/X这一连结档已指向xorg。通常VGA显示卡可用VESA模式显示,但若有原厂的驱动程序,则显示的效能应该可以更加提升。由于本文系统的VGA显示卡是使用XGI-Z9,其驱动程序放在/usr/X11R6/lib/modules/drivers这一目录里,文件名为xgiz_drv.o。因此我们在/etc/X11/xorg.conf的驱动程序做了以下的设定:
  X-Client其实就是一些应用程序,而会放到/root/.xinitrc里去执行的,通常是负责启动X-Window的部分。例如设定桌面背景图档、启动Window Manager等等。本文系统所使用的是一个轻量级的Window Manager,名称为IceWM。关于IceWM的套件安装,请参考IceWM的网站。为了简化说明X-Client,我们把启动流程简化如下所示。透过xinit启动X-Server和X-Client之后,Linux系统将会出现一个X-Window的桌面环境。
  


  
  系统桌面展示
  
  嵌入式系统通常在开发板上都有固定的Flash、SDRAM以及几个特定的外围IC所组成。而本文系统试图跳脱原本的限制,利用目前市面上最经济实用的USB随身碟来大幅扩充储存系统,以及增加PCI的VGA显示卡来让使用者有一个LCD屏幕可使用。在USB随身碟的使用上,主要是在档案系统的转换过程;而VGA显示卡的使用,则着重在X-Window的几个启动流程。当档案系统顺利移转到USB随身碟,并且利用VGA的驱动程序顺利让X-Window启动后,一台低价计算机的雏型即可出现。剩余的工作即是充实档案系统里的应用程序,使整各系统的应用更加丰富。图8是本系统的X-Window使用者桌面,图9则是执行网络浏缆器的画面。
  


  
  结语
  
  当一个x86嵌入式系统增加了使用者的输入输出接口后,其实就像一台简易型的PC系统。本文系统是以x86 SOC为发展平台,但由于使用RedBoot Loader去启动系统,因此仍保有嵌入式系统的特性,但又因为有USB Host与PCI Bus可扩充,因此可以很轻易地只靠一些设定,即可让一个Linux系统执行得像PC系统一样。Linux低价计算机其实只是众多应用之一,基于这样的Linux系统的应用,其实充满各种可能性。例如交互式信息系统(KIOSK)、Thin-Client、计算机运算分享器、远程联机POS机、餐厅点菜机、广告机、上网机以及CAI儿童教育计算机……等,都是极具发展潜力的领域。x86 SOC有着低功耗与低成本等优势,而目前其整合度与运算效能仍持续提升当中,相信以x86 SOC为主的新应用将不断地推陈出新。使用者也许感受不到产品正在使用什么CPU,但以x86 SOC为主的嵌入式系统,正逐渐进入我们的生活之中。
其他文献
IEEE802.16-2005是一种低成本、高效能的宽带无线存取设计之标准,又称为802.16e,也常被称为移动式WiMAX标准。WiMAX(Worldwide Interoperability for Microwave Access;全球互通的微波存取),从应用上来说,是像DSL 及Cable moden 一样的宽带联机技术,只不过WiMAX 是透过无线传输的方式,不需要挖路布线,也就是“最后
期刊
到目前为止,由于技术发展的限制,负责处理2.5G、3G通信的基带处理器尚无法整合如此多的应用,高端手机产品多采用基带处理器加应用处理器的方式来解决功能整合的问题,因此基带处理器与其他应用处理器之间的通信问题就成为设计者关注的重点。设计人员不仅需要高效的通信能力,而且还要考虑如何降低功耗。  随着手机市场的不断扩大,产能不断膨胀(仅中国2007年的手机产量就超过5亿部),为使产品更具竞争力,满足用户
期刊
由一群在半导体领域身经百战的老将所组成的Andigilog(类码科技),秉持搭配Intel这家龙头伙伴对新一代主机板散热方案设计蓝图的产品策略,已见成效,从创立至今,客户群已拓展至主机板与风扇领导厂商,预计新产品陆续于今明年导入量产。此外,该公司也获得第二阶段募资1800万美元资金掖助,让其热量管理产品加速进入产值高达20亿美元的桌上型计算机、笔记型计算机和散热风扇市场以及拓展到消费性电子及工业市
期刊
就像Intel带领笔记型业界以LED背光技术取代冷阴极射线管一样,在电视机产业位居领导地位数十年之久的Sony,也正在积极引领消费性电子产品制造商以LED背光技术取代大尺寸液晶电视中的CCFL。LED背光在色域范围、使用寿命、高速闪烁发光等关键特性上相对于CCFL背光所具备的压倒性优势,更是让Sony决心向LED背光迈进的主要原因。    LED背光让液晶电视画质更惊艳    LED背光之所以吸引
期刊
德州仪器达芬奇技术使视频安全与监控应用  获得系统性能双倍提升,系统成本大幅降低    日前,德州仪器(TI)针对视频安全监控应用推出了 TMS320DM647 与 TMS320DM648 两款全新达芬奇 (DaVinciTM) 技术数字信号处理器(DSPs)。 TI致力于通过领先的软硬件技术、工具与支持不断推动数字视频市场创新,以满足包括数码录像机 (DVR)、IP 视频服务器、机器视觉系统与高
期刊
当今功率与信号处理功能的隔离以及封装技术对于传动系统的可靠性和性能至关重要。通过利用最先进的功率半导体、高性能的BiCMOS控制技术和各种功率封装技术开发功率更高、能耗更低的复杂功能性功率产品,可以应对汽车设计的挑战。    汽车半导体环境    物理环境  汽车传动系统中使用的功率半导体必须能承受恶劣的工作环境。由于引擎和变速器之类的系统出厂时必须通过完整的测试,电子控制单元必须安装在这些系统之
期刊
杨剑 Nemus Young    NXP(恩智浦)一直致力于车内娱乐系统市场的开发,早在模拟收音机时期,NXP(那个时候叫飞利浦)便已经牢牢占据了相当大的份额。而随着数字娱乐进入车载娱乐系统并逐渐成为主流的时候,NXP继续保持着在这一领域领先者的态势。在不久前举行的2007年CES大会上,该公司展出了其同Nuance Communications Inc、Gracenote和Ordina等软件合
期刊
随着多功能手机、便携式多媒体播放机、数码相机、HDTV和机顶盒等新兴产品逐渐获得市场的认可,嵌入式系统的市场正在以每年30%的速度递增(IDC预测)。据估计,每年全球嵌入式系统带来的相关工业产值已超过1万亿美元。我们可以看到,在中国,嵌入式系统的应用也从传统意义上的工控、办公、医疗领域逐步扩展到家用、商用等领域。    嵌入式系统应用的挑战    嵌入式系统应用的不断深入和产业化程度的不断提升,新
期刊
杨剑 Nemus Young    “Fairchild半导体公司就像成熟了的蒲公英,你一吹它,它这种创业的精神的种子就随处飘扬了。”这是苹果的总裁乔布斯评价Fairchild的一句话。  Intel、AMD、National Semiconductor……这些在半导体产业声名显赫的公司无不与Fairchild有着千丝万缕的联系。Fairchild成立于1957年,是“硅谷”最早成立的电子风险公司
期刊
全球可编程解决方案领导厂商赛灵思公司日前隆重宣布,其65nm Virtex-5 FPGA系列两款器件LX50 和 LX50T最先实现量产。  自2006年5月15日推出65nm Virtex-5 FPGA平台以来,赛灵思目前已向市场发售了3款平台(LX、LXT和SXT)的13种器件,它们为客户提供了无需任何折衷的业界最高的性能、最低的功耗, 并拥有业界惟一内建的PCI Express 端点和千兆以
期刊