《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)實(shí)現(xiàn)DSP在線調(diào)試的一種方法
用單片機(jī)實(shí)現(xiàn)DSP在線調(diào)試的一種方法
摘要: 通常情況下,,進(jìn)行DSP系統(tǒng)開(kāi)發(fā)調(diào)試時(shí),,都要配備一片SRAM芯片作為片外程序RAM,。調(diào)試時(shí),使用相應(yīng)的仿真板將程序下載到SRAM中,,這樣DSP系統(tǒng)通過(guò)運(yùn)行SRAM中的程序代碼來(lái)實(shí)現(xiàn)相應(yīng)的操作,。可以看到,,DSP系統(tǒng)調(diào)試時(shí),,關(guān)鍵是要將程序下載到SRAM中,因此如果能將程序代碼通過(guò)單片機(jī)寫(xiě)入SRAM中,,則同樣可以完成對(duì)DSP系統(tǒng)的調(diào)試,。下面具體介紹在不使用仿真板的情況下,如何運(yùn)用單片機(jī)AT89S5l對(duì)DSP芯片TMS320LF2407進(jìn)行在線調(diào)試,。
Abstract:
Key words :

       通常情況下,,進(jìn)行DSP系統(tǒng)開(kāi)發(fā)調(diào)試時(shí),都要配備一片SRAM芯片作為片外程序RAM,。調(diào)試時(shí),,使用相應(yīng)的仿真板將程序下載到SRAM中,這樣DSP系統(tǒng)通過(guò)運(yùn)行SRAM中的程序代碼來(lái)實(shí)現(xiàn)相應(yīng)的操作,。可以看到,,DSP系統(tǒng)調(diào)試時(shí),,關(guān)鍵是要將程序下載到SRAM中,因此如果能將程序代碼通過(guò)單片機(jī)寫(xiě)入SRAM中,,則同樣可以完成對(duì)DSP系統(tǒng)的調(diào)試,。下面具體介紹在不使用仿真板的情況下,如何運(yùn)用單片機(jī)AT89S5l對(duì)DSP芯片TMS320LF2407進(jìn)行在線調(diào)試,。

       1 硬件設(shè)計(jì)

       1.1 TMS320LF2407在線調(diào)試的實(shí)現(xiàn)過(guò)程

      
完成DSP系統(tǒng)的調(diào)試,,首先要將程序的源代碼寫(xiě)入片外SRAM中。此時(shí),,單片機(jī)與SRAM組成一個(gè)系統(tǒng),,單片機(jī)可將分離出來(lái)的DSP程序代碼寫(xiě)入SRAM中。完成這一操作后,,切斷單片機(jī)與SRAM的聯(lián)系,,使

 

DSP與SRAM組成一個(gè)獨(dú)立的系統(tǒng),并將LF2407配置為微處理方式,,即MP/MC引腳置為高電平,。這樣DSP系統(tǒng)開(kāi)始工作,,LF2407從外部SRAM的0000H單元處開(kāi)始執(zhí)行程序代碼。當(dāng)修改DSP的程序時(shí),,只需修改單片機(jī)中相應(yīng)的代碼區(qū),,然后重新寫(xiě)入SRAM中即可。單片機(jī)的ISP功能能非常方便的完成這一過(guò)程,,實(shí)現(xiàn)DSP系統(tǒng)的在線調(diào)試,。

       1.2 硬件實(shí)現(xiàn)

      
單片機(jī)選用AT89S5l,該芯片具有在系統(tǒng)編程功能,,能通過(guò)并口下載線十分方便地修改和下載程序,。TMS320LF2407的片外程序RAM選用64K×16位的SRAM芯片CY7C102lV,該芯片的BHE和BLE引腳分別用來(lái)使能SRAM的高8位和低8位,。硬件框圖如圖l所示,。

硬件框圖

點(diǎn)擊看原圖

 



       由于89S51是5V供電,而CY7C102lV是3.3V供電,,因此要進(jìn)行5V和3.3V電平的轉(zhuǎn)換,。圖1中,單片機(jī)端的地址線和控制線分別通過(guò)74LVCl6245和74LVC245將5V電子轉(zhuǎn)換為3.3V電平,。數(shù)據(jù)線的電平轉(zhuǎn)換建議采用74LVC245,,該芯片采用5V和3.3V雙電源供電,它可以將數(shù)據(jù)線上的5V和3.3V電平相互轉(zhuǎn)換,,可實(shí)現(xiàn)單片機(jī)讀,、寫(xiě)RAM中的數(shù)據(jù)。讀出的數(shù)據(jù)可以通過(guò)串口發(fā)送到計(jì)算機(jī)上,,這樣可以檢驗(yàn)寫(xiě)入SRAM中的代碼是否正確,。89S5l為8位單片機(jī),而CY7Cl02lV和DSP數(shù)據(jù)位都為16位,,所以代碼的寫(xiě)入要分兩次寫(xiě)入,,先寫(xiě)低8位,再寫(xiě)高8位,。高8位數(shù)據(jù)線和低8位數(shù)據(jù)線之間可以加一個(gè)8位的撥碼開(kāi)關(guān),,當(dāng)向SRAM中寫(xiě)數(shù)據(jù)時(shí)合上開(kāi)關(guān),而當(dāng)要運(yùn)行DSP時(shí)則必須將撥碼開(kāi)關(guān)斷開(kāi),。當(dāng)代碼正確寫(xiě)入SRAM后,,將DSP的MP/MC引腳跳至高電平,選擇MP方式運(yùn)行片外程序RAM復(fù)位后,,即可以使DSP運(yùn)行,。設(shè)計(jì)中一定要注意以下情況:由于MCU-SRAM和DSP-SRAM兩個(gè)系統(tǒng)的數(shù)據(jù)線和地址線存在共用的情況,所以當(dāng)一個(gè)系統(tǒng)在運(yùn)行時(shí),,數(shù)據(jù)線和地址線不能受到另一芯片相關(guān)引腳狀態(tài)的影響,,否則這一系統(tǒng)將無(wú)法正常運(yùn)行,。因此,一定要注意制好各個(gè)芯片的片選信號(hào),,以保證兩個(gè)系統(tǒng)分別運(yùn)行時(shí)地址線和數(shù)據(jù)線不相互影響,。

       2 軟件設(shè)計(jì)

      
TI公司的CC’C2000編譯后生成的*.out文件為通用對(duì)象文件格式(coft),該格式是一種結(jié)構(gòu)性文件格式,,而單片機(jī)的燒入程序必須為bex文件格式,,所以要將*.out文件轉(zhuǎn)化為hex文件格式才能燒人單片機(jī)中。轉(zhuǎn)換步驟如下,。

       ①生成*.out形式的公用目標(biāo)文件(coff),。當(dāng)在TI公司的集成開(kāi)發(fā)環(huán)境CC’C2000下進(jìn)行程序開(kāi)發(fā)時(shí),都會(huì)經(jīng)過(guò)編譯和鏈接,,最后生成*.out文件,。

       ②對(duì)*.out文件進(jìn)行提取,從中篩選出對(duì)最后裝載有用的代碼和地址信息,。

       第一步所產(chǎn)生的*.out文件由于是coff格式的文件,,其可重定位特性使得用戶可以對(duì)程序在允許的地址范圍內(nèi)靈活地安排。正因?yàn)槿绱耍?.out文件還不是完全的可執(zhí)行代碼,,它里面包含有一些關(guān)于程序中各個(gè)段的諸如起始地址,、段長(zhǎng)度這樣的輔助信息,如果把這些信息連同程序代碼都裝入DSP內(nèi)部,,程序是不會(huì)被正常執(zhí)行的,。這時(shí)必須要對(duì)*.out進(jìn)行輔助信息與可執(zhí)行代碼的提取與分離,這個(gè)任務(wù)要靠專門的程序完成,。這里采用TI公司提供的程序,,程序的名稱是:coff_both.exe。它可以在TI的網(wǎng)站上免費(fèi)下載,。

       利用該程序?qū)?.out文件進(jìn)行操作,最后生成所需的*.out.c文件,。具體操作是把Coff_both.exe和exam-pie.out文件放在同一目錄下,,在DOS命令提示符下鍵入:Coff_both-out example.out,這時(shí)就會(huì)生成example.out.c格式的文件,。該文件的形式見(jiàn)如下,。

該文件的形式

 


       可以看到,這個(gè)程序有兩段程序.vect和.text,,起始地址分別為0000h和0150h,,分別由6個(gè)字和19個(gè)字的代碼組成。這些十六進(jìn)制代碼則是最后真正被執(zhí)行的LF2407程序代碼,,也是單片機(jī)需要寫(xiě)入SRAM中的代碼,。

       第二步生成的*.out.c文件明確地告訴了程序有幾個(gè)段,,每個(gè)段的大小,段的起始地址以及每個(gè)段的十六進(jìn)制代碼,。有了這個(gè)文件,,就知道該寫(xiě)些什么內(nèi)容到SRAM中去才能夠開(kāi)始執(zhí)行LF2407的程序了。接下來(lái)要做的就是編寫(xiě)單片機(jī)的應(yīng)用程序把*.out.c文件中的十六進(jìn)制代碼寫(xiě)入SRAM內(nèi)部,。程序框圖如圖2所示,。

 

程序框圖


       3 結(jié) 論

      
通過(guò)單片機(jī)對(duì)LF2407進(jìn)行程序裝載屬于一種基于RAM的在線編程,它不用對(duì)程序存儲(chǔ)器進(jìn)行燒寫(xiě),,屬于一種軟配置,。利用單片機(jī)AT89S5l的ISP功能可以實(shí)現(xiàn)程序的修改和燒寫(xiě),使系統(tǒng)具有在線開(kāi)發(fā)的特點(diǎn),。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。