2012-07-03 22 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

非常感谢这真的很有帮助。 –

相关问题