2012-07-03 18 views
2

我有一個小型FPGA,需要通過以太網與運行在Ubuntu機器上的C程序進行通信。 FPGA太小而無法使用TCP等。我可以使用以太網端口的MAC地址發送幀並在wireshark中選擇它們,但要與CI通信需要使用RAW套接字,但是在創建套接字時需要使用協議值,是否有任何協議可以讓我只使用MAC地址進行通信。使用嵌入式FPGA的MAC地址與套接字進行通信

的幀結構如下

Destination MAC address 
Source MAC address 
Protocol - 0x55aa 
Data 

回答

4

如果使用PF_PACKET而不是PF_INET那麼你0x55aa值是您的協議號:

#include <sys/socket.h> 
#include <netpacket/packet.h> 

packet_socket = socket(PF_PACKET, SOCK_RAW, ntohs(0x55aa)); 
+0

非常感謝這真的很有幫助。 –

相關問題