1 /*
2 * Copyright (c) 2022-2024, Xiaohua Semiconductor Co., Ltd.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 *
6 * Change Logs:
7 * Date Author Notes
8 * 2024-12-30 CDT first version
9 */
10
11 /*
12 * 程序清单:ETH设备使用例程,例程导出了eth_webserver命令到控制终端
13 * 命令调用格式:eth_webserver
14 *
15 * ************************** 测试case 1 **************************
16 * 1)网线连接目标板和PC的网络端口,设置PC的对应网卡的IP地址,如下:
17 * IPv4地址:192.168.1.10
18 * 子网掩码: 255.255.255.0
19 * 默认网关: 192.168.1.1
20 * 2)配置RTT工程
21 * menuconfig:
22 * RT-Thread Componets ---> Network ----> LwIP ----> lwIP version(lwIP v2.1.2)
23 * Static IPv4 Address,按照如下配置IP:
24 * IP address : 192.168.1.30
25 * Gateway address : 192.168.1.1
26 * Mask address : 255.255.255.0
27 * Enable alloc ip address through DHCP,取消该选项
28 * Hardware Drivers Config ---> Onboard Peripheral Drivers ----> Enable Ethernet: ETH PHY USING RTL8201F
29 * ETH Communication USING MII
30 * 3)拨码开关J33拨到MII端,编译下载、运行代码
31 * 4)等待msh>
32 * 5)msh>窗口输入命令:ping 192.168.1.10,显示连接正常(60 bytes from 192.168.1.120 icmp_seq=0 ttl=128 time=1 ms)
33 * 6)msh>窗口输入命令:eth_webserver
34 * 7)PC打开浏览器,输入IP地址:192.168.1.30再按回车键,显示lwip的简介网页(lwIP - A Lightweight TCP/IP Stack),
35 * 表示成功访问目标板的HTTP服务器。
36 *
37 * ************************** 测试case 2 **************************
38 * 1)网线连接目标板和PC的网络端口,维持测试case 2配置
39 * 2)配置RTT工程,在测试case 1的基础上,使能Enable ETH PHY interrupt mode
40 * menuconfig:
41 * Hardware Drivers Config ---> Onboard Peripheral Drivers ----> Enable ETH PHY interrupt mode: (16) ETH PHY Interrupt pin number
42 * 3)拨码开关J33拨到MII端,编译下载、运行代码
43 * 4)等待msh>
44 * 5)msh>窗口输入命令:ping 192.168.1.10,显示连接正常(60 bytes from 192.168.1.120 icmp_seq=0 ttl=128 time=1 ms)
45 * 6)msh>窗口输入命令:eth_webserver
46 * 7)PC打开浏览器,输入IP地址:192.168.1.30再按回车键,显示lwip的简介网页(lwIP - A Lightweight TCP/IP Stack),
47 * 表示成功访问目标板的HTTP服务器。
48 *
49 * ************************** 测试case 3 **************************
50 * 1)网线连接目标板和PC的网络端口,维持测试case 2配置
51 * 2)配置RTT工程,在测试case 2的基础上,ETH Communication USING MII改为ETH Communication USING RMII
52 * Hardware Drivers Config ---> Onboard Peripheral Drivers ----> Enable Ethernet: ETH Communication USING RMII
53 * 3)拨码开关J33拨到RMII端,编译下载、运行代码
54 * 4)等待msh>
55 * 5)msh>窗口输入命令:ping 192.168.1.10,显示连接正常(60 bytes from 192.168.1.120 icmp_seq=0 ttl=128 time=1 ms)
56 * 6)msh>窗口输入命令:eth_webserver
57 * 7)PC打开浏览器,输入IP地址:192.168.1.30再按回车键,显示lwip的简介网页(lwIP - A Lightweight TCP/IP Stack),
58 * 表示成功访问目标板的HTTP服务器。
59 */
60
61 #include <rtthread.h>
62
63 #if defined(BSP_USING_ETH) && defined(RT_USING_LWIP)
64
65 extern void httpd_init(void);
66
eth_webserver(void)67 void eth_webserver(void)
68 {
69 rt_kprintf("Initialize the httpd...... \r\n");
70 httpd_init();
71 }
72 MSH_CMD_EXPORT(eth_webserver, eth: start web server);
73
74 #endif
75