1、软硬件配置
硬件:正点原子STM32F429核心板+正点原子阿波罗底板
软件:RT-Thread Studio 2.1.5 + 4.0.5
STM32CubeMx 6.4.0 + STM32Cube_FW_F4 V1.26.2
2、新建工程
2、CubeMx配置外设
- RCC
板载外部晶振为25Mhz,我们配置使用外部晶振
配置使用外部晶振(25Mhz),PLL时钟使能,主频配置为180Mhz
- USART1
配置使能USART1用于RTT的信息打印,IO需要满足板载PA9 PA10
- ETH
配置使能ETH外设,使用接口为RMII接口,保证GPIO与开发板实际GPIO相符。
完成如上配置后进行程序生成,程序正确生成后提示如下
出现如上提示后,需要关闭CubeMx软件来使RTT STUDIO生效,生效后提示如下 。
注:每次更新CubeMx后都需要关闭Cubemx软件来使studio生效。
3、RT-Thread Settings设置
打开RT-Thread Settings按照下图进行配置。保存生效。
4、board.h文件设置
如下图,打开board.h文件,按照说明进行如下设置
5、添加复位操作
如上操作完成后进行编译,提示报错如下
代码缺少phy_reset函数,该函数用来复位网络外设(LAN8720)我们拷贝C:\RT-ThreadStudio\repo\Extract\Board_Support_Packages\RealThread\STM32F429-ATK-APOLLO\0.1.0\rtt_default_project_0\board\ports\phy_reset.c到driver下
手头开发板对复位管脚进行了调整,修改phy_reset.c内容如下
#include <rtthread.h>
#include "rtdevice.h"
#include "drv_common.h"#define LAN_RST GET_PIN(H, 8)void phy_reset(void)
{rt_pin_write(LAN_RST,PIN_LOW);rt_thread_mdelay(100);rt_pin_write(LAN_RST,PIN_HIGH);rt_thread_mdelay(100);
}
6、下载验证
本地IP设置如下
下载串口打印信息如下
打开CMD使用ping命令进行测试
6、源码
https://gitee.com/wangchief/touch-gfx.githttps://gitee.com/wangchief/touch-gfx.git