新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 提高DSP代碼運行性能的研究

        提高DSP代碼運行性能的研究

        作者: 時間:2018-09-12 來源:網絡 收藏

        1 引言
        隨著微控制器技術的發展,以TI公司TMS320C2000系列為代表的DCS型數字信號處理器應用廣泛。該類型內部集成Flash存儲器,可將二進制同化到其內部的Flash存儲器直接。這種方式在傳統嵌入式應用設計中很有效,但在一些算法比較復雜、系統響應要求快速、通訊任務比較繁重的嵌入式應用中,這種方式會導致控制系統響應遲緩、通訊異常、I/O操作緩慢等問題。針對這些情況,提出一種新的解決方案,來提高運行

        本文引用地址:http://www.104case.com/article/201809/388989.htm


        2 問題分析及設計方案
        由于應用程序在Flash中運行速度遠低于在RAM中,因此在復雜嵌入式應用中會出現控制系統響應遲緩、通訊異常、I/O操作緩慢等問題。為了避免這些問題,只能讓程序在RAM中運行。TI公司的TMS320C2000系列DSP有2種工作模式:微處理器模式和微控制器模式。當DSP處于微控制器模式時,在RAM中程序運行速度達到峰值,但掉電后程序丟失,系統無法重新自動運行,因此這種程序運行方式僅適用于仿真調試階段。因此,DSP必須工作在微處理器模式下,使用片內Flash作為運行程序的存儲和運行介質,才能保證系統上電后自動運行。但其程序運行效率低。因此必須把這2種工作模式相結合:首先將應用程序固化到片內Flash存儲器,當系統上電后由專門設計的裝載器(Bootloader) 負責將應用程序南Flash搬移到RAM,然后Bootloader將DSP控制權交給應用程序,從而實現DSP運行速度最高和上電后應用程序自動運行,解決了因程序在不同介質的不同效率所導致的系統響應遲緩、通訊異常、I/O操作緩慢等問題。
        以TMS320LF2407 DSP為例進行說明:該DSP具有獨立的數據存儲空間和數據總線,以及程序存儲空間和程序總線。只有程序空間的程序才能被DSP視為是可執行程序,數據空間上的程序將被DSP視為操作數據,因此將應用程序直接從片內Flash拷貝到數據空間的RAM后應用程序是不能運行的。若使拷貝后的應用程序能夠被 DSP視為可執行程序還必須做一些輔助工作。
        通過對TMS320LF2407的存儲映射結構分析可發現:程序空間和數據空間的擴展區域有部分地址可配置成相同存儲介質(Flash或者RAM),通過某種辦法可以實現共享,也就是說DSP可以將從Flash中拷貝到共享RAM的應用程序視為可執行

        3 設計方案實施
        3.1 TMS320LF2407存儲空間配置及CMD文件編寫
        為實現程序空間與數據空間共享RAM的存儲器配置方案,首先要熟悉C語言7個存儲段對存儲介質的要求,其具體要求如表1所示。

        從表1可以看出:“.bss”、“.sysmem”、“.stack”段的存儲介質必須是RAM,且使用數據空間地址;而“.text”、“. swtich”、“.cinit”段的存儲介質可以是RAM或ROM,但必須使用程序空間地址。“.text”是用來存放應用程序的可執行代碼的專用段,它既可運行在RAM中,也可在Flash中,該段的運行介質決定應用程序是否能夠達到最大。根據DSP命令鏈接文件(CMD文件)對匯編段的管理方式可知,“.text”可配置成裝載與運行分離的工作模式。這種模式可以使應用程序存儲在Flash中,運行在RAM中從而實現DSP上電后全速運行。


        上一頁 1 2 3 下一頁

        關鍵詞: DSP 代碼 運行 性能

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 彰化市| 阿鲁科尔沁旗| 太原市| 舞阳县| 吉水县| 津南区| 安图县| 仲巴县| 怀来县| 绩溪县| 那坡县| 宜良县| 夏河县| 尼玛县| 囊谦县| 忻城县| 郴州市| 修武县| 调兵山市| 通州市| 泗水县| 北宁市| 乌鲁木齐市| 安塞县| 成都市| 六安市| 策勒县| 汝城县| 托克逊县| 平乐县| 大同市| 西峡县| 昌黎县| 潜江市| 桐梓县| 连南| 威宁| 房山区| 澜沧| 囊谦县| 库伦旗|