论文部分内容阅读
摘要:嵌入式技术是当前计算机技术领域最热门的技术之一,Linux系统由于其可剪裁、体积小等优势,作为嵌入式操作系统的典范在嵌入式技术中得以广泛的使用。本文从Linux系统的特点和在嵌入式系统中的应用现状出发,对嵌入式Linux操作系统的应用进行了一定的探讨。
关键词:嵌入式;Linux;嵌入式系统
中图分类号:TP316 文献标识码:A 文章编号:1007-9599 (2012) 22-0000-02
在目前的嵌入式系统领域中,已经有越来越多的科研机构和开发商把目光投入到嵌入式Linux中,准备在其新的技术和新的产品中使用Linux系统。与此同时,市面上的以嵌入式Linux操作系统为基础的产品也在不断地涌现。
1 嵌入式系统
嵌入式系统,是指以计算机技术为基础、以应用为中心、其软硬件系统可以方便地剪裁,适用于对应用系统的功能、成本、可靠性、功耗、体积等有着严格要求的一种专用的计算机系统。嵌入式系统一般由嵌入式操作系统、嵌入式微处理器、应用程序和外围的硬件设备组成,用于对设备的监视、控制、管理等功能的实现。
一般来说,嵌入式系统指的是非PC系统,其中包括软件和硬件两个部分。软件包括了操作系统和各种应用程序,操作系统控制着硬件和应用程序之间的交互行为,而应用程序控制系统的行為和运作。硬件包括了处理器、存储器、I/O接口、图形控制器等部分。
2 嵌入式Linux系统概述
2.1 嵌入式Linux系统应用现状
随着Linux系统的发展和应用,嵌入式Linux系统已经逐渐成为嵌入式系统的重要分支之一。Linux作为一个稳定而成熟的系统,在嵌入式系统中的应用有着很多优点。首先Linux系统其源代码是开放的,所有人都能够很方便地获取和修改,来进行产品的开发。其次Linux能够实现定制,并且系统内核较小且足够稳定,占用的系统资源很少。另外Linux系统能够和大多数的Unix系统实现兼容,进行应用程序的移植和开发相对比较容易。同时由于Linux系统良好的可移植性,目前已经在数百种硬件平台之上成功运行。
然而,由于Linux系统本身并不是以实时性的应用为设计目标,因此如果设备对系统的实时性要求较高,在其中应用嵌入式Linux的话就应该添加相应的实时软件模块。此类模块的运行内核就是操作系统进行中断处理、进程调度和程序执行的部分,其中某些代码发生错误的话就有可能破坏整个系统的稳定性和可靠性。
2.2 Linux系统的特点
(1)完全开放。Linux系统是由很多的性能较高,切体积较小的微内核系统来组成的。其内核的代码是完全开放的,在此前提和基础之上,不同层次和不同领域的用户能够根据自身应用的需要,来对Linux系统的内核进行组合和改造,能够方便且低成本地实现适合自身需要的嵌入式Linux系统的开发和设计。
(2)强大的网络支持。Linux出生于互联网飞速发展的时代,且具有着Unix系统的特点,这保证了Linux系统能够支持所有的标准互联网的协议,相比之标准Unix而言,Linux系统能够更加高效地对网络协议进行处理,并且有着更好的系统网络吞吐性能。并且利用Linux系统的网络协议栈功能,能够将其开发成为嵌入式的TCP/IP网络协议栈。此外,Linux系统还能够支持fat16、fat32、romfs、ext2、ext3等文件系统,这就为使用Linux进行嵌入式系统的开发和应用奠定了良好的基础。
(3)广泛的硬件支持。Linux系统有着广泛的硬件支持的特点,如CISC或者RISC、不论是32位还是64位的处理器,都能够支持Linux的运行。Linux系统能够支持各种最新的硬件技术和大多数的主流硬件设备,甚至能够在没有储存管理单元的处理器上面运行,因此可以说Linux在嵌入式系统的发展中有着广阔的应用前景。
(4)使用成本低。其它的商业用的操作系统大多数是收费的,需要对每一个拷贝来支付相应的费用,而且在这些系统之下的每一项应用软件都需要支付大量的费用,在商用系统之下开发工具链的建立,既要为系统本身付费,还要为组成工具链的各种软件付费。而Linux是一种完全免费的系统,用户只要遵守GPL的规定就可以免费的使用,而且其下也有着C、Jsva等软件开发工具,因此能够使得开发成本和使用成本得到极大的降低。
(5)文档完善。目前Linux系统有着大量的文档支持,无论是初学者所用的各种教程,还是详尽的联机帮助文档,都有相当大的数量。Linux系统是互联网在充分发展之后的产物,因此很多关于Linux系统的文档都能够在互联网上方便地查询和下载。Linux Document Project是提供Linux系统化文档支持的项目,由于世界上众多用户和程序员的帮助,它收集了详尽的Linux系统的资料和使用文档。而且大量的有关Linux的杂志书籍正在出现,很多的英文资料也已经被翻译成中文。
3 嵌入式Linux系统的应用
3.1 内核剪裁
嵌入式系统其作用大多是针对具体的应用来设计的,其软件的运行目标和硬件平台在设计之时就已经确定了,一般不会进行变动。因此,在应用嵌入式Linux时可以根据软硬件的实际需要,来进行内核的定制。要想得到满意的内核,方法之一是选用专用的针对嵌入式的Linux系统,然而即使这样也有可能包含了某些系统所不需要的功能。所以说最好的方法,是针对当前的硬件属性和所需软件系统的功能,确定系统内核所需的函数支持,通过对内核代码的剪裁,去掉不必要的代码,做到对系统库和内核的精雕细琢。
3.2 提高系统的实时性
虽然Linux已经在移动电话、机顶盒、车载电视、PDA等各种嵌入式设备中广泛地应用,然而在某些对实时性要求较高的设备如医疗、交通、航空等系统中,还不能直接的应用。其原因在于Linux系统内核的调度策略不能实时响应外部的中断,这就需要进行Linux内核实时化的改造。
其中较好的解决办法之一是使用双内核的机制,在原来的Linux系统中硬件中断层和内核之间设置一个实时内核。在实际项目中,该方案实施的重点在于细粒度定时器、中断控制和可抢占内核等方面。
3.3 移植
虽然Linux系统能够有广泛的硬件平台的支持,然而为了适合某些系统所特有的硬件,必须进行Linux系统的移植。一般来说Linux系统的移植包括了三个层次。首先是体系结构的移植,其中主要涉及的是include/arm和arch/arm这两个目录相关代码的修改工作。其次是平台层级的移植,主要涉及的工作是arch/arm/mach-xxxx/目录之下的代码的修改,包括了了中断控制调度、跟踪程序、向量初始化等程序的编写。最后是板级移植,主要涉及的是arch/arm/mach-xxxx/目录之下的启动文件和连接脚本文件,还有各种硬件驱动的程序编写工作。
4 结语
嵌入式Linux系统的出现,给嵌入式系统领域带来了新的生机。嵌入式Linux从诞生开始就以其独特的优势被越来越多的人所关注着。因此可以预见的是,嵌入式Linux系统将在未来的嵌入式系统应用中占据重要的地位。
参考文献:
[1]林兴,樊立民.嵌入式Linux文件系统的优化[J].计算机工程与设计,2009,23.
[2]赵晓凤.浅谈嵌入式Linux开发中NFS的安装配置[J].科技创新导报,2010,36.
[3]彭闻宇,陈朔鹰.Linux应用程序调试技术的研究[J].微计算机信息,2006,29.
关键词:嵌入式;Linux;嵌入式系统
中图分类号:TP316 文献标识码:A 文章编号:1007-9599 (2012) 22-0000-02
在目前的嵌入式系统领域中,已经有越来越多的科研机构和开发商把目光投入到嵌入式Linux中,准备在其新的技术和新的产品中使用Linux系统。与此同时,市面上的以嵌入式Linux操作系统为基础的产品也在不断地涌现。
1 嵌入式系统
嵌入式系统,是指以计算机技术为基础、以应用为中心、其软硬件系统可以方便地剪裁,适用于对应用系统的功能、成本、可靠性、功耗、体积等有着严格要求的一种专用的计算机系统。嵌入式系统一般由嵌入式操作系统、嵌入式微处理器、应用程序和外围的硬件设备组成,用于对设备的监视、控制、管理等功能的实现。
一般来说,嵌入式系统指的是非PC系统,其中包括软件和硬件两个部分。软件包括了操作系统和各种应用程序,操作系统控制着硬件和应用程序之间的交互行为,而应用程序控制系统的行為和运作。硬件包括了处理器、存储器、I/O接口、图形控制器等部分。
2 嵌入式Linux系统概述
2.1 嵌入式Linux系统应用现状
随着Linux系统的发展和应用,嵌入式Linux系统已经逐渐成为嵌入式系统的重要分支之一。Linux作为一个稳定而成熟的系统,在嵌入式系统中的应用有着很多优点。首先Linux系统其源代码是开放的,所有人都能够很方便地获取和修改,来进行产品的开发。其次Linux能够实现定制,并且系统内核较小且足够稳定,占用的系统资源很少。另外Linux系统能够和大多数的Unix系统实现兼容,进行应用程序的移植和开发相对比较容易。同时由于Linux系统良好的可移植性,目前已经在数百种硬件平台之上成功运行。
然而,由于Linux系统本身并不是以实时性的应用为设计目标,因此如果设备对系统的实时性要求较高,在其中应用嵌入式Linux的话就应该添加相应的实时软件模块。此类模块的运行内核就是操作系统进行中断处理、进程调度和程序执行的部分,其中某些代码发生错误的话就有可能破坏整个系统的稳定性和可靠性。
2.2 Linux系统的特点
(1)完全开放。Linux系统是由很多的性能较高,切体积较小的微内核系统来组成的。其内核的代码是完全开放的,在此前提和基础之上,不同层次和不同领域的用户能够根据自身应用的需要,来对Linux系统的内核进行组合和改造,能够方便且低成本地实现适合自身需要的嵌入式Linux系统的开发和设计。
(2)强大的网络支持。Linux出生于互联网飞速发展的时代,且具有着Unix系统的特点,这保证了Linux系统能够支持所有的标准互联网的协议,相比之标准Unix而言,Linux系统能够更加高效地对网络协议进行处理,并且有着更好的系统网络吞吐性能。并且利用Linux系统的网络协议栈功能,能够将其开发成为嵌入式的TCP/IP网络协议栈。此外,Linux系统还能够支持fat16、fat32、romfs、ext2、ext3等文件系统,这就为使用Linux进行嵌入式系统的开发和应用奠定了良好的基础。
(3)广泛的硬件支持。Linux系统有着广泛的硬件支持的特点,如CISC或者RISC、不论是32位还是64位的处理器,都能够支持Linux的运行。Linux系统能够支持各种最新的硬件技术和大多数的主流硬件设备,甚至能够在没有储存管理单元的处理器上面运行,因此可以说Linux在嵌入式系统的发展中有着广阔的应用前景。
(4)使用成本低。其它的商业用的操作系统大多数是收费的,需要对每一个拷贝来支付相应的费用,而且在这些系统之下的每一项应用软件都需要支付大量的费用,在商用系统之下开发工具链的建立,既要为系统本身付费,还要为组成工具链的各种软件付费。而Linux是一种完全免费的系统,用户只要遵守GPL的规定就可以免费的使用,而且其下也有着C、Jsva等软件开发工具,因此能够使得开发成本和使用成本得到极大的降低。
(5)文档完善。目前Linux系统有着大量的文档支持,无论是初学者所用的各种教程,还是详尽的联机帮助文档,都有相当大的数量。Linux系统是互联网在充分发展之后的产物,因此很多关于Linux系统的文档都能够在互联网上方便地查询和下载。Linux Document Project是提供Linux系统化文档支持的项目,由于世界上众多用户和程序员的帮助,它收集了详尽的Linux系统的资料和使用文档。而且大量的有关Linux的杂志书籍正在出现,很多的英文资料也已经被翻译成中文。
3 嵌入式Linux系统的应用
3.1 内核剪裁
嵌入式系统其作用大多是针对具体的应用来设计的,其软件的运行目标和硬件平台在设计之时就已经确定了,一般不会进行变动。因此,在应用嵌入式Linux时可以根据软硬件的实际需要,来进行内核的定制。要想得到满意的内核,方法之一是选用专用的针对嵌入式的Linux系统,然而即使这样也有可能包含了某些系统所不需要的功能。所以说最好的方法,是针对当前的硬件属性和所需软件系统的功能,确定系统内核所需的函数支持,通过对内核代码的剪裁,去掉不必要的代码,做到对系统库和内核的精雕细琢。
3.2 提高系统的实时性
虽然Linux已经在移动电话、机顶盒、车载电视、PDA等各种嵌入式设备中广泛地应用,然而在某些对实时性要求较高的设备如医疗、交通、航空等系统中,还不能直接的应用。其原因在于Linux系统内核的调度策略不能实时响应外部的中断,这就需要进行Linux内核实时化的改造。
其中较好的解决办法之一是使用双内核的机制,在原来的Linux系统中硬件中断层和内核之间设置一个实时内核。在实际项目中,该方案实施的重点在于细粒度定时器、中断控制和可抢占内核等方面。
3.3 移植
虽然Linux系统能够有广泛的硬件平台的支持,然而为了适合某些系统所特有的硬件,必须进行Linux系统的移植。一般来说Linux系统的移植包括了三个层次。首先是体系结构的移植,其中主要涉及的是include/arm和arch/arm这两个目录相关代码的修改工作。其次是平台层级的移植,主要涉及的工作是arch/arm/mach-xxxx/目录之下的代码的修改,包括了了中断控制调度、跟踪程序、向量初始化等程序的编写。最后是板级移植,主要涉及的是arch/arm/mach-xxxx/目录之下的启动文件和连接脚本文件,还有各种硬件驱动的程序编写工作。
4 结语
嵌入式Linux系统的出现,给嵌入式系统领域带来了新的生机。嵌入式Linux从诞生开始就以其独特的优势被越来越多的人所关注着。因此可以预见的是,嵌入式Linux系统将在未来的嵌入式系统应用中占据重要的地位。
参考文献:
[1]林兴,樊立民.嵌入式Linux文件系统的优化[J].计算机工程与设计,2009,23.
[2]赵晓凤.浅谈嵌入式Linux开发中NFS的安装配置[J].科技创新导报,2010,36.
[3]彭闻宇,陈朔鹰.Linux应用程序调试技术的研究[J].微计算机信息,2006,29.