内容借鉴博客stm32cube生成stm32f407+lwip+freertos+8720A_jsnjsfq的博客-CSDN博客
1、打开MCU选择
2、输入搜索,然后找到合适的MCU名称双击自动创建工程(单击可以查看芯片的详细参数有助于选型)
3、配置SYS,我习惯在选项里面选择A->Z排序,便于快速找到各个模块
选择SYS,设置Debug,我这里选择的Serial Wire使用stlink下载程序
因为要使用freeRTOS所以要修改Timebase Source为其他的定时器,Systick供freeRTOS使用
4、配置RCC
因为外接了8M的晶振,所以这里需要设置为相应的
5、配置ETH
模式设置为RMII,如需详细模式可百度以太网详解MII接口类型大全 MII、RMII、SMII、SSMII、SSSMII、GMII、RGMII、SGMII、TBI、RTBI、XGMII、XAUI、XL_Kevin-CSDN博客网络设备中肯定离开不MAC和PHY,本篇文章将详细介绍下以太网中一些常见术语与接口。MAC和PHY结构从硬件角度来看以太网是由CPU,MAC,PHY三部分组成的,如下图示意:上图中DMA集成在CPU,CPU,MAC,PHY并不是集成在同一个芯片内,由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积及模拟/数字混合架构的原因,将MAC集成进CPU而将PHY留在片外,这...https://blog.csdn.net/baidu_25816669/article/details/104249627然后配置PHY地址,根据硬件情况设置,我采用的DP83848的默认地址1
如果采用的其他网络芯片就选择user PHY,DP83848的复位引脚我是接到主板的复位脚一起的,如有需要可以单独接一个IO口进行配置设置
6、时钟树配置
设置外部高速晶振为实际使用的8M,配置各个模块到合适的时钟频率 ,在STM32F4的手册里我看到一条要求,使用以太网时需要将AHB时钟大于25M,同时参考时钟必须是50Mhz(硬件相关)
7、串口配置,用于调试
配置串口2为异步模式,波特率根据实际进行修改,也可以通过代码修改,这里的参数采用默认115200 8个数据位 1个停止位 无奇偶校验
8、freeRTOS
启动freertos 选择CMSIS_V1,V2的API与V1的有些不同,相当于是V1的扩展版本
参数配置只留意一下TICK_RATE_HZ:系统时钟节拍频率,单位为HZ。值设置为1000,即周期就是1ms。其他参数默认即可
9、任务及队列设置,这里只是一个test版本所以我只有一个默认任务,堆栈修改大一点(LWIP初始化在这个任务),任务名等均为默认参数,后期复杂功能自行添加修改
10、设置Lwip
使能Lwip,建议关闭DHCP自动分配IP,采用自定义IP信息
11、修改以太网中断优先级,不知道具体作用,感觉就是将他的优先级调小了
12、以上基本配置就完成了,进行工程输出配置
以下是我一般用的输出配置,结合自己需求修改
13、测试
点击GENERATE CODE生成工程之后点击打开
打印调试信息在任务函数里,用于识别代码在运行或者添加运行指示灯,网络测试时不启动主板时ping主板ip的时候ping不同,主板运行之后能够ping通
以上内容为网上查询资料之后实际操作并记录,如有错误或者不足希望提出来我们一起学习进步,
版权声明:本文为CSDN博主「linng12」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/linng12/article/details/121491974
暂无评论