test_eth.c 3.9 KB

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