基于CPCI總線的多片ADSP-TS201引導設計
采用這種方式加載DSP的優(yōu)點:調試DSP時可以不使用JTAG仿真器;同時當DSP自啟動時,可以不采用FLASH或E2PROM存放程序代碼,對于DSP程序的大小沒有限制,也節(jié)約了電路板的空間及其硬件設計復雜度。
采用這種方式加載DSP的難點:CPCI總線與FPGA數據傳輸無誤及FPGA與TS201鏈路口通信,這兩個難點在實際工程中都已經解決。CPCI總線與FPGA接口可以采用PLX9656芯片完成數據傳輸,所以這種加載模式的設計是可行的。
2.1 自動引導程序設計思路
為了設計加載(自動引導)程序,首先必須了解ADSP-TS201的軟件設計流程,其流程圖如圖2所示。本文引用地址:http://www.ex-cimer.com/article/150192.htm
其中,鏈接描述文件(.LDF)定義了整個系統(tǒng)的存儲器配置和程序中數據及代碼的具體存放位置。加載核文件(.DEX)是指加載引導核程序,其功能是將用戶工程所編譯成功的可執(zhí)行文件(.DXE)合成一個鏈路口加載方式的輸出文件(.LDR)。該加載輸出文件用來定義加載過程中TS201的內部和外部存儲器如何被初始化。
在VisualDSP++安裝目錄的ldr子目錄下,ADI公司提供了標準加載核文件和相應的源程序(.ASM)和鏈接描述文件。一般可直接使用提供的標準加載核文件或對其相應的源程序進行簡單修改,重新編譯鏈接生成的加載核文件。加載文件是由引導加載器(elfloader)將可執(zhí)行文件進行一定的格式變化,并在起始位置附加上加載核文件生成的。
由于TS201有三種引導方式(不考慮非引導模式),ADI公司相應地提供了三種不同的加載和文件,分另0為:TS201_prom.dxe,TS201_li-nk.dxe,TS201_host.dxe。三個程序的核心思想和功能完全一致,只是由于使用的加載端口和方式不同,在具體代碼實現上稍有差異。由于本系統(tǒng)采用鏈路口啟動,同時對于DSPA,DSPB,DSPC,DSPD都采用不同的鏈路口啟動,因此采用鏈路口加載核文件,需要對加載核文件稍作修改,滿足不用鏈路口啟動的需求。
2.2 本信號處理機的復位引導設計流程
如圖1所示,4片DSP要運行的程序最終通過上位機讀取后,通過CPCI總線傳至FPGA,4片DSP為鏈路口引導模式。DSP復位后,DSPA從FPGA加載程序,DSPA加載完成后,再分別通過鏈路口加載DSPB,DSPC,DSPD。加載完成后,4片DSP正常執(zhí)行各自的程序。
結合以上各部分的分析,可以看出要實現該信號處理機中4片DSP的正確引導,所需的工作由以下幾步組成:
(1)由DSPB要執(zhí)行的程序(DSPB.dxe),結合鏈路口的加載核程序生成DSPB的加載文件(DSPB_bin.ldr)。需要注意的是,該鏈路口加載核程序不能直接使用提供的標準鏈路口加載程序,必須將提供的鏈路口加載核文件(TS201_link.asm)中的LINK常數改為1(#define LINK 1),即DSPB由鏈路口1引導。
(2)與(1)類似,生成DSPC的加載文件(DSPC_bin.ldr),只是需要把鏈路口加載核文件(TS201_link.asm)中的LINK常數改為2(#define LINK 2),即DSPC由鏈路口2引導。同樣DSPD由鏈路口2加載,同樣生成DSPD的加載文件(DSPD_bin.ldr)。
(3)由于DSPA要通過鏈路口來對DSPB,DSPC,DSPD進行程序引導,所以在進行DSPA編程時,需要在程序的最開始添加給后面所有ADSPTS2 01的引導程序。而每片ADSP-TS201的程序都由引導碼和用戶程序構成,所以在DSPA給其余DSP傳輸程序時將傳輸完整.1dr文件的數據。
評論