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<inf> usb_rndis: Command thread started[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [0m<inf> usb_net: netusb initialized[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [1;31m<err> usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [1;31m<err> usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [1;31m<err> usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.000,000] [1;31m<err> usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.065,000] [0m<inf> net_config: Initializing network[0m
[1;32muart:~$ [m[8D[J[00:00:00.065,000] [0m<inf> net_config: IPv4 address: 192.168.36.100[0m
[1;32muart:~$ [m[8D[J[00:00:00.065,000] [1;31m<err> usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[00:00:00.065,000] [1;31m<err> usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[1;32muart:~$ [m[8D[J[00:00:00.101,000] [0m<inf> net_config: IPv6 address: fe80::200:5eff:fe00:5300[0m
[1;32muart:~$ [m[8D[J[00:00:00.166,000] [0m<inf> net_config: IPv6 address: fe80::200:5eff:fe00:5300[0m
[1;32muart:~$ [m[8D[J[00:00:01.001,000] [1;31m<err> usb_net: interface disabled[0m
[1;32muart:~$ [m[8D[J[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m<inf> net_echo_server_sample: Run echo server[0m
[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m<inf> net_echo_server_sample: Waiting for TCP connection on port 4242 (IPv6)...[0m
[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m<inf> net_echo_server_sample: Waiting for TCP connection on port 4242 (IPv4)...[0m
[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m<inf> net_echo_server_sample: Waiting for UDP packets on port 4242 (IPv6)...[0m
[1;32muart:~$ [m[8D[J[00:00:03.167,000] [0m<inf> net_echo_server_sample: Waiting for UDP packets on port 4242 (IPv4)...[0m
[1;32muart:~$ [m[8D[J[1;32muart:~$ [m
Step5:
電腦ping開發板:
網絡調試工具(UDP):