《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > C6202 ROM引導裝載方式的研究

C6202 ROM引導裝載方式的研究

2008-10-06
作者:王麗敏 王工藝 趙 宏

??? 摘? 要: 通過使用DMA方式訪問程序存儲區并實現程序的搬移,克服C6000指令系統的缺陷;并對C6000的C語言運行環境和仿真器變量初始化過程進行研究,采用自編程自初始化的方法,確保程序加載" title="加載">加載后能正常運行。?

??? 關鍵詞: 引導裝載? DMA? DSP

?

??? DSP系統的引導裝載(Bootload)是指系統加電時,DSP將一段存儲在外部的非易失性存儲器的代碼搬移到內部的高速存儲器單元中執行。這樣既利用了外部的存儲單元擴展DSP本身有限的ROM資源,又充分發揮了DSP內部資源的效能。盡管用戶代碼可直接掩膜到內部ROM中,但一方面受容量和價格的限制,另一方面則不具有擴展性和不易升級。FLASH是一種高密度、非易失性的電可擦寫存儲器,十分適合低功耗、小尺寸和高性能的便攜式系統。除了可以采用專用的硬件編程器把代碼灌入FLASH中,也可以利用現成的DSP通過軟件編程實現同樣的功能,因此對整個系統的軟件升級很方便。?

??? TMS320C6000系列是TMS320系列產品中的新一代高性能DSPs芯片。由于其結構上(如圖1)的特殊性,與C54系列的引導方式有很大差別。本文以C6202為例,介紹如何實現DSP正常的ROM引導。?

?

?

1 C6202的ROM引導模式?

??? C6202有兩種存儲器映射方式MAP0和MAP1。通過擴展總線的XD[4:0]利用上拉/下拉電阻進行復位時的芯片啟動模式設置。本文將存儲器映射方式設置為MAP1,即地址0處的存儲器在內部,芯片自加載方式為8bit ROM方式,如圖2的硬件連接。?

?

?

??? 設置完芯片加載方式后,ROM加載的具體過程是:位于外部CE1空間的ROM(即圖2中的FLASH)中的程序首先通過DMA[2]搬入地址0處,盡管加載過程是在芯片復位信號被釋放后才開始的,但是當芯片開始復位時,就開始準備上述傳輸了。用DMA進行的這一加載過程是一個單幀的數據塊傳輸,數據塊的大小為64KB。EMIF[2]會根據芯片自加載方式的設置將相鄰的8bit或16bit數據合為32bit指令。傳輸完成后,CPU退出復位狀態,開始執行地址0處的指令。?

2 硬件設計?

??? 本文僅給出DSP(TMS320C6202)與一片FLASH(AMD29VF040)的連接圖,如圖2。由DSP的相關輸出管腳控制FLASH的擦除和讀寫。C6202的EMIF含有四個CE空間寄存器,由于ROM加載程序是從CE1空間搬入的,因此DSP的/CE1與FLASH的片選/CE相連。圖2中只用到DSP的低8位數據線,如果自加載方式設置為16位或32位,可以通過DSP最低兩位EA1和EA0的譯碼BE[3:0]片選,或者選用16bit或32bit的FLASH。?

3 軟件設計?

??? 由于C6000的特殊結構,可以實現8條并行指令同時執行,除非對硬件結構非常了解的專業人員,才能充分利用硬件資源,將匯編語言的高效率發揮出來。若對實時性要求不是很高,采用C語言編程完全可以滿足需要,且C6000的優化器優化效率很高。這樣可以降低編程工作量,縮短開發周期,可移植性好。本文以通用的C語言編程為例,介紹DSP對FLASH編程以實現正常的ROM引導。?

3.1 系統初始化?

??? 在運行C語言前,必須建立C運行時間環境[3](C runtime environment),確保C程序的正常運行。運行時間支持源程序庫(runtime-support source library)rts.src包含一個boot.asm模塊可以實現此功能。在連接器命令中使用-c或-cr選項,且將rts6200.lib作為其中一個連接文件,連接器自動調用boot.asm模塊產生c_int00函數。在硬件復位中斷產生以及系統工作時,先執行此函數。?

??? 函數c_int00完成下面三個初始化任務:?

??? (1)建立堆棧并初始化堆棧指針;?

??? (2)初始化全局變量;?

??? (3)運行主函數。?

3.2 初始化變量?

??? 在程序運行前,全局變量必須初始化。編譯器建立了.cinit段用來初始化全局變量和靜態變量。?

3.2.1 .cinit段?

??? 在.cinit段內有不同長度的初始化記錄,每一個必須初始化的變量在.cinit段內都有一個對應的記錄。如圖3。?

?

?

??? 每個記錄包含三部分:需要被初始化的變量的長度、變量的地址和變量初始值。?

3.2.2 運行時初始化變量?

??? 若在連接器中使用-c選項,則在程序開始運行時,函數c_int00初始化變量。具體過程如下:仿真器加載程序時,根據.cmd文件的定位,將.cinit段拷貝到C6202的程序存儲區或數據存儲" title="數據存儲">數據存儲區,并且用指針指向加載后的初始化表的首地址。當程序開始運行時,函數c_int00中的引導程序自動識別初始化表中的數據格式,初始化.bss段中對應的變量,完成初始化過程。如圖4。

?

?

3.2.3 加載時初始化變量?

??? 若在連接器中使用-cr選項,連接器在.cinit段首設置STYP_COPY位。當仿真器加載程序時,加載器會判斷這一位,識別目標文件中.cinit內的初始化記錄格式并初始化.bss中的變量,而不是先將.cinit段拷貝到DSP的內存區域。如圖5。?

?

?

3.3 燒寫" title="燒寫">燒寫FLASH?

??? 要想實現DSP ROM的正常加載,必須將程序存儲區中的指令數據正確地寫到FLASH里。圖1中可以看出,訪問片內程序存儲器" title="程序存儲器">程序存儲器只有兩個途徑:CPU訪問和DMA訪問。CPU訪問片內程序存儲器是通過程序取指單元實現的,然后完成指令分配和指令譯碼。C6000沒有提供任何對片內程序存儲器操作的指令,因此不可能直接使用指令取出程序區的內容或者將數據寫入程序區中。但是DMA可以訪問片內數據存儲區、片內程序存儲區、片內集成外設、外接存儲器等,可以在沒有CPU參與的情況下完成映射存儲空間中數據的搬移。因此,可以編寫一個燒寫FLASH的程序。在數據存儲區開辟一個緩存區,使用DMA方式將程序區的內容讀到這個緩存區,然后再使用指令將緩存區的內容燒寫到FLASH內(具體的命令字和程序與C54類似)。如圖6。?

?

?

??? 為了保證DSP ROM加載后C運行環境正常,全局變量或者靜態變量必須初始化。這比使用仿真器加載程序要復雜。解決這個問題,最簡單的方法就是:將燒寫FALSH的程序(不能含有全局變量和靜態變量)和主程序" title="主程序">主程序編在一起,在連接器中選擇-cr選項,用仿真器加載編譯連接后的程序會自動初始化主程序中的變量。將DSP的PC指針直接跳轉到燒寫FALSH程序處,按照前面的方法使用DMA方式把主程序燒寫到FLASH內部,再把已經初始化的變量燒寫到FLASH的其他位置,不能覆蓋已經寫入的數據。另外,在主程序內要自己編寫一個自加載函數,完成加載器的功能,即把固化在FLASH內部的變量值讀入.cmd文件所定位的.bss中,實現脫機運行時變量的初始化。?

??? 筆者在實驗中遇到了C6202 ROM加載的問題,通過對DSP內部功能單元的研究,發現采用DMA方式訪問程序存儲區,實現了程序塊的搬移,克服了C6000指令系統的缺陷;對C6000的C語言運行環境進行研究,發現仿真器進行變量初始化的過程,采用自編程自初始化的方法,確保程序加載后能正常運行。?

參考文獻?

1 Texas Instruments.TMS320C6000 CPU and Instruction Set?Reference Guide. 2000?

2 Texas Instruments. TMS320C6000 Peripherals Reference?Guide.2001?

3 Texas Instruments. TMS320C6000 Optimizing C Compiler?User's Guide. 2001?

4 任麗香,馬淑芬,李方慧.TMS320C6000系列DSps的原理與應用.北京:電子工業出版社,2001?

5 趙訓威.基于TMS320C6200系列DSP芯片的應用與開發.北京:人民郵電出版社,2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久久中精品2020中文| 久久久久久亚洲精品不卡4k岛国| 欧美高清在线精品一区| 欧美三级第一页| 亚洲日本aⅴ片在线观看香蕉| 免费观看成人www动漫视频| 欧美日韩一区二区在线观看| 欧美日本一道本在线视频| 国产在线观看91精品一区| 99在线热播精品免费99热| 一区二区三区在线视频播放| 欧美中文在线免费| 欧美成人一区在线| 亚洲国产免费看| 日韩亚洲精品电影| 亚洲欧洲一区二区在线观看| 老鸭窝91久久精品色噜噜导演| 亚洲人成网站999久久久综合| 久久精品男女| 国产精品看片资源| 亚洲国产另类久久久精品极度| 久久久美女艺术照精彩视频福利播放| 一区二区三区视频免费在线观看| 欧美激情一区三区| 久久精品国产成人| 久久激五月天综合精品| 国产欧美va欧美va香蕉在| 欧美三级黄美女| 国产精品一区二区三区久久久| 欧美视频在线观看 亚洲欧| 久久久av水蜜桃| 欧美日韩一区二区三区视频| 韩日成人av| 久久久久国产精品午夜一区| 性欧美大战久久久久久久免费观看| 欧美+亚洲+精品+三区| 午夜精品在线看| 欧美伊人久久久久久午夜久久久久| 国产精品美女久久| av成人免费| 日韩亚洲欧美一区二区三区| 国内精品伊人久久久久av影院| 亚洲高清av| 亚洲欧洲在线视频| 国产精品免费电影| 影音先锋欧美精品| 国产精品人人爽人人做我的可爱| 亚洲视频在线免费观看| 农夫在线精品视频免费观看| 久久中文字幕一区| 欧美成人一区二区在线| 久久综合久久久久88| 久久综合综合久久综合| 国产一区二区精品| 亚洲国产日韩欧美综合久久| 伊人一区二区三区久久精品| 日韩视频一区二区三区| 亚洲精品一区二区网址| 欧美午夜国产| 欧美激情视频一区二区三区不卡| 激情欧美亚洲| 午夜国产精品视频免费体验区| 亚洲电影欧美电影有声小说| 亚洲在线1234| 中文欧美字幕免费| 亚洲激情在线播放| 国产精品永久免费| 欧美三区在线观看| 国产亚洲欧美一级| 国产精品私房写真福利视频| 国产精品欧美经典| 国产亚洲精久久久久久| 激情婷婷欧美| 国产精品爽黄69| 国产精品视频久久一区| 欧美亚男人的天堂| 最新高清无码专区| 欧美一区二区在线免费观看| 国产精品久久久久久久久久久久| 欧美伦理一区二区| 亚洲欧美日韩综合aⅴ视频| 亚洲日本va在线观看| 亚洲激情小视频| 国产欧美日韩精品专区| 欧美极品影院| 亚洲视频在线观看| 亚洲福利视频二区| 亚洲一二区在线| 在线精品视频免费观看| 久久五月婷婷丁香社区| 亚洲午夜一区二区| 国精产品99永久一区一区| 伊人色综合久久天天五月婷| 老司机免费视频久久| 伊人精品在线| 欧美精品激情在线| 欧美日韩国产综合在线| 欧美在线视频免费| 久久久久久久999| 久久蜜桃香蕉精品一区二区三区| 国产精品理论片| 国产精品视频自拍| 欧美11—12娇小xxxx| 国产丝袜一区二区三区| 欧美高清视频在线| 欧美尤物一区| 亚洲欧美中文另类| 亚洲电影激情视频网站| 国产精品剧情在线亚洲| 欧美激情在线| 亚洲最新视频在线播放| 国产精品美女午夜av| 一二三四社区欧美黄| 亚洲高清视频中文字幕| 在线视频精品一区| 久久亚洲精品网站| 亚洲欧美日韩一区二区在线| 亚洲国产欧美精品| 国产伦精品一区| 在线观看亚洲一区| 国产精品久久久久999| 亚洲精品色婷婷福利天堂| 欧美午夜精彩| 亚洲精品综合精品自拍| 欧美一级专区免费大片| 欧美一区二区三区视频在线观看| 免费日韩av片| 精品成人一区二区三区四区| 亚洲国产精品va在线观看黑人| 亚洲精品一区二区三| 亚洲国内欧美| 久久精品欧美日韩| 中文国产一区| 欧美国产激情| 日韩午夜一区| 国产婷婷成人久久av免费高清| 久久综合狠狠综合久久综青草| 欧美日韩一区自拍| 国产精品大片免费观看| 欧美高清影院| 欧美美女喷水视频| 久久gogo国模裸体人体| 黄色成人91| 国产精品视频一| 久久露脸国产精品| 久久这里有精品视频| 亚洲国产精品尤物yw在线观看| 亚洲精品网址在线观看| 欧美日韩国产综合视频在线| 欧美在线亚洲| 欧美freesex交免费视频| 欧美日韩国产va另类| 欧美大片国产精品| 欧美三级电影网| 欧美日韩www| 国产亚洲精品aa| 日韩视频精品在线| 麻豆国产精品777777在线| 久久久久9999亚洲精品| 久热爱精品视频线路一| 韩国三级在线一区| 国产日韩欧美在线视频观看| 欧美激情亚洲国产| 国产精品亚洲欧美| 午夜精品国产精品大乳美女| 精品69视频一区二区三区| 亚洲韩国青草视频| 亚洲成色最大综合在线| 国产精品久久国产精麻豆99网站| 欧美激情综合五月色丁香| 国产精品99久久不卡二区| 亚洲一区二区网站| 99国产精品视频免费观看一公开| 亚洲精品永久免费精品| 久久夜色精品| 久久精品毛片| 国产日韩在线一区| 亚洲欧洲精品一区| 欧美色播在线播放| 亚洲欧美日韩国产一区二区| 91久久精品久久国产性色也91| 欧美日韩免费视频| 欧美国产日本| 国产一区二区在线观看免费| 欧美在线一区二区三区| 免费国产自线拍一欧美视频| 亚洲一区二区三区视频播放| 欧美日韩91| 欧美一级淫片aaaaaaa视频| 国产精品一区一区三区| 久久躁狠狠躁夜夜爽| 国产精品国产自产拍高清av王其| 欧美va天堂在线| 国产精品99久久久久久久久| 99精品欧美一区二区蜜桃免费| 亚洲欧美国产精品va在线观看| 在线亚洲精品| 国产欧美日韩一区二区三区在线观看| 欧美日韩在线免费| 精品成人久久| 久久久99免费视频| 国产日韩欧美高清| 海角社区69精品视频| 国产日产亚洲精品| 激情成人综合网| 国产精品久久久久久久电影| 亚洲黄色小视频| 亚洲视频免费观看| 欧美激情综合色| 精品99一区二区| 午夜精品国产精品大乳美女| 欧美日韩精品久久久| 欧美激情一区二区三区在线| 99精品欧美一区二区三区综合在线| 久久尤物视频| 性欧美8khd高清极品| 欧美88av| 在线综合亚洲欧美在线视频| 欧美精品日韩www.p站| 国产中文一区二区| 亚洲黄色影片| 老司机精品视频一区二区三区| 黄色成人在线网址| 亚洲国产成人精品久久久国产成人一区| 西瓜成人精品人成网站| 国产无遮挡一区二区三区毛片日本| 黄色成人免费网站| 亚洲视频在线播放| 亚洲校园激情| 欧美暴力喷水在线| 一区二区三区四区国产精品| 欧美日韩aaaaa| 国产精品美女一区二区| 欧美性事免费在线观看| 亚洲欧洲在线一区| 久热re这里精品视频在线6| 欧美精品激情| 欧美日韩一区三区| 国产精品v日韩精品v欧美精品网站| 国产亚洲午夜高清国产拍精品| 精品va天堂亚洲国产| 午夜精品视频在线观看一区二区| 午夜国产一区| 亚洲女同精品视频| 久久久久综合一区二区三区| 亚洲一区自拍| 久久精品国产96久久久香蕉| 国产一区二区在线免费观看| 久久久噜噜噜久久人人看| 欧美一级黄色网| 欧美一级视频一区二区| 亚洲日韩第九十九页| 中日韩美女免费视频网址在线观看| 亚洲国产精品国自产拍av秋霞| 黄色成人免费网站| 亚洲麻豆视频| 一本色道精品久久一区二区三区| 欧美一区二区免费视频| 狠狠网亚洲精品| 欧美成人综合一区| 亚洲欧美日韩国产综合在线| 精品999在线观看| 国产欧美日韩精品丝袜高跟鞋| 精品91久久久久| 99国产精品久久久久久久成人热| 久久性天堂网| 欧美午夜三级| 伊人久久大香线| 精品粉嫩aⅴ一区二区三区四区| 9i看片成人免费高清| 亚洲欧洲综合另类在线| 欧美视频中文一区二区三区在线观看| 欧美午夜在线一二页| 欧美日韩国产成人| 国产精品99免费看| 亚洲女人av| 9l国产精品久久久久麻豆| 久久精品国产免费看久久精品| 精品999在线观看| 欧美一区二区三区的| 亚洲国产综合在线| **欧美日韩vr在线| 亚洲福利av| 亚洲欧美久久久久一区二区三区| 欧美啪啪一区| 国产精品久久999| 午夜精品久久久久久久久久久久| 欧美日韩一区在线播放| 香蕉国产精品偷在线观看不卡| 国内成+人亚洲| 美女性感视频久久久| 好吊妞这里只有精品| 亚洲一区日韩在线| 欧美日韩精品久久久| 欧美日韩国产精品自在自线| 欧美综合第一页| 亚洲国产精品专区久久| 欧美三级午夜理伦三级中文幕| 日韩视频在线观看一区二区| 国产精品亚洲视频| 国产一区二区三区黄视频| 亚洲综合精品一区二区| 欧美午夜精品久久久| 久久亚洲一区| 99re热这里只有精品视频| 午夜精品婷婷| 麻豆成人在线| 在线视频国产日韩| 欧美大片免费久久精品三p| 蜜桃av一区二区在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 欧美另类变人与禽xxxxx| 欧美日韩午夜视频在线观看| 日韩视频免费观看高清在线视频| 久热精品视频| 黄色影院成人| 亚洲国产精品ⅴa在线观看| 国产精品日韩一区| 久久精品二区| 一本久久a久久免费精品不卡| 日韩视频免费在线观看| 欧美日韩国产欧美日美国产精品| 在线日韩欧美视频| 国产精品视频yy9099| 亚洲国产精品嫩草影院| 亚洲毛片播放| 麻豆精品网站| 亚洲影院免费观看|