TMS320VC5402外部并行引導裝載方法的研究
發布時間:2008/5/26 0:00:00 訪問次數:479
    
    
    來源:電子技術應用 作者:陳 斌 施克仁 郭大勇摘要:分析了tms320vc5402 dsp的引導裝載過程,給出了兩個外部并行引導裝載的典型電路。針對這兩個電路設計了可脫離flash燒寫器的仿真器在線編程裝載方法,并得到了實驗驗證。
    
    關鍵詞:dsp引導裝載 在線編程裝載 虛擬擴展程序空間 dsp所謂引導方式就是指單片機(mcu)系統復位時,其系統軟件代碼所取得的方式。對于單片機來說,它使用復位矢量方式從程序空間的固定地址處開始取得指令代碼。如果所需代碼來自程序空間外部,則引導過程無法進行。tms320vc5402 dsp內部rom中的引導裝載程序bootloader使系統上電后能自動將程序代碼從外部如flash、eprom、主機引導裝載到dsp內部或者外部程序存儲器中脫機運行。這樣的設計有三個突出點:一是程序代碼可以存儲在片外相對慢速、非易失性器件中,而裝載運行于高速器件;二是提供多種裝載方式,使得dsp可以靈活應用到不同系統;三是省去對dsp片內rom進行掩膜編程操作,節省大量費用。
    
    引導裝載程序根據不同的系統要求提供了多種裝載模式,主要包括并行i/o口引導裝載、串行口引導裝載、hpi引導裝載、外部并行引導裝載等模式,并且兼容8位和16位字引導裝載方式。
    
    
    1 引導裝載程序分析tms320vc5402內部4k字的rom程序位于0xf000~0xffff程序空間,包括引導裝載程序、μ律和a律擴充表、正弦對照表、工廠測試碼和中斷向量表。其中,引導裝載程序位于0xf800~0xfbff空間。復位時,如果tms320vc5402處在微計算機方式mp/mc=0,則片內rom中的引導裝載程序就會被執行。引導裝載程序在決定采用何種裝載模式之前,首先對cpu狀態寄存器進行初始化。初始化工作包括:禁止可屏蔽中斷intm=1,內部daram映射到程序/數據區ovly=1,對程序和數據區均設置為7個等待狀態。初始化完成后,引導裝載程序執行裝載模式判斷。判斷的順序是:hpi模式、spi模式、外部并行模式、標準串口模式、并行i/o模式。圖1說明了整個裝載模式的判斷流程。
    2 外部并行裝載電路的設計
    
    由圖1可知,外部并行裝載時引導裝載程序先讀i/o空間ffffh,判斷是否是有效的并行裝載模式;如果ffffh處為非有效值,則讀數據空間ffffh,判斷是否是有效的并行裝載模式。對于外部并行裝載,要求裝載時flash位于數據空間。下面給出兩種實際應用過的并行裝載電路,如圖2所示。
    
    圖2(a)適用于程序運行時不要求大數據空間的系統。若對ds(數據空間選擇)信號與a15地址線譯碼,flash占用數據空間的8000h~ffffh共32k空間,因此程序代碼的存儲區大小不能超過32k。當然,若對a15、a14與ds譯碼,flash也可將整個片外48k的數據空間作為程序代碼的存放區。
    
    圖2(b)將flash分為16頁,每頁64k,flash的片選信號ce利用dsp的a16~a19、通用i/o引腳xf以及程序/數據空間選擇ds/ps信號譯碼獲得。圖2b所示系統上電后,xf=1,譯碼后flash的0頁映射到數據空間,此時引導裝載程序可利用它正確裝載;裝載完畢后,dsp從程序代碼的入口地址開始執行,此時dsp設置xf=1,dsp利用內部daram或者外部sram作為程序和數據空間存儲器,flash的0頁被屏蔽而無法再操作,flash的1~15頁作為dsp擴展程序存儲器使用。這樣設計系統電路有如下好處:由于裝載時與系統程序運行時數據空間的物理存儲器分離,系統程序可利用全部64k的數據空間;程序運行時程序代碼存儲器被屏蔽,保證了裝載程序的安全性;擴展程序空間可作為數據暫存或永久存儲空間,滿足了數據處理系統的要求。當然,也可使用單片64k的flash作為程序代碼存儲器,以sram作為程序擴展空間存儲器。
    3 外部并行裝載的仿真器在線編程
    
    dsp引導裝載程序從外部數據存儲器(flash)中讀取引導裝載表,并且裝載程序
    
    
    來源:電子技術應用 作者:陳 斌 施克仁 郭大勇摘要:分析了tms320vc5402 dsp的引導裝載過程,給出了兩個外部并行引導裝載的典型電路。針對這兩個電路設計了可脫離flash燒寫器的仿真器在線編程裝載方法,并得到了實驗驗證。
    
    關鍵詞:dsp引導裝載 在線編程裝載 虛擬擴展程序空間 dsp所謂引導方式就是指單片機(mcu)系統復位時,其系統軟件代碼所取得的方式。對于單片機來說,它使用復位矢量方式從程序空間的固定地址處開始取得指令代碼。如果所需代碼來自程序空間外部,則引導過程無法進行。tms320vc5402 dsp內部rom中的引導裝載程序bootloader使系統上電后能自動將程序代碼從外部如flash、eprom、主機引導裝載到dsp內部或者外部程序存儲器中脫機運行。這樣的設計有三個突出點:一是程序代碼可以存儲在片外相對慢速、非易失性器件中,而裝載運行于高速器件;二是提供多種裝載方式,使得dsp可以靈活應用到不同系統;三是省去對dsp片內rom進行掩膜編程操作,節省大量費用。
    
    引導裝載程序根據不同的系統要求提供了多種裝載模式,主要包括并行i/o口引導裝載、串行口引導裝載、hpi引導裝載、外部并行引導裝載等模式,并且兼容8位和16位字引導裝載方式。
    
    
    1 引導裝載程序分析tms320vc5402內部4k字的rom程序位于0xf000~0xffff程序空間,包括引導裝載程序、μ律和a律擴充表、正弦對照表、工廠測試碼和中斷向量表。其中,引導裝載程序位于0xf800~0xfbff空間。復位時,如果tms320vc5402處在微計算機方式mp/mc=0,則片內rom中的引導裝載程序就會被執行。引導裝載程序在決定采用何種裝載模式之前,首先對cpu狀態寄存器進行初始化。初始化工作包括:禁止可屏蔽中斷intm=1,內部daram映射到程序/數據區ovly=1,對程序和數據區均設置為7個等待狀態。初始化完成后,引導裝載程序執行裝載模式判斷。判斷的順序是:hpi模式、spi模式、外部并行模式、標準串口模式、并行i/o模式。圖1說明了整個裝載模式的判斷流程。
    2 外部并行裝載電路的設計
    
    由圖1可知,外部并行裝載時引導裝載程序先讀i/o空間ffffh,判斷是否是有效的并行裝載模式;如果ffffh處為非有效值,則讀數據空間ffffh,判斷是否是有效的并行裝載模式。對于外部并行裝載,要求裝載時flash位于數據空間。下面給出兩種實際應用過的并行裝載電路,如圖2所示。
    
    圖2(a)適用于程序運行時不要求大數據空間的系統。若對ds(數據空間選擇)信號與a15地址線譯碼,flash占用數據空間的8000h~ffffh共32k空間,因此程序代碼的存儲區大小不能超過32k。當然,若對a15、a14與ds譯碼,flash也可將整個片外48k的數據空間作為程序代碼的存放區。
    
    圖2(b)將flash分為16頁,每頁64k,flash的片選信號ce利用dsp的a16~a19、通用i/o引腳xf以及程序/數據空間選擇ds/ps信號譯碼獲得。圖2b所示系統上電后,xf=1,譯碼后flash的0頁映射到數據空間,此時引導裝載程序可利用它正確裝載;裝載完畢后,dsp從程序代碼的入口地址開始執行,此時dsp設置xf=1,dsp利用內部daram或者外部sram作為程序和數據空間存儲器,flash的0頁被屏蔽而無法再操作,flash的1~15頁作為dsp擴展程序存儲器使用。這樣設計系統電路有如下好處:由于裝載時與系統程序運行時數據空間的物理存儲器分離,系統程序可利用全部64k的數據空間;程序運行時程序代碼存儲器被屏蔽,保證了裝載程序的安全性;擴展程序空間可作為數據暫存或永久存儲空間,滿足了數據處理系統的要求。當然,也可使用單片64k的flash作為程序代碼存儲器,以sram作為程序擴展空間存儲器。
    3 外部并行裝載的仿真器在線編程
    
    dsp引導裝載程序從外部數據存儲器(flash)中讀取引導裝載表,并且裝載程序