本帖最后由 sunsili 于 2023-8-24 19:07 编辑
RT-Thread 基于 WIZnet W5500 ioLibrary_Driver 代码库的移植与用法介绍
1、介绍
WIZnet 软件包是 RT-Thread 基于 WIZnet 官网 ioLibrary_Driver 代码库的移植实现,目前只支持 W5500 设备。该软件包在原代码库功能的基础上,对接 RT-Thread SAL 套接字抽象层,实现对标准 BSD Socket APIs 的支持,完美的兼容多种软件包和网络功能实现,提高 WIZnet 设备兼容性。
1.1 目录结构
WIZnet 软件包目录结构如下所示:
- wiznet
- ├───inc // RT_Thread 移植头文件
- ├───iolibrary // WIZnet 官方库文件
- │ └───Ethernet // WIZnet 官方 Socket APIs 和 WIZCHIP 驱动
- │ │ └───W5500 // WIZCHIP 驱动
- │ │ wizchip_conf.c // Socket 配置文件
- │ │ wizchip_socket.c // Socket APIs 文件
- │ └───Internet // WIZnet 官方网络功能实现
- │ │ └───DHCP // DHCP 功能实现
- │ └───────DNS // DNS 功能实现
- ├───src // RT_Thread 移植源码文件
- │ └───wiz_af_inet.c // WIZnet BSD Socket 注册到 SAL
- │ │ wiz_device.c // WIZnet 设备初始化
- │ │ wiz_ping.c // WIZnet 设备 Ping 命令实现
- │ │ wiz_socket.c // WIZnet BSD Socket APIs 实现
- │ └───wiz.c // WIZnet 初始化(设备初始化、网络初始化)
- │ LICENSE // 软件包许可证
- │ README.md // 软件包使用说明
- └───SConscript // RT-Thread 默认的构建脚本
复制代码
WIZnet 软件包遵循 Apache-2.0 许可,详见 LICENSE 文件。
1.3 依赖
- RT-Thread 4.0.1+
- SAL 组件
- netdev 组件
- SPI 驱动:WIZnet 设备使用 SPI 进行数据通讯,需要系统 SPI 驱动框架支持;
- PIN 驱动:用于处理设备复位和中断引脚;
2、获取软件包
使用 WIZnet 软件包需要在 RT-Thread 的包管理中选中它,具体路径如下:
- WIZnet: WIZnet TCP/IP chips SAL framework implement
- WIZnet device type (W5500) --->
- WIZnet device configure --->
- (spi30) SPI device name
- (10) Reset PIN number
- (11) IRQ PIN number
- [ ] Enable alloc IP address through DHCP
- WIZnet network configure --->
- (192.168.1.10) IPv4: IP address
- (192.168.1.1) IPv4: Gateway address
- (255.255.255.0) IPv4: Mask address
- [ ] Enable Ping utility
- [ ] Enable debug log output
- Version (latest) --->
复制代码
WIZnet device type :配置支持的设备类型(目前只支持 W5500 设备 ) WIZnet device configure :配置使用设备的参数 SPI device name:配置使用 SPI 的设备名称(注意需设置为非 SPI 总线设备) Reset PIN number:配置设备连接的复位引脚号(根据实际使用引脚号修改) IRQ PIN number:配置设备连接的中断引脚号(同上)
Enable alloc IP address through DHCP: 配置是否使用 DHCP 分配 IP 地址(默认开启) WIZnet network configure:如果不开启 DHCP 功能,需要配置静态连接的 IP 地址、网关和子网掩码 Enable Ping utility: 配置开启 Ping 命令 (默认开启) Enable debug log output:配置开启调试日志显示 Version:软件包版本选择 |