一種雙DSP系統(tǒng)串行引導(dǎo)方案的實現(xiàn)
鏈接命令程序用于定義DSP系統(tǒng)各存儲區(qū)的開始地址及大小,并分配編譯后各段到相應(yīng)的存儲空間,link.cmd內(nèi)容如下:本文引用地址:http://m.butianyuan.cn/article/188594.htm
2.3 TMS320C62X通過IDMA接口把ADSP218x程序拷貝到內(nèi)部存儲器的方法
從TMS320C62x來看,IDMA接口只有三個寄存器,分別是IDMA控制寄存器IDMA_IAL,IDMA讀數(shù)據(jù)寄存器IDMA_IRD和IDMA寫數(shù)據(jù)寄存器ID-MA_IWR。
該三個寄存器的定義如下:
訪問ADSP218x的內(nèi)存單元一般需要三個步驟:
第一步:向IDMA控制寄存器寫該數(shù)據(jù)單元所在的頁面。編程只需要向IDMA_IAL控制寄存器寫入恰當(dāng)控制字即可。例如要向APSP218x的PM區(qū)的第5頁寫數(shù)據(jù),則應(yīng)該有下面的命令:
IDMA_IAL=0x8050;
第二步:向IDMA控制寄存器寫該數(shù)據(jù)的地址。
如果是PM區(qū),則該數(shù)據(jù)的地址為當(dāng)前地址,如果是DM區(qū),必須將當(dāng)前地址加0x4000。例如要向PM區(qū)的0x0809區(qū)寫數(shù)據(jù),則應(yīng)該有下面的命令:
IDMA_IAL=0x0809;
如果向DM區(qū)寫數(shù)據(jù),則有命令:
IDMA_IAL=0x0809+0x4000;
第三步:讀寫數(shù)據(jù)。如果是讀數(shù)據(jù),例如要將數(shù)據(jù)讀入到unsigned short XX單元,則應(yīng)該用下面的命令:
XX=(unsigned short)IDMA_IRD;
如果是寫數(shù)據(jù),例如要將數(shù)據(jù)unsigned short YY寫入某地址單元,則應(yīng)該用下面的命令I(lǐng)DMA_IWR=YY;
注意以后每讀取或?qū)憯?shù)據(jù),IDMA接口的地址指針自動加1。
TMS320C62x通過IDMA口,在啟動后把AD-SP218x的應(yīng)用程序拷貝到ADSP218x的內(nèi)部存儲器中。ADSP218x的應(yīng)用程序作為一個asm文件供TMS320C62x應(yīng)用軟件調(diào)用,具體格式為:
2.4 FLASH的在線燒寫
上面的工程文件經(jīng)CCS系統(tǒng)編譯、匯編后生成可執(zhí)行COFF文件(.out),它需要轉(zhuǎn)換成可供CCS調(diào)用的數(shù)據(jù)文件,通過JTAG口在線寫入到FLASH中。利用TI公司的HEX6x.exe工具,將生成的.out文件轉(zhuǎn)化成.hex輸出文件。由于該HEX6x.exe工具是提供給EPROM編程器的,用EPROM編程器可直接燒寫.hex文件。但對于FLASH的在線系統(tǒng)編程來說,生成的.hex文件不能直接使用,必須再編寫一段程序?qū)ⅲ甴ex的文件頭去掉,分離出數(shù)據(jù)文件,最后才能由FLASH的在線燒寫程序?qū)⒆罱K的數(shù)據(jù)文件燒寫到FLASH中。
hex6x命令行的格式為:
命令執(zhí)行后會產(chǎn)生三個文件,這三個文件再經(jīng)過轉(zhuǎn)換融合成一個文件flash.a(chǎn)sm,格式如下:
3 結(jié) 語
該系統(tǒng)經(jīng)過單板和整機(jī)的高低溫、振動、電磁兼容試驗驗證,系統(tǒng)在上電后能夠100%的正常啟動,性能穩(wěn)定。該方法為編寫由TMS320C62x和ADSP218x組成的雙DSP系統(tǒng)的引導(dǎo)程序拓寬了思路,其設(shè)計思想對其他型號組成的雙DSP系統(tǒng)的設(shè)計也具有借鑒意義。
評論