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