Zephyr:https://github.com/zephyrproject-rtos/zephyr
开发板:nucleo_f412zg
本测试基于Zephyr Sample:echo_server
Step1:
cd samples/net/sockets/echo_server
mkdir build
cmake -GNinja -DBOARD=nucleo_f412zg -DOVERLAY_CONFIG=overlay-netusb.conf ..
ninja flash
此时出现两个 “设备管理器”->“其他设备”->“USB-DEV”
至此,程序已经能够运行。
Step2:
修改echo_server提供的默认配置(overlay-netusb.conf)
修改:
CONFIG_USB_DEVICE_NETWORK_ECM=n
添加:
CONFIG_USB_DEVICE_NETWORK_RNDIS=y
CONFIG_USB_DEVICE_OS_DESC=y
ninja flash
此时出现一个 “设备管理器” -> “其他设备”->“USB-DEV”
Step3:
右键 “USB-DEV”->“更新驱动程序”->“浏览我得计算机以查找驱动程序软件(R)”->“->让我从计算机上的可用驱动程序列表中选取(L)”->“网络适配器”->“Microsoft”->“远程NDIS兼容设备”->忽略警告,点击“是”
此时出现 “设备管理器”->“网络适配器”->“远程NDIS兼容设备”
Step4:
修改电脑IP地址(与平时修改IP地址操作一样,我这里修改为:192.168.36.102):
修改开发板IP地址(192.168.36.100):
开发板log:
***** Booting Zephyr OS build zephyr-v1.14.0-1925-gca3549d9f540 *****
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [0m usb_rndis: Command thread started[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [0m usb_net: netusb initialized[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [1;31m usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [1;31m usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [1;31m usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [1;31m usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.065,000] [0m net_config: Initializing network[0m
[1;32muart:~$ [m[8D[J[00:00:00.065,000] [0m net_config: IPv4 address: 192.168.36.100[0m
[1;32muart:~$ [m[8D[J[00:00:00.065,000] [1;31m usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.065,000] [1;31m usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[1;32muart:~$ [m[8D[J[00:00:00.101,000] [0m net_config: IPv6 address: fe80::200:5eff:fe00:5300[0m
[1;32muart:~$ [m[8D[J[00:00:00.166,000] [0m net_config: IPv6 address: fe80::200:5eff:fe00:5300[0m
[1;32muart:~$ [m[8D[J[00:00:01.001,000] [1;31m usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m net_echo_server_sample: Run echo server[0m
[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m net_echo_server_sample: Waiting for TCP connection on port 4242 (IPv6)...[0m
[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m net_echo_server_sample: Waiting for TCP connection on port 4242 (IPv4)...[0m
[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m net_echo_server_sample: Waiting for UDP packets on port 4242 (IPv6)...[0m
[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m net_echo_server_sample: Waiting for UDP packets on port 4242 (IPv4)...[0m
[1;32muart:~$ [m[8D[J[1;32muart:~$ [m
Step5:
电脑ping开发板:
网络调试工具(UDP):