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

          新聞中心

          EEPW首頁 > 網(wǎng)絡與存儲 > 設計應用 > 片上PowerPC在VxWorks下的UDP千兆網(wǎng)通信

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

          作者:中國科學院光電技術研究所 張峰 任國強 時間:2008-06-10 來源:單片機與嵌入式系統(tǒng)應用 收藏

            ⑥修改sysL ib.c,以顯示正確的信息;

          本文引用地址:http://www.ex-cimer.com/article/83944.htm

           ?、咴O置主機IP地址。

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

            EDK中RAM和ROM的地址映射如表1所列。

                  

            若為表1所列的工程,則在config.h和Makfile文件中要進行如下修改:

                 

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

                 

            sysSerial.c對串口進行初始化,因為要正確地指定串口ID,sysLib.c中可以顯示鏡像的信息,因此也要進行相應的修改,如將

                 

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

            3 服務器/客戶端程序

            對VxWorks BSP進行正確的配置和修改后,在useAppInit.c中書寫自己的服務器端程序。本設計用基于socket的。

            網(wǎng)絡一般可通過socket實現(xiàn)。socket編程均采用客戶機/服務器模式,VxWorks提供了標準的BSDsocket調用,支持UDP協(xié)議。UDP協(xié)議即數(shù)據(jù)傳輸協(xié)議,它允許創(chuàng)建和維護與遠程計算機的連接,使其彼此可以進行數(shù)據(jù)傳輸。過程如圖2所示。

            服務器首先調用socket()建立一個套接字socket,然后調用bind()將套接字與一個本地網(wǎng)絡地址(IP地址和端口號)捆綁在一起,以保證客戶端正確識別。接著服務器再調用listen()使套接字處于被動的準備接收狀態(tài),同時規(guī)定它的請求隊列長度,隨后調用accept()來接收客戶連接。服務器進程隨即進入阻塞狀態(tài)??蛻襞c服務器的關系是不對稱的。服務器先啟動。然后在某時刻客戶主動發(fā)出請求,服務器被動應答。

            客戶端程序首先調用socket(),這個函數(shù)產(chǎn)生用于與各分系統(tǒng)連接的套接口,并為每個套接口返回一個ID號。然后初始化一個套接口結構體,為其賦上該 ID號以及服務端的IP地址和端口號,并將其作為函數(shù)connect()的參數(shù).調用connect()函數(shù)主動去連接服務端。

            當服務端與客戶端建立連接之后,就可以發(fā)送(write)和接收(read)數(shù)據(jù)。部分代碼如下:

                 

            客戶端應用程序在Windows下用VC實現(xiàn),代碼略。

            4 實驗結果

            結合工程實際開發(fā)的順序,分2步對VxWorks下通信進行測試:

            第1步,在usrAppInit.c中打印hello the world,若出現(xiàn)圖3所示窗口,則證明VxWorks內核已正確加載,以及BSP移植的正確性。程序跑到用戶編寫的usrAppInit.c。

            第2步,對編寫的UDP服務器/客戶端進行測試,結果如表2所列。

            5 結 論

            由于FPGA中嵌入了處理器及用于通信的Ethernet MAC,這樣,為利用FPGA實現(xiàn)高速網(wǎng)絡通信奠定了基礎。本文在VxWorks操作系統(tǒng)下實現(xiàn)了UDP的通信,實測速度達到294.68 Mb/s,吞吐量達到近30%。


          上一頁 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); })();