<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > HPI方式自舉在TMS320VC5402 DSP芯片上的實現(xiàn)

          HPI方式自舉在TMS320VC5402 DSP芯片上的實現(xiàn)

          作者: 時間:2009-03-19 來源:網(wǎng)絡(luò) 收藏

          3 使用進(jìn)行

          是作為多機(jī)數(shù)據(jù)交換而出現(xiàn)的,但是由于其功能特性,又產(chǎn)生了一種新的應(yīng)用――使用進(jìn)行。實際上,TMS320VC5x系列在片內(nèi)固化的程序中對HPI提供了全面的支持。筆者在VOIP系統(tǒng)的開發(fā)中,了使用HPI對DSP 的自舉,從而省掉了DSP的EPROM,使DSP只使用SRAM,提高了處理速度,并使HOST CPU具有更大的控制權(quán),很適合多處理器系統(tǒng)。對于計算機(jī)插卡式的DSP系統(tǒng),程序可以從PC機(jī)的硬盤上獲取,從而減小了插卡版面空間占用,提高了處理速度。

          上,需要解決以下幾個問題。

          3.1 DSP片內(nèi)固化的程序?qū)PI自舉的支持

          自舉從本質(zhì)上說就是在DSP啟動后通過某種獲取運行代碼并開始運行,這個過程是在固化在DSP片內(nèi)的程序輔助下完成的。在DSP上電以后,Bootloader程序按照一定的順序依次檢驗何種自舉可用,自舉包括HPI方式、Serial EEPROM方式、標(biāo)準(zhǔn)Serial Port方式、Parallel方式和I/O方式。

          Bootloader查詢HPI方式是否可用是這樣進(jìn)行的:在啟動以后,DSP片內(nèi)0x7f地址的值被置為0,Bootloader不斷檢驗0x7f地址處是否出現(xiàn)了可用的程序指針的跳轉(zhuǎn)地址。當(dāng)其發(fā)現(xiàn)該地址內(nèi)的值不為0時,即判定為DSP已由外部HOST CPU進(jìn)行了HPI自舉程序加載,并按照該值跳轉(zhuǎn)PC指針,開始運行,從而完成HPI方式自舉。

          3.2 突破4K的空間限制

          由于HPI-8的特性,HOST能夠訪問所有的片內(nèi)RAM空間,對于來說,其片內(nèi)RAM地址空間從0000H到3fffH,一共4K。這已經(jīng)大大超過了標(biāo)準(zhǔn)HPI的2K的大小,但是對于大多數(shù)DSP應(yīng)用程序來說,片內(nèi)RAM除了放置程序代碼以外,很可能還需要留出一部分供數(shù)據(jù)空間使用。實際上,大部分代碼都可能放置在片外的程序空間,而這部分空間并不是HOST通過HPI-8所能夠訪問得到的。所以需要使用某種技術(shù)突破4K的片內(nèi)RAM空間限制。由于DSP程序本身是能夠訪問到所有DSP程序、數(shù)據(jù)空間的,所以HOST可以首先放置一個體積不大于4K的程序到DSP內(nèi),再由該程序和HOST協(xié)作完成超出片內(nèi)RAM的代碼的放置工作。

          一般將上述的首先放入DSP的程序稱為kernel程序,其功能比較簡單,本身不超過4K,可以由HOST全部放入到的片內(nèi)RAM中,并被啟動。

          基于此種思路的流程圖如圖1所示。

          3.3 程序代碼的定位

          編程序的時侯使用符號作為地址,經(jīng)編譯、鏈接后,符號所表示的相對地址已經(jīng)轉(zhuǎn)化為絕對地址。要使程序能夠正常運行,需要將程序代碼寫到指定的位置――絕對地址。在 HOST→Kernel→DSP應(yīng)用的HPI自舉方式中,HOST和Kernel需先后完成Kernel代碼和DSP應(yīng)用程序代碼的定位工作。

          因此,在HOST CPU的外存儲器中,至少需要保存DSP程序代碼和相應(yīng)的地址信息。這些數(shù)據(jù)在由自舉程序?qū)懙紻SP后,被拼接成正確的可執(zhí)行代碼、已初始化數(shù)據(jù)等,并被正確定位。一般來說,HOST CPU的外存儲器中的DSP自舉數(shù)據(jù)是HEX格式的。雖然HEX格式有很多種,但任何一種包含有地址等信息的16進(jìn)制HEX格式文件都是適用的。

          常見的HEX格式有ASCII、Intel、TI-Tagged等格式,如圖2所示。

          在各種HEX格式中,Intel格式相對來說比較適宜,因為在Intel格式的HEX文件中,代碼被分為每行一個塊,這種分塊的最大長度固定,因此在DSP內(nèi)預(yù)留的緩沖區(qū)的大小容易計算。Intel格式的HEX文件的格式為:BYTE1作為每塊的起始標(biāo)志,總是“:”;BYTE2-3表示該塊中有效數(shù)據(jù)的長度,最長為32個BYTE。這種有效數(shù)據(jù)可能是程序代碼,也可能是擴(kuò)展地址信息;BYTE4-7表示該塊內(nèi)代碼的起始地址;BYTE8-9是類型,00表示程序代碼,01表示結(jié)束,04表示擴(kuò)展地址信息;BYTE10之后是代碼,直到最后兩個BYTE,表示校驗位。校驗位的值是該塊中先前數(shù)據(jù)值和的補(bǔ)碼。

          根據(jù)選定的HEX格式,CPU首先按照該格式的定義對Kernel的HEX數(shù)據(jù)進(jìn)行解釋,獲取各種信息后,CPU將其在TMS320VC5402片內(nèi)RAM中組成可執(zhí)行DSP程序。然后在CPU和kernel的共同作用下,對DSP應(yīng)用程序的HEX數(shù)據(jù)進(jìn)行解釋,最后完成其在DSP中的拼接、定位并啟動DSP應(yīng)用程序――跳轉(zhuǎn)到DSP應(yīng)用程序的起始地址。

          4 系統(tǒng)軟硬件設(shè)計與

          4.1 系統(tǒng)框圖

          在筆者開發(fā)的VOIP系統(tǒng)中,使用了HPI對DSP (TMS320VC5402)進(jìn)行自舉的功能。其中相應(yīng)部分的框圖如圖3所示。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();