新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP TMS320F206的仿真調(diào)試

基于DSP TMS320F206的仿真調(diào)試

作者: 時間:2012-02-06 來源:網(wǎng)絡(luò) 收藏

(以下簡稱F206)是C2XX系列中的一個產(chǎn)品,其獨有的片內(nèi)32KB的閃速存儲器FLASH使其與眾不同。F206帶有程序、數(shù)據(jù)和I/O三個相互獨立的存儲空間,每個存儲空間均為64K×16位,其中片內(nèi)雙訪問RAM為544字(288字用于數(shù)據(jù),另256字可用于程序/數(shù)據(jù)),片內(nèi)FLASH為32K字,片內(nèi)單訪問RAM為4.5K字,其具體分布如表1所示。
F206的
● F206的特點
F206的仿真調(diào)試器沒有采用傳統(tǒng)的插入仿真的方法,而是通過仿真器與芯片上的幾個仿真引腳間通信實現(xiàn),F(xiàn)206具有符合IEEE1149.1標(biāo)準(zhǔn)的JTAG邏輯掃描電路,掃描仿真不僅克服了因仿真電纜過長而引起的信號失真,而且克服了傳統(tǒng)單片機“插入式”仿真方式脫機運行時就出錯的缺點。利用聞亭公司生產(chǎn)的EPP_XDS510仿真器進行系統(tǒng)的在線仿真調(diào)試,其一端與計算機的并口相連,另一端通過一雙列14腳的仿真插頭與F206通信。
● 問題的提出
如果所要進行仿真的硬件裝置沒有外部存儲器,此種情況下如何實現(xiàn)仿真呢?若將程序完全定位至8000H開始的片上SARAM內(nèi),則與F206中斷向量表應(yīng)該定位至0000H相矛盾,從而中斷進一步程序?qū)⒉豢赡苷_運行;若將程序完全定位至0000H開始的FLASH內(nèi),雖保證了中斷進一步程序可以正確運行,但是由于在FLASH內(nèi)無法設(shè)置斷點,所以此種情況下不能順利進行仿真調(diào)試;若將中斷向量表定位至0000H的FLASH內(nèi),將程序的其他部分定位至8000H內(nèi),可以保證中斷進一步程序的正確執(zhí)行,也可以在SARAM內(nèi)設(shè)置斷點,似乎是一種可行的方法,但是程序每改動一點,也就意味著中斷向量表也要做相應(yīng)的修改,即要再次將中斷向量表燒寫到FLASH內(nèi),不僅麻煩而且對FLASH也有損傷。
● 問題的解決
針對以上種種方案存在的弊端,筆者提出了一種行之有效的解決辦法,那就是將中斷向量表和程序都定位至8000H開始的SARAM內(nèi),而在0000H燒寫進一定的跳轉(zhuǎn)語句,這樣既保證了中斷的正確執(zhí)行,程序斷點的調(diào)試,同時對FLASH也只要進行一次燒寫即可。
首先完成跳轉(zhuǎn)語句的燒寫。F206的FLASH燒寫必須具備如下幾個前提:FLASH燒寫工作只能在WIN98操作系統(tǒng)下完成,在WIN2000操作系統(tǒng)下將會顯示窗口初始化失敗,被強行關(guān)閉;時鐘頻率必須為20MHz。
相應(yīng)的CMD文件為:
MEMORY
{ PAGE 0: VECB :org= 0000h,length=40h
......
PAGE 1:
......
}
SECTIONS
{ vectorb : {} > VECB PAGE 0
......
}
相應(yīng)的vectorb的程序為如下。
*File: vectorb.h *
*File defines Interrupt vector labels *
.global _c_int0
.global _c_int1
.global _c_int2
.global _c_int3
.sect vectorb
b 8000h ;硬件復(fù)位c_int0
b 8002h ;外部中斷1 /INT1
b 8004h ;外部中斷2 INT2/INT3
b 8006h ;定時器中斷
nop
nop
b 8000h
b 8000h ;保留
b 8000h ;保留
b 8000h ;保留
nop
nop
b 8000h
b 8000h
b 8000h
b 8000h
假設(shè)燒寫程序在E:LOADEPP目錄下,則將上述工程編譯并建立形成的TZ.OUT文件也復(fù)制到同樣的E:LOADEPP目錄下,然后執(zhí)行如下燒寫語句。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉