當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于CCS的DSP片外Flash直接燒寫設計

引言
   
自加載后DSP能夠正常運行,關鍵是Flash中原程序代碼的正確燒寫CCS編譯生成的.out格式文件不能直接用于Flash燒寫,在TI公司給出的技術文檔閉中,首先將.out文件利用其HEX工具轉換為.hex格式文件,然后利用Flash燒寫工具將.hex格式映像文件寫入到片外Flash中。.out格式到.hex格式轉換操作,需要編寫特定格式的命令文件;將.hex格式文件燒寫到Flash,需要嚴格按照.hex文件中的數(shù)據(jù)存放格式,編寫相應的Flash燒寫程序。對于初學者而言命令文件、燒寫程序的編寫則不容易理解和掌握,其中任何一個環(huán)節(jié)出現(xiàn)錯誤都將導致Flash燒寫的失敗。這里提出了一種簡單且方便可行的DATA直接燒寫方法,不需要數(shù)據(jù)格式的轉換,保存有效的燒寫DATA后,只需編寫簡單且容易理解的燒寫程序即可完成Flash在線燒寫。

2 DATA直接燒寫原理
    TMS320C671l提供含有DEBUG模塊的JTAG接口,可以通過JTAG接口訪問DSP內部寄存器和掛在CPU總線上的設備,對DSP內部所有部件進行編程。在工程開發(fā)初始階段,一般都是通過JTAG口采用硬件仿真器進行調試,將CCS編譯生成的.out文件,通過仿真器加載到DSP板卡系統(tǒng)中,加載成功后,會彈出一個Disassembly(反匯編)窗口,如圖l所示。

    從窗口中可以看到程序加載的位置、對應的機器指令和匯編語言指令。DSP器件正常工作,支持二進制機器指令代碼,仿真器加載.out文件的操作完成了.out格式到.hex格式的轉換,將DSP運行所需要的二進制機器指令代碼加載到DSP板卡。其加載的位置可由CCS中的cdb配置文件設定,也可以用戶編寫Linking文件指定。雖然.out文件不能直接用于片外Flash燒寫,但CCS具有存儲器內的數(shù)據(jù)保存和加載功能,所以,在仿真器加載.out完成后,將存儲器中的二進制機器指令數(shù)據(jù)保存起來,再通過JTAG口采用在線編程的方式,將保存下來的數(shù)據(jù)燒寫到片外Flash中。這就不必進行.out格式到.heX格式的轉換,可方便容易地完成片外Flasn直接燒寫,這就是DATA直接燒寫原理。

3 COFF段設置及保存與二級加載設計
3.1 COFF段設置

    CCS編譯成功后生成一個.map文件,在文件中可以查看存儲器的使用情況,COFF段運行地址,加載地址及段的長度。COFF段按屬性可分為Initialized和Unintialized,Initialized段需要在DSP上電復位時從加載地址搬移到運行地址。要得到在線燒寫方便且有效的DATA,必須為COFF段指定特定的運行地址,然后將運行地址上的DATA進行保存.DSP上電復位后的加載操作則實現(xiàn)DATA從Flash到運行地址上的還原。
    COFF段運行地址的指定可以手動編寫Linking文件,應用DSP/BIOS操作系統(tǒng)時也可直接對MEM屬性進行設置。這里選用的TMS320C6711器件,內部RAM為64 K,在程序小于64 K、RAM不做他用時,將COFF段運行地址全部指定在內部RAM。因為TMS320C6711上電復位自加載l K大小的程序,大多數(shù)情況下遠不能滿足需求,需采用二級加載的方式,將自加載的1K字節(jié)指令代碼設計成二級加載程序,完成剩余代碼的搬移。DSP上電復位結束后是從內部RAM的零地址開始執(zhí)行,需要將內部RAM零地址開始的1 K大小的存儲區(qū)域分配給二級加載程序代碼段,剩余的內部RAM作為存儲其他COFF段使用。內部RAM劃分情況如表l所示。

    應用DSP/BIOS操作時,圖2給出在.cdb文件中對COFF段運行地址的設置。二級加載程序.boot段不能通過.cdb文件設置,需要在工程的Linking文件中以下面的格式設定其運行地址:

   
    在沒有應用DSP/BIOS,而是手動編寫Linking文件時,需要以同樣的格式在SECTIONS大括弧內設定所需要加載的COFF段。
3.2 DATA保存與二級加載設計
    由于TMS320C67ll自加載的l K程序不能滿足需求,需要進行二級加載程序設計。DATA方法二級加載的實質就是將運行地址下的有效數(shù)據(jù)通過二級加載從外部Flash還原到運行地址下,使程序能夠按照仿真器模式那樣的狀態(tài)正常運行。二級加載所需要的正確EMIF配置,二級加載方式以及加載結束后跳轉到C語言入口函數(shù)_c_int00()等設計在很多資料中都有介紹,在此不予贅述。這里主要介紹用于二級加載所需要的DATA保存操作,以及二級加載程序中,搬移表源地址,目的地址及其長度的設計方法。
    文中3.1部分將COFF段運行地址指定為IRAM,在編譯生成的.map文件中,可看到圖3所示的COFF段信息。從COFF段可看到其運行起始地址,長度及屬性信息,將.out文件通過仿真器加載到DSP中后,根據(jù).map文件保存屬性為Initialized的COFF段。在保存操作中發(fā)現(xiàn)Initialized段可能不連續(xù),需要分多個數(shù)據(jù)段進行保存。當Uninitialized段與相鄰的Initialized段大小比較可忽略時,可將Initialized段間的Uninitialized段一起保存起來,它不會影響二級加載后程序的運行,這樣做既能減少需要保存數(shù)據(jù)段的個數(shù),又能簡化保存操作,二級加載程序及在線燒寫程序的設計。[!--empirenews.page--]

    在二級加載程序搬移表中,要嚴格按照保存的DATA段信息進行搬移表配置,其格式如下:


其中,Length為所保存的DATA段的長度:Destination Addr為DATA段IRAM中的起始地址;Source Addr為將保存的DATA段存放于外部Flash的起始位置。在線燒寫程序中要嚴格按照此搬移表中的Source Addr值將保存的DATA段燒寫到Flash的相應位置。有多個DATA段時,要配置相應個數(shù)的搬移參數(shù)表。

4 Flash在線燒寫設計
    將用戶程序代碼寫入Flash的方法一般有2種:①用專門的Flash編程器實現(xiàn);②根據(jù)DSP與Flash的接口,通過在線編程來實現(xiàn)。前者的主要優(yōu)點是使用方便可靠,但要求Flash只能是雙列直插等一些可插拔的封裝形式,且表面貼裝或PLCC封裝的Flash難以利用編程器實現(xiàn);后者克服了前者的缺點,使用靈活,因而在DSP系統(tǒng)中得到廣泛采用。
    Flash在線燒寫操作就是將保存起來的DATA,燒寫到二級加載程序搬移表所指定位置的Flash中。在線燒寫的思想是,首先將保存起來的DATA加載到DSP的內部RAM或系統(tǒng)的外部RAM中,再通過在線燒寫程序將加載的DATA寫入到Flash中。DSP實驗板Flash采用的是AM29LV160D,根據(jù)其數(shù)據(jù)手冊分別建立擦除void ChipErase(void)和寫入Byte Write(int offsent,short data)子函數(shù)。編寫在線燒寫程序如下:


    在對Flash寫操作前首先要進行其擦除,在擦除后要指定DATA存放首地址Saddr,要燒寫到的Flash首地址FlashAddr,以及待燒寫的數(shù)據(jù)長度Length。在有多個DATA段時,程序中要進行相應個數(shù)的DATA段燒寫指定操作。
    在線燒寫程序設計完成后,編譯將.out文件下載到DSP中,可以在擦除操作完成,開始燒寫前設置斷點,運行完Flash擦除操作后,將保存的DATA加載到程序中指定的位置,為了確保燒寫程序的正常運行,不能將DATA加載到燒寫程序占據(jù)的RAM空間。當所需要燒寫的DATA全部加載完成后繼續(xù)運行燒寫程序,即可完成Flash的在線燒寫。
    基于所用到的實驗板,在Flash燒寫完成后斷電,將DSP設置為Flash啟動模式,再上電,測試到應用程序中預先設計的運行指示,表明Flash已燒寫加載成功,驗證了DATA方法的Flash燒寫是切實可行的。

5 結語
    詳細介紹了DATA方法直接燒寫原理,如何進行合適的COFF代碼段設置,如何保存燒寫數(shù)據(jù)DATA以及二級加載程序和在線燒寫程序的相應設計。DATA方法容易理解,操作簡單、不易出錯,能夠簡便、快捷的完成Flash的燒寫操作,為DSP開發(fā)者提供了一條有效的Flash燒寫途徑。該方法適應于C6000系列所有DSP,其設計思想對其他系列的DSP也提供了有益的借鑒。

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

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

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

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

關鍵字: AWS AN BSP 數(shù)字化

倫敦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日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

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

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

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

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

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

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京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 信息技術
關閉
關閉