999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TI公司的CCSV3.3集成開發(fā)環(huán)境下軟件優(yōu)化配置的研究

2019-10-21 08:48:33王銳

王銳

【摘 ?要】介紹了德州儀器公司(TI)Code Composer Studio V3.3(CCS V3.3)環(huán)境下軟件優(yōu)化配置的方法,在相同環(huán)境下,通過比較燒注了調(diào)試版(Debug)和發(fā)布版(Release)目標(biāo)碼的設(shè)備運行時在正確性、信號輸出和執(zhí)行速度等指標(biāo)方面的差別,提出發(fā)布版使用中的一些建議。

【關(guān)鍵詞】調(diào)試版;發(fā)布版;程序優(yōu)化;執(zhí)行速度

中圖分類號:文獻(xiàn)標(biāo)識碼:A

TI公司的數(shù)字信號處理器集成開發(fā)環(huán)境CCS V3.3具有生成調(diào)試版(Debug)和發(fā)布版(Release)目標(biāo)碼的功能,在多數(shù)情況下嵌入式產(chǎn)品燒注的目標(biāo)碼均為調(diào)試版,該版本目標(biāo)碼保留有調(diào)試信息且未經(jīng)過編譯器優(yōu)化,會影響程序執(zhí)行效率和存儲空間利用率。發(fā)布版可以刪除調(diào)試信息并使用不同的優(yōu)化層級來對代碼進(jìn)行優(yōu)化,使軟件執(zhí)行效率和存儲空間利用率得到一定的提升。

本文從開發(fā)環(huán)境優(yōu)化工具介紹入手,一步步展開論述,引入了優(yōu)化效果判定指標(biāo),設(shè)計了多種優(yōu)化配置方案,并依據(jù)判定指標(biāo)對不同方案的優(yōu)化效果進(jìn)行了測試,得到了完整的測試數(shù)據(jù),通過對數(shù)據(jù)的比較和分析,得出最優(yōu)配置方案,并給出了不同類型工程下的優(yōu)化配置建議。

1 軟件優(yōu)化工具介紹

軟件開發(fā)環(huán)境為TI公司的CCS3.3集成開發(fā)環(huán)境,該環(huán)境適用于TMS320F2812 數(shù)字信號處理器。針對該DSP的硬件初始化配置略。

軟件優(yōu)化工具為CCS 3.3 中內(nèi)嵌的C Compiler優(yōu)化器,該工具支持使用ANSI 標(biāo)準(zhǔn)的C語言編寫的軟件代碼。

C Compiler優(yōu)化器包含一個可提高代碼執(zhí)行速度和減少程序占用空間的優(yōu)化程序,該優(yōu)化程序通過使用簡化路徑、開啟軟件流水線、調(diào)整聲明和表達(dá)式位置和將變量分配進(jìn)寄存器等的操作來實現(xiàn)對代碼的優(yōu)化。

1.1 編譯流程

編譯過程分為三步:

a)分析器對代碼進(jìn)行分析,完成對源文件的預(yù)處理和語法檢查,生成編譯器內(nèi)部識別的.if后綴的文件;

b)優(yōu)化器作為一個可選的路徑運行在解析器和代碼生成器之間,優(yōu)化器的輸入為.if文件,當(dāng)啟用優(yōu)化器并完成優(yōu)化配置后,優(yōu)化器會對.if文件進(jìn)行優(yōu)化并生成與.if文件格式相同但更高效的的文件,稱為.opt文件;

c)代碼生成器將輸入的.if文件或.opt文件轉(zhuǎn)化為匯編語言源文件(.asm)。

1.2 優(yōu)化選項介紹

對于TEST.pjt工程,未使用嵌入式實時操作系統(tǒng)RTS/BIOS,使用的編程語言僅為C語言,因此影響程序優(yōu)化的選項為Basic選項,其它后續(xù)選項設(shè)置為默認(rèn)值即可。Basic選項詳細(xì)內(nèi)容見表1。

2 示例工程介紹

作為示例工程的TEST.pjt,為嵌入式軟件,燒注于TI公司的TMS320F2812型數(shù)字信號處理器(DSP)硬件平臺。軟件主要實現(xiàn)大氣壓力采集及大氣參數(shù)解算。

3 優(yōu)化效果判定指標(biāo)

在工程實際應(yīng)用中,設(shè)備功能的正確實現(xiàn)是根本,然后再兼顧程序運行效率和空間占有率等指標(biāo),做到“正確優(yōu)先,兼顧效率”。

為了對優(yōu)化的效果作出合理判定,在程序運行正確性、運行時間和生成的目標(biāo)文件大小等方面進(jìn)行分析,確定了TEST.pjt工程中以下4個方面的指標(biāo)作為優(yōu)化效果判定依據(jù)。

3.1 壓力數(shù)據(jù)解算正確性及壓力有效性

3.1.1壓力數(shù)據(jù)解算正確性

壓力數(shù)據(jù)的解算是具有代表性的程序運行過程,它包含了對硬件及外設(shè)的操作、邏輯和數(shù)值運算等方面內(nèi)容,可以作為軟件執(zhí)行正確性的判定標(biāo)準(zhǔn)。

3.1.2壓力有效性

壓力有效性的判定原理是通過對與壓力數(shù)據(jù)解算有關(guān)數(shù)據(jù)的判斷,以確定計算出的壓力數(shù)據(jù)是否有效可用??勺鳛閴毫?shù)據(jù)解算正確性判定的有效補充。

3.2 延時函數(shù)耗時

延時函數(shù)在工程中起到延時的作用,對延時函數(shù)耗時的測量可以直觀看出在不同優(yōu)化環(huán)境下單位行數(shù)的代碼的執(zhí)行速度。

3.3 定時中斷服務(wù)函數(shù)耗時

定時中斷服務(wù)程序?qū)崿F(xiàn)產(chǎn)品的主要功能,通過對不同優(yōu)化配置項下該程序運行時間的比較,可反映出軟件執(zhí)行速度的差異。

3.4 可執(zhí)行目標(biāo)文件大小

可執(zhí)行目標(biāo)文件是指燒寫進(jìn)硬件平臺的嵌入式軟件最終格式,其大小可體現(xiàn)出在空間上的優(yōu)化的差異。

4 優(yōu)化配置方案介紹及驗證

根據(jù)工作中不同情況下軟件工作的特點,確立了兩種優(yōu)化配置方案,并依據(jù)第3章的判定指標(biāo)對不同方案進(jìn)行測試和分析,兩種方案如下:

a)不改變軟件,配置優(yōu)化器;

b)調(diào)整軟件結(jié)構(gòu),配置優(yōu)化器。

4.1 不改變軟件,配置優(yōu)化器

4.1.1配置原則

不對工程中代碼做出調(diào)整,在項目級對編譯器進(jìn)行優(yōu)化配置。

4.1.2優(yōu)化效果判定及比較

選取三種優(yōu)化配置方法進(jìn)行比較分析,三種優(yōu)化配置方法為:

a)禁止使用調(diào)試信息且未使能優(yōu)化(NoDebug+None);

b)禁止使用調(diào)試信息且使能了寄存器級優(yōu)化(NoDebug+o0);

c)禁止使用調(diào)試信息且使能了本地級優(yōu)化(NoDebug+o1)。

將已通過功能測試且工作正常的配置方法作為參照組。參照組的配置方法為使用調(diào)試信息且未使能優(yōu)化(Debug+None)。

依據(jù)優(yōu)化判定指標(biāo),對上述所列每種優(yōu)化配置方法進(jìn)行多次測量并取平均值后得到測試結(jié)果,見表2。

4.1.3小結(jié)

在保證程序正確運行的前提下,本優(yōu)化配置方案至多可實現(xiàn)寄存器級的優(yōu)化。優(yōu)化后程序的運行效率提高,生成的可執(zhí)行目標(biāo)文件所占空間減小。

因方法二中延時函數(shù)耗時減少較多,會造成延時時長少于設(shè)計值,在不對程序作出調(diào)整的前提下,與延時相關(guān)的數(shù)據(jù)可能會出現(xiàn)異常。因此,確定方法一為本方案最優(yōu)配置方法。

4.2 調(diào)整軟件結(jié)構(gòu),配置優(yōu)化器

4.2.1軟件結(jié)構(gòu)調(diào)整原則

對軟件工程的結(jié)構(gòu)進(jìn)行調(diào)整,調(diào)整依據(jù)以下原則進(jìn)行。

a)對工程中的函數(shù)按照功能進(jìn)行劃分,形成不同的功能模塊文件,力求做到工程結(jié)構(gòu)合理,層次清晰;

b)隨著優(yōu)化層級的加深,工程中存在對硬件操作的函數(shù)、對外設(shè)操作的函數(shù)、中斷函數(shù)以及包含內(nèi)聯(lián)匯編的函數(shù)在運行時會出現(xiàn)代碼執(zhí)行速度與硬件不匹配的錯誤。為了避免此類錯誤發(fā)生,將上述類型函數(shù)與工程中其它函數(shù)分離開來,以便后續(xù)單獨對其實施優(yōu)化配置。

4.2.2軟件結(jié)構(gòu)調(diào)整及優(yōu)化器配置

TEST.pjt工程的源文件(僅含C、匯編和CMD文件)結(jié)構(gòu)樹如圖1所示。

依據(jù)4.3.1節(jié)要求對TEST工程進(jìn)行結(jié)構(gòu)調(diào)整,將原工程中的TEST.c文件按照功能分解為多個C文件,在TEST.c文件中僅保留4.3.1節(jié)b)條所述函數(shù),調(diào)整后的工程源文件結(jié)構(gòu)樹如圖2所示。

工程結(jié)構(gòu)調(diào)整完成后,對工程中每個源文件進(jìn)行單獨優(yōu)化配置成為可能。

除TEST.c外的其它c文件主要用于數(shù)據(jù)解算和邏輯判斷,不涉及對硬件的操作、內(nèi)聯(lián)匯編及中斷,可將此類C文件的優(yōu)化等級直接配置為文件級(-o3),對TEST.c文件,將該文件配置為不產(chǎn)生調(diào)試信息模式(NoDebug),具體優(yōu)化器配置見4.3.3節(jié)。

4.2.3優(yōu)化效果判定及比較

選取四種優(yōu)化配置方法進(jìn)行比較分析,具體方法及配置如下:

a)TEST.C未使能優(yōu)化(None),剩余C文件使能文件級優(yōu)化(o3);

b)TEST.C使能寄存器級優(yōu)化(o0),剩余C文件使能文件級優(yōu)化(o3);

c)TEST.C使能本地級優(yōu)化(o1),剩余C文件使能文件級優(yōu)化(o3)。

將所有文件配置為使用調(diào)試信息且未使能優(yōu)化(Debug+None)作為參照組,參照組已通過功能測試且工作正常。

測試結(jié)果見表4。

4.2.4小結(jié)

本方案雖然可以保證方法三的正確性,但由于延時函數(shù)耗時測試中方法二和方法三表現(xiàn)異常(優(yōu)化層級加深延時函數(shù)耗時反而變長),因此,確定方法一為本方案最優(yōu)配置方法。

5 優(yōu)化配置總結(jié)

通過第4章的測試及分析得出了每種優(yōu)化配置方案下的最優(yōu)配置方法,為了在最優(yōu)配置方法之間進(jìn)行比較,需要對測試項設(shè)置權(quán)重,通過加權(quán)計算出最優(yōu)配置方法,各測試項目的權(quán)重設(shè)置如下:

a)各方法均通過了3.1節(jié)測試,不對該項測試設(shè)置權(quán)重;

b)延時函數(shù)耗時除了在方案一方法一中增大外,在剩下兩種方法中均有減小,說明優(yōu)化會加快代碼執(zhí)行速度,該項權(quán)重應(yīng)適當(dāng)分配,分配為0.20;

c)各方法下定時中斷服務(wù)程序耗時均有不同程度減少,軟件的主要功能在定時中斷服務(wù)程序中實現(xiàn),定時中斷服務(wù)程序耗時長短可以直觀反映出程序運行效率的優(yōu)劣,權(quán)重值應(yīng)較大,分配為0.55;

d)各方法下生成的目標(biāo)文件大小均有較大程度減小,體現(xiàn)出優(yōu)化在空間上的作用明顯,該項的權(quán)重應(yīng)給予適當(dāng)分配,分配為0.25。

將兩種最優(yōu)配置方法的測試結(jié)果列表,依據(jù)權(quán)重計算出加權(quán)平均值,形成配置方法對比表,詳見表5。

通過表5可以得出如下結(jié)論:

方案二方法一的加權(quán)平均值最高,特別是定時終端服務(wù)程序耗時一項,較參照組減少了9.13%,為最優(yōu)配置方法,但其對原有代碼結(jié)構(gòu)改動較大,適用于新研項目。

方案一方法一的加權(quán)平均值最低,優(yōu)化效果雖然不及之前兩種方法,但該方法不修改代碼,適用于產(chǎn)品已定型或已完成軟件定型測評的項目。

參考文獻(xiàn):

[1]王忠勇.陳恩慶.TMS320F2812 DSP原理與應(yīng)用技術(shù).北京,電子工業(yè)出版社,2012.06

[2]Texas Instruments Incorporated.TMS320C2x/C2xx/C5xOptimizing C Compiler Users guide,Texas,1999.8

[3]Texas Instruments Incorporated.TMS320C281x DSP System Control and Interruptes Reference Guide,Texas,2006.10

[4]顧衛(wèi)鋼.手把手教你學(xué)DSP——基于TMS320X281x.北京,北京航空航天大學(xué)出版社,2011.4

(作者單位:太原航空儀表有限公司)

主站蜘蛛池模板: 波多野结衣一级毛片| 青青青国产免费线在| 亚洲va视频| 97se亚洲| 亚洲国产精品美女| 国产精品55夜色66夜色| 亚洲乱码视频| 国产熟女一级毛片| 成年人久久黄色网站| 亚洲欧美日韩另类在线一| 国产香蕉一区二区在线网站| 国产精品露脸视频| 婷婷久久综合九色综合88| 亚洲精品另类| 亚洲三级色| 亚洲无限乱码| 国产人碰人摸人爱免费视频| 91网红精品在线观看| 欧美日韩免费| 五月天久久综合国产一区二区| 国产a v无码专区亚洲av| 国产国模一区二区三区四区| 伊人激情久久综合中文字幕| 免费观看成人久久网免费观看| 波多野结衣中文字幕久久| 久久青草免费91观看| 3344在线观看无码| 伊人久久福利中文字幕| 亚洲国产高清精品线久久| www精品久久| 天天色天天综合网| 亚洲第一黄色网址| 国产91在线免费视频| 午夜小视频在线| 久久这里只有精品66| 国产成人a在线观看视频| 亚洲色成人www在线观看| 99久久人妻精品免费二区| 亚洲天堂免费| 亚洲av中文无码乱人伦在线r| 高清久久精品亚洲日韩Av| 中文字幕永久视频| a在线观看免费| 亚洲人成影院在线观看| 少妇人妻无码首页| 一级毛片无毒不卡直接观看| 国产欧美专区在线观看| 国产精品视频导航| 欧美亚洲中文精品三区| 亚洲欧美日韩久久精品| 九色在线观看视频| 播五月综合| 国产综合无码一区二区色蜜蜜| 欧美人与动牲交a欧美精品| 成人免费午间影院在线观看| 欧美高清视频一区二区三区| 欧美精品在线看| 亚洲不卡无码av中文字幕| 国产精品粉嫩| av免费在线观看美女叉开腿| 福利一区三区| 在线观看网站国产| 国产亚洲现在一区二区中文| 尤物在线观看乱码| 99re免费视频| 国产内射一区亚洲| 国产制服丝袜91在线| 国产在线观看第二页| 欧美亚洲欧美区| 热99精品视频| 精品人妻无码中字系列| 最新国产高清在线| 亚洲精品视频免费观看| 99热这里只有精品免费| 亚洲欧洲日韩综合色天使| 97视频在线精品国自产拍| 99精品视频九九精品| 伊人天堂网| 亚洲狼网站狼狼鲁亚洲下载| 久久九九热视频| 国产美女主播一级成人毛片| 午夜福利亚洲精品|