JTAG接口在線(xiàn)燒寫(xiě)Flash的實(shí)現
為了解決TMS320VC55X 系列DSP 系統程序代碼的保存問(wèn)題,設計了一種利用JTAG 接口,在線(xiàn)燒寫(xiě)Flash 并實(shí)現自舉啟動(dòng)的方法。這種在線(xiàn)編程的方法利用并行外部存儲器加載(EMIF)接口將TMS320VC5509 和Flash 芯片相連接, 通過(guò)搬移程序將應用程序的已初始化段按照C55X 系列DSP 引導表格式燒寫(xiě)進(jìn)外部擴展的Flash 存儲器中,從而實(shí)現自舉啟動(dòng)。該方法為DSP 系統的軟件維護和升級帶來(lái)了方便,具有實(shí)際的應用價(jià)值。
本文引用地址:http://dyxdggzs.com/article/150188.htm引言
Flash 是一種可在線(xiàn)進(jìn)行電擦寫(xiě)而掉電后信息又不丟失的存儲器, 它具有功耗低、容量大、擦寫(xiě)速度快等特點(diǎn)。如何將程序燒寫(xiě)進(jìn)Flash , 并在上電時(shí)加載到DSP 內部的RAM 中, 是Flash 在DSP 系統應用中的兩個(gè)基本問(wèn)題。本文基于TI 公司的TMS320VC5509A 和AMD 公司的AM29LV800 開(kāi)發(fā)系統, 詳細闡述了在線(xiàn)燒寫(xiě)Flash 并實(shí)現自舉啟動(dòng)的方法。
1 硬件電路設計
圖1 為T(mén)MS320VC5509A 與AM29LV800 的連接示意圖,Flash 擴展在CE1 空間, 起始地址為200000。由于TMS320VC5509A 只有14 根地址線(xiàn)A0~A13, 又因為Flash作為數據存儲空間使用時(shí)的地址編碼采用字尋址方式,則DSP 的A0 信號無(wú)效, 所以AM29LV800 芯片的低13位地址線(xiàn)A0 ~A12 連接TMS320VC5509A 的地址線(xiàn)A1 ~A13, 高6 位地址線(xiàn)A13 ~A18 由緩沖串口來(lái)擴展。
圖1 TMS320VC5509A 與AM29LV800 的連接示意圖
AM29LV800 是低功耗Flash , 工作在2.7 V~3.6 V 電壓下, 一般存儲數據可以保存100 年以上, 可以重復編程次數高達10 萬(wàn)次。A18~A0 為外部地址管腳,DQ0~DQ15為16 條數據線(xiàn),

為片選控制管腳,

為輸出控制管腳,

為寫(xiě)入控制管腳。
2 自啟動(dòng)過(guò)程分析及啟動(dòng)表結構
DSP 系統的bootloader 是指在系統上電時(shí)將一段存儲在外部非易失性存儲器中的程序搬移到DSP 片內或片外擴展的高速RAM 中并執行的代碼。Bootloader 程序永久性地存儲在DSP 以FF8000H 開(kāi)始的ROM 中,DSP系統在復位后PC=FF8000H , 即從Bootloader 程序首地址開(kāi)始執行。
TMS320VC5509 DSP 的Bootloader 有多種加載方式[3],如表1 所示, 設置DSP 的GPIO0-GPIO3 ,DSP 在復位時(shí)讀取這4 個(gè)引腳上的狀態(tài)以確定所使用的啟動(dòng)模式。本文使用16-bit EMIF 加載方式, 雖然連線(xiàn)復雜, 需要考慮并行非易失存儲器Flash 與EMIF 接口的匹配關(guān)系, 但是它的優(yōu)點(diǎn)很多: 不需要外部時(shí)鐘驅動(dòng), 非易失存儲器種類(lèi)多樣, 容量較大, 除了存儲下載表之外, 還可存儲系統需要保存的關(guān)鍵數據, 以便在掉電時(shí)保存信息。
評論