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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 多核DSP的BootLoader程序的實(shí)現(xiàn)

          多核DSP的BootLoader程序的實(shí)現(xiàn)

          作者: 時(shí)間:2008-11-27 來(lái)源:網(wǎng)絡(luò) 收藏

            ·粗略估計(jì)B核的程序執(zhí)行時(shí)間,在A核的有效程序代碼前加一個(gè)延遲程序。

            ·在A核的有效程序代碼前加入一個(gè)死循環(huán)程序,當(dāng)B核程序執(zhí)行完后,B核通知A核,A核就跳出這個(gè)死循環(huán)程序,開(kāi)始執(zhí)行自己的有效代碼。

            2.4 TMS320VC5421的16位并行EPROM工作方式的程序的編程實(shí)現(xiàn)

            首先設(shè)計(jì)一個(gè)簡(jiǎn)單的電路圖,如圖3所示。在的A_XF和B_XF兩個(gè)管腳分別連接一個(gè)發(fā)光二極管,A核以2Hz的頻率點(diǎn)亮發(fā)光二極管,B核以10Hz的頻率點(diǎn)亮發(fā)光二極管。將128K的FLASH(SST39VF400A)分成兩頁(yè),每頁(yè)為64K。FLASH的頁(yè)的選擇由TMS320VC5421的A_BDXO管腳控制。當(dāng)A_BDX0為低電平,即FLASH的A16地址線為低電平時(shí),選中FLASH的第一頁(yè),由FLASH的A0~A15地址線選擇頁(yè)內(nèi)地址,用于存放A核的16位并行EPROM工作方式的Boot表。當(dāng)A_BDX0為高電平,即FLASH的A16地址線為高電平時(shí),選中FLASH的第二頁(yè),由FLASH的A0~A15地址線選擇頁(yè)內(nèi)地址,用于存放B核的16位并行EPROM工作方式的Boot表。

            CPU_A和CPU_B的程序流程圖分別如圖4和圖5所示。

          多核DSP的BootLoader程序的實(shí)現(xiàn)

          多核DSP的BootLoader程序的實(shí)現(xiàn)

            (1)片外總線沖突的解決

            估算B核執(zhí)行BootLoader程序所需的時(shí)間后,在A核的用戶有效程序之前,加一段延遲程序。

            延遲的時(shí)間計(jì)算如下:

            TMS320VC5421的DMA通道從片外數(shù)據(jù)空間讀取一個(gè)字到片內(nèi)數(shù)據(jù)空間,需要7個(gè)指令周期時(shí)間。

            統(tǒng)計(jì)用戶程序大小,將對(duì)應(yīng)Boot表中的所有段的大小相加:N1+N2+...=N。

            延遲的時(shí)間為N×7=7N個(gè)指令周期。

            由上面所述的方法可知,只需在開(kāi)始執(zhí)行A核的有效程序之前加一段延遲7N個(gè)指令周期的代碼即可。

            (2)生成Boot表

            對(duì)CPU_A來(lái)說(shuō),以A核程序流程圖建立一個(gè)項(xiàng)目Ati.msk。產(chǎn)生Ati.out文件后,進(jìn)入該目錄的DOS環(huán)境,鍵入:

            hex500 Ati.out-a-e 0x4000h-boot-bootorg PARALLEL-memwidth 16-romwidth 16-o Ati.hex

            生成A核的16位并行EPROM工作方式的Boot表。

            對(duì)CPU_B來(lái)說(shuō),同樣以B核程序流程圖建立一個(gè)項(xiàng)目Bti.msk。產(chǎn)生Bti.out文件后,進(jìn)入該目錄的DOS環(huán)境,鍵入:

            hex500 Bti.out-a -e 0x4000h-boot-bootorg PARALLEL-memwidth 16-romwidth 16-o Bti.hex

            生成B核的16位并行EPROM工作方式的Boot表。

            在實(shí)現(xiàn)雙核自舉后,A核和B核的用戶程序?qū)?huì)被存放在核內(nèi)程序空間的不同頁(yè)面上。如從DMA的角度觀看:A核的用戶程序?qū)⒈淮娣旁贏核的程序空間的第0頁(yè)上;B核的用戶程序?qū)⒈淮娣旁贐核的程序空間的第2頁(yè)上。因此A核的Boot表不需要修改,而B(niǎo)核的Boot表中的所有存放頁(yè)地址的表項(xiàng)中的內(nèi)容要更改為2。

            (3)FLASH編程實(shí)現(xiàn)

            根據(jù)FLASH芯片的控制時(shí)序,編寫(xiě)一個(gè)簡(jiǎn)單的DSP程序,用于將A核的Boot表寫(xiě)入FLASH的低64K,將B核的Boot表寫(xiě)入FLASH的高64K。

            3 試驗(yàn)結(jié)果

            將電路后,A核控制的發(fā)光二極管開(kāi)始閃爍,B核控制的發(fā)光二極管也開(kāi)始閃爍,且A核發(fā)光二極管閃爍頻率要低于B核發(fā)光二極管閃爍頻率。由此現(xiàn)象可得出:A核與B核的BootLoader實(shí)現(xiàn)成功,未產(chǎn)生片外總線沖突;A核以2Hz的頻率點(diǎn)亮發(fā)光二極管,B核以10Hz的頻率點(diǎn)亮發(fā)光二極管。


          上一頁(yè) 1 2 3 4 5 下一頁(yè)

          關(guān)鍵詞: DSP 多核 BootLoader 上電

          評(píng)論


          相關(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); })();