基于LabView嵌入式開發(fā)模塊五大技術(shù)要點
出處:eefocus 發(fā)布于:2017-08-15 18:50:46
無論使用什么設(shè)計語言,不良的編程技術(shù)都會給一個應(yīng)用的性能帶來負面影響,對一個嵌入式應(yīng)用尤其如此。盡管對于絕大部分應(yīng)用來說,高效率的編程技術(shù)是重要的,但對于嵌入式應(yīng)用所工作的資源極度缺乏的環(huán)境,則要求對性能和存儲器管理給予特別的關(guān)注。
本文的討論將圍繞著新的LabView進行,這種新工具為嵌入式應(yīng)用開發(fā)人員提供了圖形化系統(tǒng)設(shè)計手段。該工具允許用戶直觀地設(shè)計算法并進行交互式調(diào)試。下面是一些有助于編程師更有效使用LabView開發(fā)嵌入式應(yīng)用的技巧。這些技巧中的許多也適用于其它工具。
動態(tài)分配存儲器技術(shù)
動態(tài)存儲器分配是一項編程師應(yīng)盡可能避免的復(fù)雜操作。例如,如果動態(tài)分配出現(xiàn)在將數(shù)據(jù)存儲到數(shù)組內(nèi)的一個循環(huán)內(nèi),那么它尤其有害。避免在一個循環(huán)內(nèi)動態(tài)分配存儲器的常用方法是在該循環(huán)開始執(zhí)行前,為每個數(shù)組預(yù)分配所需的存儲空間。
移位寄存器與隧道技術(shù)
LabView的移位寄存器與隧道使數(shù)據(jù)進/出循環(huán)。工程師還利用移位寄存器在一個循環(huán)的每次執(zhí)行之間傳遞數(shù)據(jù)。當數(shù)據(jù)用一個輸入隧道傳進一個循環(huán)時,LabView必須拷貝該數(shù)據(jù)并將該拷貝數(shù)據(jù)送出來進行下線修改。為了確保原始數(shù)據(jù)對該循環(huán)的下次迭代執(zhí)行時保持不變,這樣做是必需的。工程師也可以通過用一個移位寄存器把數(shù)據(jù)傳進該循環(huán)的方法來避免拷貝。這樣就消除了不必要的拷貝,從而加快了運行速度。
循環(huán)中的大常數(shù)技術(shù)
如果在循環(huán)內(nèi)部放置一個常數(shù),會使循環(huán)的每次執(zhí)行都拷貝這個數(shù)據(jù),從而加大執(zhí)行時間和存儲器使用率。工程師可以避免這個情況,做法是把該常數(shù)移出該循環(huán),或者用本地變量把數(shù)據(jù)傳遞到循環(huán)中。
數(shù)據(jù)類型強制轉(zhuǎn)換技術(shù)
LabView開發(fā)環(huán)境只要有可能就自動地處理數(shù)據(jù)類型的沖突,其做法是把較小的數(shù)據(jù)類型轉(zhuǎn)換成較大的數(shù)據(jù)類型。例如,如果在一個整數(shù)和一個浮點數(shù)之間發(fā)生一個類型沖突,那么LabView就把該整數(shù)轉(zhuǎn)換成一個浮點數(shù),隨后再執(zhí)行運算操作。這個轉(zhuǎn)換的代價是昂貴的,而且在許多情況下是不必要的。在大多數(shù)情況下,工程師可以通過為每個變量選取正確的數(shù)據(jù)類型來避免強制轉(zhuǎn)換。但是,如果該數(shù)據(jù)必須被強制轉(zhuǎn)換,則應(yīng)在將其送去進行操作運算或函數(shù)計算前就完成轉(zhuǎn)換,這樣效率將會更高些。
的應(yīng)用
當把異構(gòu)數(shù)據(jù)捆綁到易管理的數(shù)據(jù)包中時,簇是有用的,比如說C語言結(jié)構(gòu)(C Structs)。然而,此時除了要考慮的全部數(shù)據(jù)外,數(shù)據(jù)內(nèi)容的相關(guān)信息也必須和這些數(shù)據(jù)一起傳遞。因此,有的時候,尤其是在把數(shù)據(jù)傳到subVI時,相對于一個捆綁的簇而言,未捆綁的數(shù)據(jù)元素可以增加用戶應(yīng)用的運行速度。
盡管類似LabView這樣的編程語言有助于工程師更快地部署其應(yīng)用,但注意可提高代碼性能的細節(jié)是很重要的。通過注意這些細節(jié),有助于工程師快速開發(fā)一個高效率的應(yīng)用。
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









