<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > TMS320F2812芯片開發(fā)中Flash代碼性能的研究

          TMS320F2812芯片開發(fā)中Flash代碼性能的研究

          作者: 時間:2011-03-31 來源:網(wǎng)絡(luò) 收藏
          是目前性能非常優(yōu)秀的32位定點DSP,集成了多種外設(shè)。對開發(fā)通常利用TI公司的CCS2集成開發(fā)環(huán)境,使用JTAG接口仿真器連接目標板,可以不占用用戶資源實現(xiàn)全速/斷點調(diào)試;仿真調(diào)試完成后對CMD文件進行相關(guān)修改,并用RTS2800_FL04830.LIB替換RTS2800N.LIB,必要時對程序中變量與函數(shù)分配的空間做部分調(diào)整后,編譯項目得到輸出文件;在CCS2集成開發(fā)環(huán)境中完成下載、加密等操作后,斷電脫離仿真機,成為獨立運行的嵌入式系統(tǒng)。

            然而,相當多的應(yīng)用設(shè)計者常常面臨程序仿真通過,但獨立運行失敗的情況,表現(xiàn)均為程序代碼運行性能比估計的要差很多,以致來不及處理實時數(shù)據(jù)。由于代碼在中運行的時間比在SARAM中仿真的時間長,有的設(shè)計試驗出現(xiàn)在中運行比仿真慢4倍以上的結(jié)果,使設(shè)計只能停留在仿真通過的層次上。

            1 分析

            TI公司提供的一篇文檔資料spra958e.pdf,描述了在內(nèi)部中運行程序的相關(guān)知識,說明當在RAM中仿真速度為150 MIPS時,相應(yīng)Flash中的執(zhí)行速度可達90~1OO MIPS;同時。在此文檔資料中提供了參考實例,但介紹性文字較多,實現(xiàn)高性能的具體配置方式描述不夠具體。經(jīng)反復(fù)閱讀TI公司的其他相關(guān)文檔資料,并編程對比實驗,筆者摸索出實現(xiàn)Flash中運行速度達到RAM中仿真速度的75%左右的方法,與TI指標相符合。下面詳細說明試驗程序與方法。限于篇幅,只列出與試驗過程密切相關(guān)部分的配置情況。試驗程序使用的空間分配如表1所列。

            


            試驗程序如下:

            

            

            下面是CMD文件關(guān)鍵內(nèi)容。因RAM仿真與下載Flash所用CMD文件有差異,故為節(jié)省篇幅,混合寫在一起,差異部分參見說明。

            

            

            試驗程序運行時,用示波器在的XF輸出腳可以測量到重復(fù)脈沖(如圖1所示),表2為對應(yīng)的測量結(jié)果。

            

            函數(shù)InitFlash()設(shè)置了等待參數(shù)。在100 MHz的系統(tǒng)時鐘條件下,筆者的實例能保證正常執(zhí)行的最佳參數(shù);而其他設(shè)置會產(chǎn)生運行速度慢,或過快但運行不穩(wěn)定的結(jié)果。觀察表2的測量結(jié)果,可以發(fā)現(xiàn)各方式下T1時間不變,原因為指令“asm(“RPT#248||NOP”)”取指令只執(zhí)行一次,然后在DSP中內(nèi)部循環(huán)執(zhí)行250次,而只有取指令才涉及等待參數(shù)問題,所以在試驗的4種條件下T1基本相同(畢竟還是存在取指令過程,每種條件下T1并非完全一致,有微小差別)。因Flash本身訪問速度比SARAM要慢,指令需要插入等待周期。

            表2說明了下載到Flash中運行時的速度與在SARAM中仿真時相比,有所下降。T2/T3/T4雖然同為數(shù)據(jù)傳送花費時間,但因分布空間不同,對應(yīng)匯編指令數(shù)和指令類型相應(yīng)有增減,故表現(xiàn)出不同的執(zhí)行時間,其中數(shù)據(jù)在外部RAM中傳輸比在內(nèi)部SARAM中傳輸要慢。

            表2還顯示出下載到Flash中運行,如果同時對芯片加密,則應(yīng)當特別注意變量分配的空間位置。加密后Flash處于安全模塊中,如果變量分配到HO,那么由于H0是非安全塊,DSP工作時可以在兩種模塊中動態(tài)切換,不需要開發(fā)者附加代碼。描述參見TI文檔資料中的CSM章節(jié),但并未說明需要額外增加時間開銷。LOL1是安全塊,如果變量分配到L0L1或是沒有加密,則因不存在安全與非安全模塊的切換時間開銷,速度比較快。當采用保護芯片知識產(chǎn)權(quán)而需要加密Flash時必須注意分配變量空間,把對運行速度敏感的參數(shù)分配到LOLl中,否則會發(fā)現(xiàn)程序執(zhí)行速度降低到仿真時的1/4。由于內(nèi)部SARAM空間有限,應(yīng)用系統(tǒng)往往需要外擴RAM,數(shù)據(jù)交換將比在內(nèi)部SARAM執(zhí)行時有所增多。

            2 結(jié)論

            通過前面的試驗,可以得到幾個在TMS320F2812應(yīng)用開發(fā)中,運行于Flash中的代碼如何提高性能的指導(dǎo)原則:

           ?、俑鶕?jù)系統(tǒng)時鐘選擇合適的等待參數(shù);

            ②數(shù)據(jù)分配空間從指令類型與數(shù)量上影響程序執(zhí)行效率;

           ?、跢lash加密后,對執(zhí)行速度有快速性要求的應(yīng)用系統(tǒng),應(yīng)當在CMD文件中指定運行空間在SARAM的L0L1段,并注意變量分配的段空間。

            設(shè)計系統(tǒng)如果滿足上面幾個原則,那么程序執(zhí)行效率就可達到SARAM仿真時的70%。



          關(guān)鍵詞: TMS320F2812 Flash

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();