当前位置:Linux教程 - Linux - 嵌入式Linux实现方案

嵌入式Linux实现方案



        

    一.嵌入式系统(Embedded Systems)的定义:
    以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。举例来说,大到油田的集散控制系统和工厂流水线,小到家用VCD机或手机,PDA,机顶盒,甚至组成普通PC终端设备的键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡等均是由嵌入式处理器控制的。

    二.背景
    当今的信息产业,信息家电(IA)无疑是最热的话题之一。事实确实如此。据IDG预测,未来信息家电产品需求将出现大幅成长态势,到2002年,全球信息家电产品的售出量将达到5570万台,每年信息家电产品的销售额将以61.8%的复合成长率成长,10年后,其销量将是电脑的10倍。届时,信息家电将取代传统家电,成为市场主流。一些国际著名的大IT厂商和家电厂商正是看到信息家电产业的美好发展前景,纷纷调整生产结构,开始批量生产信息家电,国内厂商也伺机而动,纷纷推出了自己的信息家电产品。
    对于嵌入式linux操作系统的开发,国外起步的比较早。现在,国内也有很多个人和团体在做这方面的工作。据报道,康柏电脑公司本周开始推出使用Linux操作系统的iPaq掌上电脑。Lineo早已发布了一套嵌入式Linux操作系统棗Embedix Linux 1.0。近日,Red Hat将把Red Hat Linux作为嵌入式Linux开发的基础平台,并且正在开发一种标准的Red Hat Linux版本,用于嵌入式Linux。市场在国内,广州的博利斯宣称他们推出了国内的第一套嵌入式linux,而美商网虎公司一直在宣传他们号称世界上最小的Xlinux。但总的来说,虽然已经取得了一定的成果,但linux在信息家电上真正实际的应用还很少,市场上还没有出现十分成熟的linux信息家电产品。


    三.选择linux的原因
    目前存在的嵌入式系统多不胜数,著名的有:WinCE、PalmOS、Vxwork、pSOS、Neculeus等。WinCE是精简的Windows95,从技术的角度上来说,并不能算是优秀的嵌入式操作系统。嵌入式操作系统非常注重个性化,而WinCE是非开放性操作系统,使第三方很难实现产品的定制。嵌入式操作系统追求高效、节能,WinCE在这方面是笨拙的。它占用过多的内存,应用程序庞大。Linux是源代码开放软件,不存在黑箱技术。Linux作为一种可裁减的软件平台系统,是发展未来嵌入设备产品的绝佳资源。遍布全球的众多Linux爱好者又能给予Linux开发者强大的技术支持。Linux更小、更稳定,而且是免费的,在价格上极具竞争力。操作系统是计算机技术的核心技术之一。随着技术的飞速发展,在嵌入式系统领域,操作系统也成为各大厂商竞争的焦点。PalmOS和WinCE是当前信息家电操作系统中应用最广泛的两种。但这两种操作系统的许可费用都不低,所以不少信息家电的厂商也开始自行开发操作系统。这些厂商最看好的选择就是Linux。
    第一,它可应用于多种硬件平台。Linux已经被移植到多种硬件平台,这对受开销、时间限制的研究与开发项目是很有吸引力的。原型可以在标准平台上开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。
    第二,Linux可以随意地配置不需要任何的许可证或商家的合作关系。唯一的限制时开发者必须做出对Linux社区有益的改动。
    第三,它是免费的,源代码可以得到。这是最吸引人的。毫无疑问,这会节省大量的开发费用。
    第四,它本身就内置网络支持。
    第五,linux的高度模块化使添加部件非常容易。
    另外,linux在台式机上的成功,使大家看到了linux在信息家电上的辉煌前景。

    四.把linux应用于信息家电需要做的工作
    由于linux开始是为台式机开发的,而信息家电属于嵌入式系统,有嵌入式系统固有的一些特点,如内存容量与台式机相比有限等,所以把linux应用于信息家电,不是可以直接应用的,而是还需要做大量的工作。需做的工作大致如下:

    1). Linux的移植。如果选用的平台linux不支持,就需要做这样的工作,把linux内核中与硬件平台相关的部分改写,使之支持所选用的平台。
    2). 内核的裁剪。嵌入式产品的可用资源比较少,所以它的内核相对信息家电来说就显的有点大。如果应用到信息家电,需要进行剪裁到可利用的大小。
    3). 桌面系统。现代的操作系统如果没有一个友好的界面是没有说服力的。现在的台式机Linux系统使用了传统的X window系统的模式-----Client/Server结构。和硬件有关的部分即是Server端,实现一个标准的显示接口;应用程序通过对Server的服务请求,实现程序的显示。在此之上,实现窗口的管理功能。但X Window对于信息家电来说也是显得很庞大。现在国内有MiniGUI,国外有MicroWindow,都在致力于嵌入式linux GUI的开发。适用于嵌入式linux上的X Window的工作也在进行。
    4). 驱动程序的开发。Linux内核更新的很快,许多最新的硬件驱动很快就被支持。但信息家电是多种多样的,所选用的硬件设备也不同,并且不可能都有linux的驱动程序,因此,设备驱动程序的开发也是重要的工作。
    5). 应用软件的开发。对于一种具体的信息家电,都要有相应的应用软件来支持。相对来说,这方面的难度不太大。
    6). 中文的支持。这对于想在中国市场推广的产品是不可少的。

    五.具体实施方案及进展情况
    工作分以下阶段进行:
    1). 裁减内核、缩减文件系统(已完成)。一张软盘实现了Linux系统的启动。
    2). 选择图形界面即桌面系统。选择Microwindows、FLTK作为GUI。它们都是免费的,要把它用到产品中还要做大量工作,它没有可供操作的象Windows一样的界面,只能启动一个Server,然后可以跑在它提供的库的基础上开发出来的应用程序,因此还要开发一个桌面程序,这样,用起来就象“Windows”了。完成情况:已选择好与浏览器匹配的Microwindows、FLTK版本并且编译通过,在这个系统上跑浏览器也成功了。
    3). 选择浏览器(已完成)。选用ViewML,是免费的。这个工作是与第2项工作同时进行的,因为浏览器是运行在图形系统上的一个应用程序,浏览器已经能用了,看了几张本地的网页,但是界面需要修改,因为看起来还太粗糙,操作也不方便。
    技术指标:支持HTML3.2,XML,jpeg,gif,JavaScript。
    4). 对汉字的支持。目前已经完成对GB2312及BIG5的支持。
    5). 必须的及附加的应用程序的开发,如拨号程序,游戏等。如果用于网络浏览的机顶盒可能就差不多了,但如果用于PDA应该还至少要加:手写输入,记事本,备忘录,名片盒,地址本,MPEG等媒体流播放等等。
    6). 驱动程序的书写。目前尚未展开该部分的工作。
    7). 将整套系统移植到嵌入式硬件平台。目前尚未展开该部分的工作。
    8). 测试、性能评估、修改等。

    六.总结
    本方案最大的特点就是全部使用了免费配件,并构成了一个结构清晰、模块化、易实现的、易使用的嵌入式Linux。
    该方案的实现将为研发部在嵌入式软件领域的进军打下基础。


    发布人:netbull 来自:LinuxAid