基于CAN總線的DSP芯片程序的受控加載實現(xiàn)
本文引用地址:http://www.ex-cimer.com/article/148290.htm
由CCS編譯器生成的DSP可執(zhí)行文件是一種.out文件本方法中首先調(diào)用TI公司提供的hex500.exe程序,將其轉(zhuǎn)換為.hex文件3,這種.hex文件的組織結(jié)構(gòu)具體如下: 它由一個一個的塊(block)組成,每一個塊的第一個字節(jié)表示當前塊包含的待加載的有效數(shù)據(jù)的長度,第二第三個字節(jié)表示這些有效數(shù)據(jù)寫入DSP內(nèi)存時的首地址,從第五個字節(jié)開始是待寫入DSP內(nèi)存的有效數(shù)據(jù)(第四個字節(jié)通常為0x00,是無效數(shù)據(jù)),超出當前有效數(shù)據(jù)長度的數(shù)據(jù)不需要處理需要注意的是,文件的結(jié)尾(也就是最后一個塊)的第一個字節(jié)的數(shù)據(jù)是0,表示當前塊為文件的結(jié)尾,其后的任何數(shù)據(jù)都是無效數(shù)據(jù) 知道這種.hex文件的組織結(jié)構(gòu)后,就可以分離出其中的有效數(shù)據(jù),然后就可將這些有效數(shù)據(jù)寫入DSP的內(nèi)存本技術(shù)是通過DSP的HPI口來完成寫操作的具體如下: 首先對DSP復位,清除原來的數(shù)據(jù);然后在單片機的控制下從.hex文件讀出每次寫入的初始地址,從這些初始地址開始不斷地將有效數(shù)據(jù)寫入DSP的內(nèi)存;寫操作完成后,向DSP的內(nèi)存地址0x007f寫數(shù)據(jù)0x8000,程序即啟動,開始執(zhí)行
3 系統(tǒng)的組成
系統(tǒng)組成框圖如圖2所示 ISA插卡通過ISA插槽與PC機(即相當于磁懸浮系統(tǒng)上的主控機)連接,受PC機的控制,接收來自PC機的數(shù)據(jù),向PC機轉(zhuǎn)發(fā)收到的數(shù)據(jù)插卡上有SJA1000芯片,通過它與PCB板上的SJA1000實現(xiàn)數(shù)據(jù)交換
CB板上的SJA1000的數(shù)據(jù)/地址信號線與單片機的P0并口相連,同時P0并口也與DSP的HPI并口數(shù)據(jù)線HD0~7相連在單片機的控制下,SJA1000接收來自PC機的數(shù)據(jù),并將其通過P0并口發(fā)送給單片機,然后單片機再將這些數(shù)據(jù)通過HPI發(fā)送給DSP
評論