《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > DSP 代碼HPI加載方法的研究

DSP 代碼HPI加載方法的研究

2009-08-10
作者:羅書克1,張元敏1,張亞科2

??? 摘 要:應用TMS320VC5410A的主機接口,結合單片機豐富的I/O資源以及單片機操作主機接口的簡易性,介紹了在DSP系統復位時,單片機通過主機接口加載DSP代碼的詳細過程。
??? 關鍵詞:VC5410A;單片機;HPI;代碼加載

?

??? 隨著科技的發展,許多嵌入式產品都在朝著小型化、節能化的方向發展。如何應用現有的資源,減少元器件的數量也成為許多廠家技術革新的方向。DSP作為一種高速的處理器在許多電子產品中都有所應用。所以根據產品的資源,選擇一種合適的代碼加載方式也是減少成本的一種方法。本文依據5410A來介紹通過HPI接口加載代碼的方法,適合于含有單片機的DSP系統中。
??? 5410A有5種加載代碼的方法,分別是:HPI引導加載、8/16位并行引導加載、8/16位標準串行口引導加載、8位串行EEPROM引導加載和I/O引導加載[1-2]
??? HPI加載就是通過DSP的HPI接口,由外部主機把DSP的運行代碼寫入DSP的程序空間,寫完之后,DSP從程序的起始地址開始執行代碼[3]。下面主要介紹HPI加載的過程。
1 DSP固化的BootLoader程序
??? 當DSP上電復位時,如果DSP的MP/#MC引腳為低電平,便跳轉到其內部固化的BootLoader程序運行,選擇相應的加載模式,直到代碼加載完畢才跳出引導程序[4-5]。其中HPI加載模式的流程如圖1所示。

?


??? 由圖1可以看出,DSP進入HPI加載模式有兩種方式:一是通過判斷INT2中斷標志位是否激活;二是通過向0x007E和0x007F(0x007E和0x007F地址中存放HPI加載時程序運行的入口地址)寫入有效的地址,因為bootloader在運行時,首先清零0x007E和0x007F兩個地址中的數據,然后才對加載模式進行選擇,當沒有查詢到有效的加載模式時,bootloader程序繼續向下執行,檢查0x007E和0x007F是否為有效地址,是則跳轉到該地址執行程序,不是則繼續對部分加載模式進行查詢。筆者根據使用的5410A平臺,采用第二種方法[6]
2 主機操作過程
??? 5410A的HPI接口是增強型的,它允許主機訪問整個片內RAM空間,并且主機和DSP對這些空間的訪問是共享的。單片機對HPI接口的操作實際上就是對HPI的3個寄存器HPIC、HPIA、HPID進行操作的過程[7]。單片機通過HPI口向DSP內部RAM寫入數據的程序流程如圖2所示。

?


??? 單片機程序首先寫HPIC寄存器,高低字節都是09H,清HINT中斷,配置第一個字節傳輸的是低字節,然后向HPIA中寫入地址值(起始地址-1),通過自增方式向HPID寄存器連續送入數據[8]。因為HPI在自增方式下寫數據時,地址先加1,然后再寫,所以開始配置的地址值要減1后再送HPIA寄存器。在自增方式讀時,是先讀出數據,然后地址再加1。
??? 在這里,DSP的代碼作為單片機代碼的一部分,即把DSP的bin格式代碼添加到單片機bin格式代碼的某個空閑空間。單片機開始工作時,連續地從這個空間讀取數據,然后通過HPI口寫入DSP的內部RAM中。數據寫完后,向DSP的數據空間7EH、7FH寫入DSP程序運行的起始地址,此后單片機就可以進行其他工作,DSP的引導程序通過判斷7EH、7FH中的有效數據、跳轉的相應的起始地址,開始執行代碼。
??? 需要注意的是,DSP在編譯時,CMD文件中設置的程序的起始地址要和DSP的 HPI加載的起始地址相同。
3文件格式轉換
??? DSP的應用程序編譯鏈接后,生成一個out文件,這個文件包含有其他一些附件信息,所以不能通過主機直接加載到DSP中,要通過一個CMD文件把其轉化為hex格式,然后再轉化為bin格式,最后把bin格式文件中的有效數據添加到單片機編譯生成的bin 文件后面,單片機加載到DSP內部的數據便從該地址開始。CMD文件內容如下:
??? dsp.out
??? -o dsp.hex
??? -i
??? -memwidth 8
??? -romwidth 8
??? 把通過CCS編鏈接生成的out文件(假設為dsp.out)和上述CMD文件(假設為debug.cmd)以及hex500、hex2bin.exe(CCS自帶)4個文件放在同一個文件夾中(假設在 d:dsp 文件夾下)。在DSP環境下,運行如下命令:
??? d:回車
??? cd dsp 回車
??? hex500 debug.cmd 回車
??? 便可以生成相應的dsp.hex文件。隨后通過執行hex2bin dsp.hex 指令,可以把hex格式的文件轉化為需要的bin文件。
??? 通過單片機對DSP的主機接口進行讀寫,來實現DSP代碼的加載。現在好多單片機的內部FLASH空間都達到或超過64KB范圍,如華邦、SST系列等有足夠的空間來存放DSP的數據代碼,并且單片機在上電加載完DSP代碼之后,可繼續進行其他工作,互不影響,這樣既節省了芯片資源,又可以充分利用單片機的現有資源進行其他工作。
參考文獻
[1]??Coding of speech at 8kb/s using conjugate-structure algebraic-cod excited linear-prediction. ITU-T Recommendation G.729, March 1996.
[2] SALAM R,LAFLAMME I C. Reduced complexity 8kb/s CSACELP codec for digital simultaneous voice and data[J]. IEEE Communication Magazine, 1997, 9: 56-63.
[3]? 張軍,趙靜.DSP芯片的特點及應用[J].現代電子技術, 2001, 11: 7-81.
[4]? TMS320C54X DSP Reference Set.TI公司
[5]? TMS320VC5409數據手冊.TI公司
[6]? X5043數據手冊.Xicor公司
[7]? 暢洪亮,程維,蔡學敬. TMS320VC5402 HPI接口與PCI總線接口設計[J].單片機與嵌入式系統應用,2006, 10.
[8]? TMS320VC5402A/VC5409/VC5410A/VC5416 Bootloader.TI公司.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 成人中文字幕在线观看 | 综合成人在线 | 亚洲午夜网站 | 欧美性精品hd在线观看 | 人成午夜性刺激免费 | 特级做a爰片毛片免费看一区 | 中文字幕一区二区三区精品 | 国产精品三级手机在线观看 | 国产成人福利视频在线观看 | 国产露脸3p普通话 | 一区二区三区成人 | 亚洲在线观看网站 | 久久久免费视频播放 | 国产精品专区第二 | 欧美人交性视频在线香蕉 | 久久久久国产精品 | 免费国产成人高清在线观看不卡 | 在线成人亚洲 | 国产成人mv 在线播放 | 久久视频这里只精品3国产 久久视频这里只有精品 | 欧美一区二区三区精品 | 日韩欧美亚洲中字幕在线播放 | 亚洲精品视频免费看 | 欧美日韩一级片在线观看 | 午夜人成 | 中文字幕在线视频精品 | 九月婷婷亚洲综合在线 | 亚洲天堂视频在线观看 | 亚洲自拍在线观看 | 精品国产一区二区三区www | 久久精品女人毛片国产 | 国产精品久久久久影视不卡 | 成年女人毛片免费播放人 | 欧美日中文字幕 | 一本久久a久久精品亚洲 | 亚洲美女黄色片 | 亚洲视频在线一区二区 | 手机看片久久高清国产日韩 | 男人又粗又硬桶女人免费 | 日韩在线三级视频 | 欧美日韩精品一区二区三区高清视频 |