您的位置 首页 软件

你有必要了解的嵌入式Linux特性

如今,Linux正广泛应用于各种嵌入式设备的开发中,如数字电视、视讯转换盒、DVR播放器、xDSL/有线/PON调制解调器、家用路由器和网络网关。它尤其适合

现在,Linux正广泛运用于各种嵌入式设备的开发中,如数字电视、视讯转化盒、DVR播放器、xDSL/有线/PON调制解调器、家用路由器和网络网关。它特别合适具有先进网络功用、许多设备驱动程序的数字家庭和家庭网络。除了嵌入式设备,Linux还支撑企业级设备,如服务器和路由器。

此外,Linux在举动设备中也获得了喜爱。市调组织In-Stat的陈述显现,到2012年,我国依据举动Linux的智能手机出货量将抵达我国智能手机总出货量的25.4%。

相较其它典型的专有商用OS,Linux蓬勃开展的原因在于其是开原始码、本钱低、运用快速安全。与其它OS相较,它可以更好地进行‘取舍’,且只占用较小空间。运用Linux,再加上来自敞开原始码社群的持续支撑,工程师可以运用和操控原始程序代码。敞开原始码社群是由了解Linux的工程师组成的大型社群。

不断改进的Linux中心

然 而,在面对特定嵌入式运用时,Linux仍存在许多应战,如内存空间有限,或是需求实时确认性以及高安全功用的运用。而东西链的改进、新的除错东西和性 能、不断演化的规范化尽力等,都持续提高Linux关于一切嵌入式运用的价值。在这其间,Linux中心的不断改进反常重要。

Linux 中心是运用软件选用的规范Linux API和处理器体系(运用软件履行其上)底层硬件结构之间的接口。该中心是内部组件和外部可加载模块的杂乱组合,为运用程序的履行供给全面和安稳的处理环 境,供给安全消除软件缺陷、在某种程度上避免硬件毛病的才干。在开机循环期间,中心有必要及时发现,并正确初始化中心体系处理器、体系内存、硬件驱动、视频卡、USB端口、网络卡和消息处理器,并且要在开机循环期间供给是否成功的满意指示。

保持如此杂乱的程序代码搜集很明显是一个 严峻的应战。中心原始程序代码被划分为规范‘树’结构,这样子体系就可以更好地互相阻隔,有助于完结几个要害中心保护作业的散布。这种分工可大幅削减中心某 一部份发生严重改变对其他部份发生的影响。每个后续子体系的改变都将传达给首要保护者,终究抵达Linux中心最上游的保护者。这些改变一般称为‘外挂程 式’,在规范格局下制作和运用。

供货商和开发人员将他们的常识反应到敞开原始码社群以改进中心。Linux敞开、涣散的本 质,再加上背面强壮的社群支撑,使依据Linux的OS成为培育立异的杰出挑选。由于供货商和开发人员不断同享他们所学到的常识,因而存在这样的或许:当开发人员需求完结某种功用时,可以在Linux社群生态体系中找到并予以选用。

商用Linux供货商做了许多作业使Linux成为嵌入式运用中愈加可行和吸引人的操作体系。

商用vs.敞开原代码

当挑选Linux OS时,嵌入式Linux开发人员有两个首要挑选:‘免费’版别,开发人员可以下载有敞开原代码授权的方针/原始程序代码;商业发行版,由不同公司保护和支撑的商用产品。

现在,大多数开发人员运用的都是免费发行版。商场研讨公司VDC一份针对现在Linux运用者的2007年查询中有这样一个问题:请问您将在下一个项目中运用哪种Linux OS?成果高达71%的嵌入式体系工程师表明,乐意选用免费发行的Linux版别。

newmaker.com

图1:为下一个项目计划的Linux操作体系。材料来历:VDC/2007

由 于很多嵌入式开发人员将在下一个规划项目中挑选Linux,因而,让他们体认到免费发行版别固有的约束性十分重要。这些约束包含:缺少丰厚的Linux工 具;相较竞赛的实时OS来说占用更多空间;为满意实时要求最佳化Linux所面对的应战;支撑以及开发东西有限。也就是说,‘免费’意味着不花钱运用,但 并非零本钱。

‘免费’≠‘零’本钱

除了决议运用商用或免费Linux版别,开发 人员还有必要认识到其除错/开发东西的才干和约束。嵌入式SoC范畴任何有意义的规划,都要求针对嵌入式范畴的高度整合的软件开发东西。从编译器到运用各个 环节的敞开原始码东西,都期望能发明杰出的出产质量。开发人员期望这些东西能与更短的学习曲线无缝结合。

充分发挥嵌入式 Linux免费发行版的优势,现已成为消费产品范畴被广泛接纳的实际。在这些商场上,产品履行率十分高,对程序代码的添加十分频频,并且产品的出售本钱至关 重要,一切这些都使得敞开原始码方式极具吸引力。可是,人们一般期望敞开原始码东西可以与出产质量密切相关,‘免费’和‘商用’并不同义。有必要对中心和 SoC组件互动有深入的了解,才干整合敞开原始码/免费软件,并为处理器中心供给无缝除错环境的东西。因而,需求专业常识才干使现在的敞开原始码东西顺畅 作业。

现在有若干种‘免费软件’除错处理计划,规划人员有必要全面了解其约束性。例如,针对Linux中心最受欢迎的免费软件除错器是KGDB,但首要缺陷是 KGDB会要求从头编译中心。这对产品现已布置到现场的运用来说并不可行。修补中心还或许导入影响体系功用的程序代码改变。

GDBServer 是另一个针对运用除错的颇受欢迎的免费软件除错器,但它也受到了严厉约束。首要问题是缺少对一起除错许多履行绪/进程的支撑。跟着除错的履行绪/进程数不 断添加,GDBServer功用敏捷恶化,导致呼应时刻太慢,进而使方针体系呈现毛病。其它问题还涉及到:不能在相同的方针衔接上除错驱动程序和运用;除 错设备驱动程序和除错同享库。了解特定运用的除错需求十分重要,应据此挑选相应东西。

Linux中心的保护

在决议将挑选哪种OS时,开发人员的重点是挑选一个彻底支撑其特定处理器的操作体系,并能下降总本钱和缩短上市时刻。这意味着大部份中心保护现已完结,因而 若他们遇到什么问题或应战,处理器供货商及其生态体系支撑业者就能帮忙处理这些问题。此外,运用供货商已正式测验的中心版别,客户在规划过程中即便不能完 全消除,也可以不断下降危险。特定处理器Linux生态体系可以运用一套规范装备和测验渠道,快速而精确地阻隔客户运用中的差异。

从处理器供货商的视点来看,积极参与与其间心相关的Linux中心的保护十分重要。这些供货商最有才干完结额定的新功用,以及添加原有中心功用的安稳性,由于他们了解这些中心规划中的一切‘隐秘’细节。

以 MIPS为例,作为处理器IP公司,MIPS有必要保证其新的处理器中心彻底整合在Linux原始程序代码树,且一切的改变都透过对旧中心和渠道的回归测验进 行正确验证。MIPS的中心保护人员有必要‘签署’(核准)每个主张的‘外挂程序’。这些外挂程序由MIPS及其客户提交,可强化中心功用,并改进对现有核 心的支撑和偶然的过错修正。

关于像MIPS这样的IP中心供货商和Linux社群来说,最有利的办法是保证其间心的一切功用 和电源办理特功可以在Linux中心中彻底完结,以便为选用Linux作为规划中心OS的运用者最佳化运用者体会,并让数以百计的Linux中心编程人员 进行中心增强的同行检查。

为了完结最佳单位面积运算才干(MIPS/每平方毫米)和最佳单位功耗运算才干(MIPS /mW),许多处理器都运用了多中心技术,在几个以较低时脉频率履行的中心间分配处理负载。这些运用可以以对称多处理(SMP)的办法进行分配,其间一项 使命是中心间的根本平分;或许选用非对称多处理(AMP),在这里特定使命被分配给一个特定中心。不管是哪种办法,Linux中心中有必要有恰当的支撑答应 完结这些编程模型,一起对运用开发者尽或许的通明。

另一个重要的Linux中心最佳化比如是电源办理。在今日的绿色运算环境 中,电源办理日渐重要,不只展示在要求大幅延伸电池寿数的可携式设备方面,并且展示在需求尽量削减动力糟蹋和热量的AC供电体系中。现在一个典型的手机必 须办理20多个不同的电源层,还不包含运用处理器SoC内和中心自身的电压岛。

现在Linux中心电源办理支撑首要会集在通过ACPI的规范PC。可是ACPI接口并不合适先进的多中心SoC,由于后者有必要将一致性电源办理计划扩展至多个中心、内部SoC外围设备以及最终的外部体系外围设备(如RF功率放大器)。

在 MIPS,咱们履行了一个先进的电源办理IP模块,称为丛集电源操控器(CPC),在详细的1004K履行中,它答应对每个中心的独自操控,使中心可以进 入或脱离一致性作业,并在需求的情况下彻底关掉电源。这样的电源办理方式可以进一步扩展,使中心电压和频率调变处于操作体系自身的操控之下。这个CPC模 组的功用还有必要扩展至Linux中心。

newmaker.com

图2:丛集电源操控器答应在特定的多中心架构中对每个中心进行独自操控

Linux开发东西

当考虑处理器对OS的支撑时,开发东西很重要。最新一代Linux开发东西运用了芯片级仪器(On-Chip Instrumentation)对除错器进行‘硬件帮忙’。这些东西都是特定架构的,并非一切处理器都支撑这种共同的除错办法。例如,现在有的 Linux东西可以分析Linux中心及加载模块。这些东西依赖于:处理器可以以极高的速度对PC缓存器进行通明采样,并将这些信息传送到除错器。加上来 自加载模块的符号信息(Linux设备驱动程序的典型方式),开发者可以敏捷分析Linux中心,并确认设备驱动程序或许会将什么要求放在中心上。最佳化 Linux中心功用或许对体系的功用发生巨大的影响。

备受称誉的中心评测东西是Linux事情分析器,可以分析整个体系。一般这些东西可撷取方针内发生的运用者挑选的Linux事情,然后依据时刻透过图形显现这些事情。这些撷取有时可以搜集高达20秒的Linux体系活动。

不管运用怎么,开发者都应该保证他们挑选的处理器架构包含一个无缝的开发环境,包含编译器、除错器、功用和分析东西。这种性质的东西有必要满意上市时刻要求, 并从一个嵌入式体系规划中获取最大的功用。出资在彻底整合和通过测验的厂商供给的东西和环境,包含完好的文件、支撑论坛、呼叫中心、无证见地、整合、标 准,以及整个生态体系的衔接,都可以缩短现在和未来规划上市时刻。

Linux社群

经 过多年的开展,Linux中心现已成为可扩展性最强、最牢靠的操作体系之一,可以支撑从低阶、单核到高阶、多核的嵌入式设备。跟着安稳、极为简便的 Linux中心、数百个支撑无版税中介软件组件、数以千计的Linux开发者,以及越来越多的商用Linux软件和服务供货商的呈现,Linux俨然现已 是一个有用的操作体系,不管是上市时刻仍是开发本钱都是如此。

咱们鼓舞一切的开发者在其下一个RTOS中考虑Linux,并 寻觅一个供给专用Linux支撑、巨大的生态体系和除错/开发东西的处理器厂商,保证能敏捷为商场供给高质量的产品。当开发者决议选用Linux时,咱们 鼓舞他们──不管他们是选用‘免费’仍是商用版别,必定要对社群有所回馈。只需咱们持续保护、重视和关怀中心,Linux就可以持续生长和开展,成为下一 代嵌入式设备RTOS的挑选。(end)

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/ruanjian/298167.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部