LabView开发嵌入式应用的技巧

2014-09-25 12:16:27来源: ednchina
无论使用什么设计语言,不良的编程技术都会给一个应用的性能带来负面影响,对一个嵌入式应用尤其如此。尽管对于绝大部分应用来说,高效率的编程技术是重要的,但对于嵌入式应用所工作的资源极度缺乏的环境,则要求对性能和存储器管理给予特别的关注。

本文的讨论将围绕着新的LabView嵌入式开发模块进行,这种新工具为嵌入式应用开发人员提供了图形化系统设计手段。该工具允许用户直观地设计算法并进行交互式调试。下面是一些有助于编程师更有效使用LabView开发嵌入式应用的技巧。这些技巧中的许多也适用于其它高级工具。

动态分配存储器技术

动态存储器分配是一项编程师应尽可能避免的复杂操作。例如,如果动态分配出现在将数据存储到数组内的一个循环内,那么它尤其有害。避免在一个循环内动态分配存储器的常用方法是在该循环开始执行前,为每个数组预分配所需的存储空间。

移位寄存器与隧道技术

LabView的移位寄存器与隧道使数据进/出循环。工程师还利用移位寄存器在一个循环的每次执行之间传递数据。当数据用一个输入隧道传进一个循环时,LabView必须拷贝该数据并将该拷贝数据送出来进行下线修改。为了确保原始数据对该循环的下次迭代执行时保持不变,这样做是必需的。工程师也可以通过用一个移位寄存器把数据传进该循环的方法来避免拷贝。这样就消除了不必要的拷贝,从而加快了运行速度。

循环中的大常数技术

如果在循环内部放置一个常数,会使循环的每次执行都拷贝这个数据,从而加大执行时间和存储器使用率。工程师可以避免这个情况,做法是把该常数移出该循环,或者用本地变量把数据传递到循环中。

数据类型强制转换技术

LabView开发环境只要有可能就自动地处理数据类型的冲突,其做法是把较小的数据类型转换成较大的数据类型。例如,如果在一个整数和一个浮点数之间发生一个类型冲突,那么LabView就把该整数转换成一个浮点数,随后再执行运算操作。这个转换的代价是昂贵的,而且在许多情况下是不必要的。在大多数情况下,工程师可以通过为每个变量选取正确的数据类型来避免强制转换。但是,如果该数据必须被强制转换,则应在将其送去进行操作运算或函数计算前就完成转换,这样效率将会更高些。

簇技术的应用

当把异构数据捆绑到易管理的数据包中时,簇是有用的,比如说C语言结构(C Structs)。然而,此时除了要考虑的全部数据外,数据内容的相关信息也必须和这些数据一起传递。因此,有的时候,尤其是在把数据传到subVI时,相对于一个捆绑的簇而言,未捆绑的数据元素可以增加用户应用的运行速度。

尽管类似LabView这样的高级编程语言有助于工程师更快地部署其应用,但注意可提高代码性能的细节是很重要的。通过注意这些细节,有助于工程师快速开发一个高效率的应用。

关键字:LabView  嵌入式  技巧

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2014/0925/article_9599.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
LabView
嵌入式
技巧

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved