高密度SPI EEPROM——SA25C020的DSP引導
介紹TMS320VC55XX系列DSP基于24位高密度SPI EEPROM——SA25C020的引導、啟動(dòng)加栽方法;分析整個(gè)過(guò)程,并結合實(shí)例著(zhù)重研究基于C5509A的引導、加栽方法和實(shí)現;提供具體的電路設計和鳊制的相應實(shí)現軟件。
本文引用地址:http://dyxdggzs.com/article/257222.htm 引 言
DSP的引導是涉及DSP獨立工作的關(guān)鍵性問(wèn)題,通常采用的方法是由Flash等器件引導的,但是相對Flash的占用空間大、扇區擦除的難度和時(shí)延來(lái)說(shuō),SPI EEPROM不失為一個(gè)好的選擇。傳統EEPROM的容量太小,無(wú)法充分利用DSP的程序空間。
SA25C020的2Mb SPI EEPROM是以色列的SaifunSemiconductor公司于2005年推出的高密度EEPROM產(chǎn)品,是業(yè)界首個(gè)結合小型SO8封裝、低功耗和高性能特點(diǎn)的器件,專(zhuān)為需要高耐用性和低功耗的應用而設計和測試,針對持續可靠的非揮發(fā)性存儲方案。它的價(jià)位接近閃存(Flash),加上其節省空間的封裝形式,使得它成為DSP引導的一個(gè)新的選擇。TI公司的TMS320VC5509A是一款集成了A/D、USB接口等的便攜式DSP。最重要的是它支持24位的SPI EEPROM引導。這兩款芯片的結合,易于形成空間小、功耗低的便攜式解決方案,有助于新的小型化、低功耗應用的實(shí)現,如硬盤(pán)、光盤(pán)(包括DVD)、機頂盒、打印機、游戲卡以及無(wú)線(xiàn)產(chǎn)品。
1 引導系統硬件設計
DSP引導系統硬件配置框圖如圖1所示。其中TMS320VC5509A有兩種封裝形式,此處采用PGE3形式。一個(gè)可以獨立運行的DSP系統必須包括:

◇DSP芯片;
◇電源、時(shí)鐘以及必要的初始化外圍設置;
◇用于引導的非易失性的程序存儲器,如本設計中采用的SA25C020;
◇JTAG接口用于外部下載程序。
2 引導關(guān)鍵技術(shù)
引導主要步驟如下:
①利用CCStudi02.O建立應用程序,并產(chǎn)生*.out文件;
②建立引導表,生成相關(guān)文件;
③將引導表轉換為DSP可以加載的數據格式,生成*.dat文件;
④利用CCStudi02.O建立EEPROM燒寫(xiě)程序,將引導表寫(xiě)到EEPROM中。
2.1 引導程序制作
制作一個(gè)被加載的工程xf。程序的功能是使DSP的XF腳接的LED閃爍。主要調用程序如下:


編譯工程,在工程文件xf/Debug文件夾中生成xf.out文件。
2.2 引導表(boot table)制作
構造引導表的方法有兩種:一種是使用hex conversion utmty;另外一種是根據boot table的結構自己在SPIEEPROM燒寫(xiě)程序中進(jìn)行構造。對于第2種,需要構造者充分掌握引導表的構造(詳情請見(jiàn)參考文獻[1],第17頁(yè))。這里僅說(shuō)明使用hex converslon utility制作引導表的方法。下面闡述制作引導表所需要的環(huán)境和操作。
2.2.1 hex conversion utility數據轉換工具
hex conversion utllity是TI公司CCS中本身帶有的一個(gè)數據轉換工具。它有幾個(gè)版本。對于C54xx使用的hex500.exe,其絕對位置在\ti\c5400\cgtools\bin\hex500.exe;對于C55xx使用的hex55.exe,其位置一般在\ti\c5500\cgtools\bin\hex55.exe。使用hex conversion utility工具還需要以下文件:
①*.out文件,是CCS編譯好的要存入EEPROM的DSP可執行文件。這個(gè)文件對于bex conversion utility是數據源文件。
②*.cmd文件,用來(lái)填寫(xiě)hex conversion utility工具執行時(shí)的命令參數的文件。這些命令參數也可以在命令
執行時(shí)寫(xiě)在命令的后面,而不采用*.cmd文件。
③輸出文件是hex conversion utility生成的文件,可以是多種文件格式,在*.cmd文件的-o參數中設置,如ASCII-Hex、Intel、Motorola-Sl/S2/S3、TI-Tagged、Tektronix等。這里選用輸出文件為Intel格式。
2.2.2 制作過(guò)程
在2.1節中已經(jīng)制作好了xf.out文件。下面建立xf.cmd文件,內容如下:

編寫(xiě)好xf.cmd文件后,將hex55.exe、xf.out、xf.cmd放在同一個(gè)目錄下。進(jìn)入命令行并且到上述3個(gè)文件所在的目錄下,執行命令“hex55 xf.cmd”,如圖2所示。這樣就可得到輸出的引導表文件xf.io。

2.3 引導表數據轉換
引導表制作成功以后,其數據并不能被DSP直接讀寫(xiě),而需要把它轉換成DSP可以讀寫(xiě)的格式(即CCS數據文件格式),才能把這些數據燒寫(xiě)到存儲器中。這就需要對引導表文件進(jìn)行數據轉換。xf.io的數據格式如下(其中黑體字為有效數據):

CCS數據文件由CCS文件頭和數據兩部分構成。文件頭指明文件類(lèi)型、數據類(lèi)型、起始地址和長(cháng)度等信息,后為數據,每個(gè)數據占l行。以下即為CCS數據文件的文件頭格式:

采用VC++編寫(xiě)程序DSP_dataconvert進(jìn)行數據格式轉換,將Intel格式的數據轉換為DSP可以加載的數據格式。以下為CCS的數據格式,粗體字為有效數據。165ll 4000 114f;1651文件類(lèi)型,1表示十六進(jìn)制格式

2.4 SPI EEPROM燒寫(xiě)程序
SPI EEPROM讀過(guò)程操作一般要先執行WREN命令,打開(kāi)寫(xiě)使能信號,RDSR讀取寄存器狀態(tài)信號,WRITE寫(xiě)EEPROM。SA25C020的指令結構和讀寫(xiě)過(guò)程與普通的16位指令結構和讀寫(xiě)過(guò)程是兼容的,只是在寫(xiě)地址時(shí)SA25C020的是24位的。
一般燒寫(xiě)程序中的執行順序為:WREN→RDSR→WRITF
24位EEPROM具體寫(xiě)程序如下:

評論