當前位置:首頁 > 電源 > 數字電源
[導讀]0 引 言 在許多DSP應用系統(tǒng)中,都需要DSP芯片能夠在加電后自動從外部設備加載程序,也就是引導(Boot-load)。TI公司的TMS320C6000系列芯片有三種引導方式可供選擇,分別是不加載、ROM加載和主機加載,詳細工作


0 引 言
    在許多DSP應用系統(tǒng)中,都需要DSP芯片能夠在加電后自動從外部設備加載程序,也就是引導(Boot-load)。TI公司的TMS320C6000系列芯片有三種引導方式可供選擇,分別是不加載、ROM加載和主機加載,詳細工作流程如下:
    不加載:CPU直接從地址0處開始執(zhí)行代碼。如果該處內存是SDRAM,那么CPU會先掛起,等待SDRAM的初始化完成。
    ROM加載:位于外部CE1空間的ROM中的代碼首先通過DMA/EDMA被搬入地址0處。加載過程在復位信號撤銷后開始,此時CPU內部保持復位狀態(tài),由DMA/EDMA執(zhí)行一個單幀的數據塊傳輸。對于C620x/C670x,DMA從CE1空間中拷貝64 KB數據到地址0處。傳輸完成后,CPU退出復位狀態(tài),開始執(zhí)行地址0處的指令。對于C62x/C67x,用戶還可以指定外部加載ROM的存儲寬度,EMIF會自動把相鄰的8 b/16 b數據合成32 b的指令。
    主機加載:也就是HPI加載。CPU停留在復位狀態(tài),芯片其余部分保持正常狀態(tài)。引導過程中,外部主機通過主機接口初始化CPU的存儲空間。主機完成所有的初始化工作后,向接口控制寄存器的DSPINT位寫1,結束引導過程。此時CPU退出復位狀態(tài),開始執(zhí)行地址0處的指令。


1 ROM加載的實現(xiàn)
    究竟使用哪種引導方式取決于芯片引導模式設置,而引導模式由BOOTMODE[4:0]管腳確定。系統(tǒng)加電后,RESET信號有效,DSP芯片復位,在RESET信號上升沿處鎖存BOOTMODE[4:0]管腳上的設置值,以此決定DSP芯片內存映射方式、地址0處的內存類型以及復位后芯片的引導模式。本例中C6701的BOOTMODE值設為01101,即8 b ROM加載。
    ROM加載是工程中最常見的加載方式,這種方式可以把程序代碼段和數據段保存在ROM,F(xiàn)LASH等非易失存儲器中,加載過程完全由DSP自動完成,在實際應用中十分方便。ROM加載的具體步驟如下。
1.1 分配存儲空間,生成目標文件(.out)
    TI代碼產生工具產生的目標文件是一種模塊化的文件格式——COFF格式。程序中的代碼和數據在COFF文件中是以段的形式組織的。對于C語言文件,編譯器生成的代碼段名為.text。全局變量和靜態(tài)變量分配在.bss段中,而局部變量或寄存器變量分配到.stack段或使用寄存器。在DSP的配置文件中必須將這些代碼段正確地分配到C6701的地址空間中去。
    在TI提供的DSP軟件開發(fā)平臺Code Composer Studio(CCS)中,編寫DSP系統(tǒng)的工作程序,并對DSP芯片的內存空間、EMIF接口等進行正確的配置后,程序編譯通過,CCS就會自動產生目標(后綴為.out)文件,這種.out文件即為COFF格式的。[!--empirenews.page--]
    在ROM加載模式下,復位后C6701將通過DMA方式將FLASH中的前64 KB數據搬運到DSP的片內程序RAM執(zhí)行,因此,必須將前面編譯好的工作程序的代碼段燒寫到FLASH地址空間中的前64 KB,而數據段則應該燒寫在FLASH首地址64 KB以后。這就需要在DSP芯片的內存段管理中,將數據段的加載地址(Load Address)配置為CE1空間FLASH上的指定地址,以保證DSP在復位后能正確地從FLASH上的不同地址讀取代碼和數據(見圖1)。

    利用CCS自帶的DSP/BIOS配置工具,可以在類似Windows Explorer的窗口界面下直觀方便地初始化DSP芯片的數據結構并設置不同的參數,而不需要再單獨編寫連接命令文件(link command file,后綴為.cmd)。保存該配置文件時,配置工具自動生成匹配當前配置的匯編源文件和頭文件以及一個鏈接命令文件。當構建(Build)應用程序時,這些文件都會自動被鏈接進應用程序。在CCS中打開DSP/BIOS中的.cdb文件,操作System下的MEM(Memory Section Manag-er)模塊就可以對DSP存儲器映射空間進行配置,并可以設置程序編譯后生成的代碼段、數據段是如何分配到這些存儲器空間的。這對ROM加載能否成功至關重要,要實現(xiàn)ROM加載必須把一些關鍵的代碼和數據段裝在系統(tǒng)的ROM中,但上電后仍在較快的DSP片內RAM中運行。這需要在DSP的內存映射空間上先劃分出外部FLASH的起始地址和長度(如圖2中的ED-FLASH段),并將CCS編譯產生的各個段的運行地址(Run Address)和加載地址(Load Address)分配到合適的存儲空間。需要特別注意的是,數據及代碼初始化段的加載地址必需放在FLASH空間上(如圖3),只讀的段都可以放在FLASH上,非初始化段只需要分配運行地址。

[!--empirenews.page--]

    下面是用DSP/BIOS配置工具在DSP內存空間中劃分好的各段開始地址及長度,其中EDFLASH就是外部FLASH上用于二次加載的地址空間。代碼則存放在FLASH的首地址,也就是0x1400000。
   

1.2 轉換文件格式,得到燒寫文件(.h)
    程序編譯好后輸出的是COFF格式的.out文件,這種文件無法直接寫進FLASH,所以只能將其轉換為其他FLASH支持的格式。一般來說,對FLASH燒寫的傳統(tǒng)方法是通過CCS自帶的格式轉換器hex6x把.out文件轉換為FLASH可識別的十六進制格式(如Motorola-S、ASCII-Hex等),再用專門的編程器將其燒寫到FLASH芯片中保存。該方法的實現(xiàn)需要使用專門的FLASH燒寫器,實際應用中較為不便,本工程中,在CCS環(huán)境下,通過JTAG口,完全由DSP控制對FLASH進行燒寫和擦除,實現(xiàn)了對外部FLASH的在線編程。
    由于燒寫是在CCS程序中實現(xiàn),所以首先要把.out格式的目標文件轉換為工程中可包含的.h文件。根據前面提到的方法,需要把工作程序編譯后得到的代碼段和數據段分別寫進FLASH中的不同地址,這就需要將COFF文件中的代碼段和數據段分別提取出來。具體做法是:使用CCS中“FiIe-Data-Save"分別把代碼段和數據段保存為dat文件(code.dat和data.dat),代碼段和數據段的具體起始地址及長度可以參考程序連接后自動生成的連接過程結果說明文件(后綴為.map,其中記錄了段的各種詳細信息,從中還可以知道各段的地址分配是否正確)。雖然保存下來的代碼段和數據段都是.dat格式,但其內容已經是我們所需要的DSP工作需要的底層機器碼,所以只需要將其作為一個數組的內容,再給數組加上合適的類型定義,就可以直接將其格式改為能在CCS工程中直接調用的.h文件(code.h和data.h)。這樣也就巧妙地解決了格式轉換問題。
1.3 燒寫FLASH
    有了.h格式的燒寫文件,下面就只需要再編寫一個用于擦除和燒寫FLASFI的DSP工作程序,由DSP控制并通過JTAG線操作FLASH芯片,燒寫和擦除時要按照FLASH芯片手冊中的要求先向指定地址寫入指定關鍵字。注意代碼和數據應分別寫入FLASH中相應的存儲地址。以上三步完成后,DSP就可以在重新加電時實現(xiàn)自動引導:首先從地址0x1400000處搬移64 KB初始化程序到片內運行,然后再從地址0x1410000處加載剩余的代碼和數據。


2 結 語
    實際工程中的應用證明了上述方法可以使TMS320C6701在脫離上位機的情況下實現(xiàn)上電后自動加載運行,并且穩(wěn)定可靠,操作方便,使用JTAG線和仿真器就可完成所有操作。該方法只要對一些存儲空間的配置稍作修改即可用于C6000系列其他DSP芯片的自動加載。另外,本文思路也可推廣到其他DSP芯片的自動加載設計中。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉