跟着32位多核处理器运用逐步走热,规划者正面对着新的应战, 业界专家指出面向人物(actor-oriented)的图形化办法是更适合嵌入式软件规划的东西。NI 的LabVIEW嵌入式开发模块是LabVIEW图形化编程环境的一款全新附加模块,经过这个软件和图形化体系规划的理念,原先无法利用到嵌入式编程的工程师们都能够进入32位微处理器的范畴之中。经过LabVIEW中附加的状态图、操控图表、信号处理库函数等这一完好的东西来规划它们的运用,以处理各种问题。本文对该开发东西进行了介绍。
跟着嵌入式体系变得越来越杂乱,规划者正面对着新的应战:跟着依据32位微操控器(MCU)的嵌入式体系的本钱向16位体系逐步挨近,在许多高档运用中8位和16位微操控器正逐步让位给扩展性更佳,功用更好的32位片上体系(SoC)。此外,由于单纯经过CPU的功用提高来添加整个体系的功用现已不是一种耐久的发展趋势了,所以首要的处理器制作商现已转向了多中心架构。从Dell在几个月前推出的多处理器中心的台式核算机,就能够看到这种趋势。从顾客和用户的观念上来看,处理功用的提高是相同的。可是,从一个嵌入式体系开发者的观念来看,规划将变得愈加杂乱,由于您有必要了解如安在多处理器环境下开发和切割您的运用。依据十年前的估量,嵌入式体系的均匀代码量为10万行。到2001年,这个数字实践现已超过了100万,而现在的数字估量为500万。
现在咱们将视野搬运到当时嵌入式体系的开发东西上来,跟着杂乱度的逐步上升,现在传统东西很难下降编程作业的杂乱度,嵌入式范畴需求另一种办法来应对这些应战。应战不仅是东西方面的,还有处理问题的途径:依据文本编程的嵌入式运用开发在将来不或许处理这些问题。这现已是许多业界专家的一致;Edward Lee博士是加州大学伯克利分校嵌入式研讨方面的领先者,他指出现在嵌入式体系的开发手法如依据文本编程和面向对象的东西都难以用来构建嵌入式实时体系,由于面向对象很难直观地表达时刻和平行性(parallelism),而时刻和平行性或并行(concurrency)在现在的嵌入式体系中是必不可少的。Lee博士提出面向人物(actor-oriented)的图形化办法是更适合嵌入式软件规划的东西。
虽然嵌入式体系的应战越来越严峻,可是现在现已有了许多处理的方向。许多供货商采取了将底层东西的规划笼统出来的办法。这种办法每行进一步,都会招引更多的用户。另一个方向是能够更彻底地处理面对的应战,也便是向依据渠道的东西搬运,它能够更好地表达整个体系,而削减与特定硬件的相关性,这使得更多的软件规划简略了解并被重复运用,而从依据文本的东西向图形化东西的搬运则能够直观地表达体系,并处理体系的应战。图形化体系规划(Graphical System Design)的理念便是源于这些趋势。经过简化嵌入式编程的杂乱性,它下降了对范畴专家在嵌入式规划流程中各个进程的要求;一起供给了从规划、原型到布置的一条捷径,使得工程师和科学家们能够更快速地进行重复规划。
虽然商场上的东西都在向图形化的方向改变,但由于它们是针对特定范畴特定运用的东西,所以依旧遭到自身的约束,而这是不足以处理职业即将面对的应战的。事实上,现在的嵌入式体系商场与八十年代前期的台式核算机商场有许多相似之处,其间的一个特色便是十分涣散。现在商场所需的是一种彻底的图形化编程言语,供给满意的灵活性和功用,以满意更广泛运用的需求。因而,图形化体系规划的关键因素是图形化编程。
将规划办法学直接运用于完成
自1986年诞生以来,LabVIEW图形化编程言语现已开端简化了体系的杂乱性,并在同一个渠道上供给收集、剖析和显现等功用,在运用核算才能对处理进程自动化的一起,答应在研制原型,制作和测验进程中对软硬件的重用,弥补了原先由于原型、制作和测验三个进程间因东西不同而形成的这一距离。在所有涉及到数据收集和操控的范畴里,LabVIEW图形化方法都现已成为规范的开发东西。从那时开端,咱们就一向向这个编程环境添加功用上的改善,现在LabVIEW在已有的守时循环结构上新加了硬件守时功用,它是一种表明时刻和并行的语义。现在,咱们就能够经过点击来设置操作体系优先级,延时,循环速率等等;回想在文章前面所说到的向多处理器搬运的趋势,现在咱们能够神往运用可扩展的直观图形化编程,来开发运用,并将处理进程分配到不同的处理器上。
新的NI LabVIEW嵌入式开发模块(LabVIEW Embedded Development Module,)是LabVIEW图形化编程环境的一款全新附加模块,经过这个软件和图形化体系规划的理念,原先无法利用到嵌入式编程的工程师们都能够进入32位微处理器的范畴之中。经过LabVIEW中附加的状态图、操控图表、信号处理库函数等这一完好的东西来规划它们的运用,以处理各种问题。
范畴专家-在某个科学或工程范畴的专家,但不一定是嵌入式的程序员-一般运用不同的模型或东西处理他们学术上或工程上的问题。例如,开发引擎操控单元(ECU)的工程师或许运用状态图来对引擎操控单元的功用进行图形化的描绘。这位工程师或许是一个操控理论方面的专家,可是却或许没有任何嵌入式或C编程方面的经历。直到现在,嵌入式运用的完成依然需求深化了解关于嵌入式编程东西,如C言语等方面的常识。因而,许多范畴专家要完成他们的处理方案,乃至仅仅简略的验证一个概念依然要依靠专门的嵌入式开发人员。这个存在于范畴专家和嵌入式程序员之间的距离,使得开发时刻添加,并且简略在体系中引进过错。
LabVIEW嵌入式开发模块在规划和完成间的距离之上架起了一座桥梁。范畴的专家现在能够运用相同环境快速地规划算法,对定制的规划进行原型规划,将他们的处理方案在所选的方针上完成,并进行调试——所有这些进程都是经过图形化方法完成的。
开发与方针无关的代码
嵌入式方针自身要求程序员在编写代码之前对方针有深化的了解。程序需求知道板卡上各种关于内存映射和寄存器的信息,才能在板卡上履行他们的代码。别的,大部分代码是专为某一特定方针编写的。这样,在一块板卡上运用不同的微处理器或是不同的外围设备,或许就需求从头编写大部分已有的代码,或是彻底从头开端。这意味着终究产品的扩展性方面是有缺点的。