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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA片上PowerPC在VxWorks下的千兆網(wǎng)通信

          基于FPGA片上PowerPC在VxWorks下的千兆網(wǎng)通信

          作者: 時間:2010-12-31 來源:網(wǎng)絡 收藏

            而在嵌入式系統(tǒng)設計中,BSP的開發(fā)是一項非常復雜而繁瑣的工作 ,Xilinx公司提供的EDK套件,可以在很大程度上減輕開發(fā)者的工作。EDK中的BSP生成器(BSPgen)可以根據(jù)不同的微處理器、外設和RTOS組合自動產(chǎn)生用戶可裁剪的BSP。它包含了系統(tǒng)所必需的支持軟件,包括Boot代碼、設備驅動和RTOS的初始化。利用BSPgen可以把Xilinx器件驅動打包到BSP的子目錄下,并且把Xilinx器件驅動與及其Tornado集成開發(fā)環(huán)境無縫集成,充分減少開發(fā)周期。

            但是,BSPgen生成的BSP只是一個固定的BSP模板,并不能正確的反應RAM/ROM的存儲器映射,不支持用戶通過BSPgen流程自定義的核/驅動等。因此還需要對BSPgen產(chǎn)生的BSP進行修改裁剪。

            對于BSP開發(fā)人員來講,借助EDK的BSPgen,還必要做以下幾項工作:

            1)修改config.h 和Makefile中的RAM,ROM地址及串口速率

            2)修改sysSerial.c,對串口進行正確的設置

            3)增加不能與無縫集成的器件的驅動文件

            4)配置sysNet.c中的以太網(wǎng)參數(shù),設置MAC地址

            5)根據(jù)EDK中的配置,禁止或使能Cache

            6)修改sysLib.c,以顯示正確的信息

            7)設置主機IP地址

            經(jīng)過以上修改之后,將新的BSP放在Tornado的安裝目錄Tornado_roottargetconfig下,根據(jù)這個BSP,在Tornado集成環(huán)境下生成一個新的工程,然后就可以進行一般的嵌入式操作系統(tǒng)開發(fā)了。

            EDK中RAM和ROM的地址映射如下表所示:

            表一 RAM/ROM地址映射

            根據(jù)表一修改 makefile 和config.h里的地址。sysNet.c 中通過以下語句定義了網(wǎng)絡的MAC地址,必須根據(jù)真實的MAC地址進行修改,如本文的MAC地址:00:0A:35:01:88:25

            static char XEmacMacAddr0[6] = { 0x6, 0x5, 0x4, 0x3, 0x2, 0x1 }; //修改前

            static char XEmacMacAddr0[6] = { 0x00, 0x0A, 0x35, 0x01, 0x88, 0x25 }; //修改后

            sysSerial.c對串口進行初始化,因經(jīng)要正確的指定串口ID,sysLib.c中可以顯示vxWorks鏡像的信息,因此也要進行相應的修改。

            通過對EDK下生成的BSP的修改,并在Tornado集成環(huán)境下生成正確的VxWorks鏡像后,可以將其下載到中。觀察串口的輸出是否正確,可以進行相應的調試工作,以確定BSP的移植是正確的。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();