《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > TMS320F2812芯片开发中Flash代码性能的研究
TMS320F2812芯片开发中Flash代码性能的研究
电子发烧友
摘要: TMS320F2812是目前性能非常优秀的32位定点DSP,集成了多种外设。对TMS320F2812开发通常利用TI公司的CCS2集成开发环境,使用JTAG接口仿真器连接目标板,可以不占用用户资源实现全速/断点调试;仿真调试完成后对CMD文件进行相关修改,并用RTS2800_FL04830.LIB替换RTS2800N.LIB,必要时对程序中变量与函数分配的空间做部分调整后,编译项目得到输出文件;在CCS2集成开发环境中完成下载、加密等操作后,断电脱离仿真机,成为独立运行的嵌入式系统。  然而,相当多的应用设计者常常面临程序仿真通过,但独立运行失败的情况,表现均为程序代码运行性能比估计的要差很多,以致来不及处理实时数据。由于代码在Flash中运行的时间比在SARAM中仿真的时间长,有的设计试验出现在Flash中运行比仿真慢4倍以上的结果,使设计只能停留在仿真通过的层次上。  1 分析  TI公司提供的一篇文档资料spra958e.pdf,描述了在内部Flash中运行程序的相关知识,说明当在RAM中仿真速度为150 MIPS时,相应Flash中的执行速度可达90~1OO MIPS;同时。在此文档资料中提供了参考实
Abstract:
Key words :

  TMS320F2812是目前性能非常優秀的32位定點DSP,集成了多種外設。對TMS320F2812開發通常利用TI公司的CCS2集成開發環境,使用JTAG接口仿真器連接目標板,可以不占用用戶資源實現全速/斷點調試;仿真調試完成后對CMD文件進行相關修改,并用RTS2800_FL04830.LIB替換RTS2800N.LIB,必要時對程序中變量與函數分配的空間做部分調整后,編譯項目得到輸出文件;在CCS2集成開發環境中完成下載、加密等操作后,斷電脫離仿真機,成為獨立運行的嵌入式系統。

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

  1 分析

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

  

 

  試驗程序如下:

  

 

  

 

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

  

 

  

 

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

  

 

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

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

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

  2 結論

  通過前面的試驗,可以得到幾個在TMS320F2812應用開發中,運行于Flash中的代碼如何提高性能的指導原則:

  ①根據系統時鐘選擇合適的等待參數;

  ②數據分配空間從指令類型與數量上影響程序執行效率;

  ③Flash加密后,對執行速度有快速性要求的應用系統,應當在CMD文件中指定運行空間在SARAM的L0L1段,并注意變量分配的段空間。

  設計系統如果滿足上面幾個原則,那么程序執行效率就可達到SARAM仿真時的70%。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: www.精品av.com| 亚洲中文字幕无码中文字| 日韩经典在线视频| 日韩福利在线| 欧美最猛性xxxxx(亚洲精品)| 国内自拍欧美激情| 精品久久免费观看| 久久久亚洲福利精品午夜| 91精品国产高清久久久久久| 精品久久国产精品| 日韩视频第二页| 久久久中文字幕| 国产精品91久久| 欧美日韩国产一二| 精品产品国产在线不卡| 久久久一本二本三本| 久久在线中文字幕| 国产成人精品免费久久久久| 亚洲欧美日韩精品综合在线观看| 极品日韩久久| 国产美女精彩久久| 亚洲一区二区在线看| 国产精品日韩在线播放| 久久亚洲免费| 欧美激情在线一区| 日韩国产精品毛片| 欧美一区二区三区精美影视| 久久人妻精品白浆国产| 97成人在线视频| 日韩精品无码一区二区三区免费| 欧美 国产 综合| zzjj国产精品一区二区| 狠狠干视频网站| 国产精品极品尤物在线观看| 国产美女精彩久久| 91国产视频在线播放| 日本视频一区在线观看| 精品91免费| 国产精品日日做人人爱| caoporn国产精品免费公开| 国产精品黄色av|