网络编程示例之开发板测试
编译elf1_cmd_net程序
(一)设置交叉编译环境。
(二)查看elf1_cmd_net文件夹Makefile文件。查看当前编译规则,net_demo是编译整个工程,clean是清除工程。
(三)输入命令。
(四)编译无错误将生成elf1_cmd_net可执行文件。
(五)将可执行文件拷贝到开发板中,例如/home/root 路径下。
开发板测试
如图,直连电脑网口和ELF 1板子的eth0。
(一)开发板做TCP客户端,虚拟机做TCP服务端。
以开发板IP:192.168.2.98,虚拟机IP:192.168.2.97 为例进行以下测试。
注意:在测试之前要保证开发板和虚拟机能够互ping成功。
(1)在开发板上运行的应用是arm架构的,在虚拟机中运行的应用是x86架构的。所以我们应该编译出x86架构的应用,让应用能够在虚拟机中运行。
重新打开一个终端,进行编译。
(2)在虚拟机执行elf1_cmd_net应用,建立监听。
(3)通过调试串口,在终端界面下进入到/home/root 路径,执行elf1_cmd_net应用,开发板与虚拟机建立链接。
(4)开发板与虚拟机建立链接后。当开发板主动发送数据后,虚拟机将接收到的数据再次转发到开发板。效果如下:
(二)开发板做TCP服务端,虚拟机做TCP客户端。
(1)通过调试串口,在终端界面下进入到/home/root 路径,执行elf1_cmd_net应用。建立监听。
(2)在虚拟机执行elf1_cmd_net应用,开发板与虚拟机建立链接。
(3)开发板与虚拟机建立链接后。当虚拟机主动发送数据 后,开发板会将接收到的数据再次转发到虚拟机。效果如下:
(三)开发板做UDP客户端,虚拟机做UDP服务端。
说明:因为UDP协议是无连接的,所以UDP客户端应先发数据,让UDP服务端绑定UDP客户端的IP和端口,方能互相通信。到实际测试时,方法是UDP客户端先主动发送数据,UDP服务端获取UDP客户端的IP和端口。
(1)在虚拟机执行elf1_cmd_net应用。
(2)通过调试串口,在终端界面下进入到/home/root 路径,执行elf1_cmd_net应用,主动发送数据。
(3)当开发板发送数据后,虚拟机会将接收到的数据再次转发到开发板。效果如下:
(四)开发板做UDP服务端,虚拟机做UDP客户端。
(1)通过调试串口,在终端界面下进入到/home/root 路径,执行elf1_cmd_net应用,
(2)在虚拟机执行elf1_cmd_net应用,主动发送数据。
(3)当虚拟机发送数据后,开发板会将接收到的数据再次转发到虚拟机。效果如下: