• 簡述DSP的工程文件與內部啟動過程

    本文將公司常用的DSP系列芯片作為主要描述對象,內容涉及其工程文件的簡介和啟動過程的簡單梳理,文中的內容多來自工作實踐和自己的理解,以具體的工程應用為主,意在與大家進行技術交流,同時作為簡單的技術積累,由于內容主觀,不免有錯誤的理解和描述,誤導之處還請諒解!并期待大家的提點!首先本文是基于DSP芯片—TMS320F2812進行的相關技術整理,下文將要提及的地址信息全部是DSP2812默認的片內地址,可根據手冊查詢,對于其他系列的芯片而言,文中相關內容僅具備對比和參考價值,特此說明。

    對于DSP2812與其他主控芯片相似,其運行模式主要分為分為帶有仿真器的調試仿真模式和脫離仿真器的獨立運行模式,對于DSP來說兩者的區別在于程序是分配在RAM中還是分配在FLASH中運行。以下主要討論的是實現脫離仿真器上電自動運行的模式,即將程序和數據分配到片內FLASH中完成獨立運行,仿真調試模式下文作為對比也簡單說明僅作參考。

    要建立一個完整的DSP程序工程包含需要幾種必要的文件類型,其中涉及DSP啟動過程的主要是CMD文件和asm文件,他們分別用于片內地址分配和地址跳轉,共同引導了DSP從啟動到運行的過程。

    由于目前本人所應用的DSP都未涉及連接片外存儲設備,因此本文中僅介紹DSP2812從片內flash啟動的引導過程。首先在芯片上電后,默認狀態下會到固定片內地址提取已經固化好的中斷向量表,然后根據已固化好的地址指針,再提取程序中可能用到的函數信息,隨即進入片內flash的啟動模式,該啟動模式下默認跳轉到0x3F7FF6(DSP2812),該地址是片內flash的一部分,根據以上信息,就需要在CMD文件中分配flash模式啟動區域如下:

    MEMORY

    {

    ……

    BEGIN       : origin = 0x3F7FF6, length = 0x000002

    PASSWDS    : origin = 0x3F7FF8, length = 0x000008

    ……

    }

    該區域命暫時名為BEGIN,截止到目前DSP默認的啟動流程進入并停止在該區域中,用戶需要繼續添加程序代碼,其目的是將啟動引入自己編寫的C環境程序中,最終實現在主程序中運行,此處的程序代碼需要寫在asm文件中,同時在asm文件中用戶自定義的代碼名稱也要在CMD文件中映射到BEGIN的地址上,使代碼在該地址中運行,完成啟動引導。需要注意的是根據DSP2812的片內信息,BEGIN區域距離默認的密碼區僅有2個字的距離,只能放一個跳轉指令,實現跳轉。

    經過上文的簡單說明,不難看出含有跳轉代碼的asm文件是實現DSP啟動引導的重要組成部分,將啟動引入了C程序的入口,實現了DSP從啟動到運行C程序的過程。如果工程文件下沒有加載正確的asm文件或者類似的跳轉指令,DSP將進入默認啟動區 0x3F7FF6,失去后續指令而跳不出來,可能的現象是程序能夠正確編譯和燒寫,但是上電后DSP無法運行編寫的程序,使用戶陷入誤區,找不到程序不運行的真正原因。

    因此對于一個正確的能夠燒寫的DSP工程文件來說,文中的CMD文件和asm文件都是必不可少的,在以上條件下如果工程編譯無誤,將生成正確的.out燒寫文件,該文件將分別記錄CMD的地址信息和asm中的跳轉信息,正確燒寫后才能夠確保DSP獨立運行。

    到此基本能夠實現做一個項目的最終目的,核心芯片DSP能夠脫離仿真器獨立運行,而帶有仿真器的調試模式作為程序測試中的一項重要手段,其運行模式與上文中的獨立運行模式相比有相似之處也有明顯的區別,此處淺談兩者的異同,以更好的理解獨立模式下程序的啟動與運行。

    首先兩者都能夠實現芯片上電后進入C程序運行的過程,區別在于兩者CMD文件的地址空間分配不同,仿真模式的程序段全部來自芯片內部的RAM區域掉電消失,同時需要仿真器,其程序RAM地址分配如下(DSP2812RAM)

    MEMORY

    {

    ……

    PRAMH0     : origin = 0x3f8000, length = 0x002000

    ……

    }

    所以調試狀態下CMD文件中的映射也全部來自芯片的RAM區域,因此該模式下無需地址跳轉即能夠進入C程序中,從而該模式下不需要asm文件指引啟動過程,調試時需要將該文件移除,只分配正確的RAM空間即可實現調試。

    以上僅僅是個人在實踐過程中對于DSP啟動過程的籠統理解,難免偏頗,同時敘述也比較簡單、粗糙,但仍然希望能與大家分享和討論,以增進彼此對于軟硬件方面理解。當然其中的錯誤也期待大家的善意批評和指點,最后希望以上的內容能夠帶給大家些許幫助或啟發,以達到技術交流的目的,彼此都能夠有所收獲,不勝感激!

    Copyright © 2015 黑龍江特通電氣股份有限公司. 保留所有權利。 黑ICP備10003763號-1 黑公安網備23010902000227隱私政策 使用條款 銷售政策 網站地圖
    技術支持: 龍采科技
    欧美国产一区二区三区精品,国产亚洲av片在线观看播放,女人与ZZZOOOOXXXX,免费高清av一区二区三区