[其他ST产品] stm32cube生成stm32f407+lwip+freertos(DP83848)

[复制链接]
1506|18
 楼主| 纠结的那些年 发表于 2023-6-29 15:06 | 显示全部楼层 |阅读模式
打开MCU选择


74314649d2d437c98c.png

输入搜索,然后找到合适的MCU名称双击自动创建工程(单击可以查看芯片的详细参数有助于选型)


26109649d2d568c3a4.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:06 | 显示全部楼层
配置SYS,我习惯在选项里面选择A->Z排序,便于快速找到各个模块

        选择SYS,设置Debug,我这里选择的Serial Wire使用stlink下载程序

        因为要使用freeRTOS所以要修改Timebase Source为其他的定时器,Systick供freeRTOS使用

4436649d2d6a8e258.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:06 | 显示全部楼层
配置RCC

        因为外接了8M的晶振,所以这里需要设置为相应的

254649d2d7b7f3f8.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:06 | 显示全部楼层
配置ETH

        模式设置为RMII,如需详细模式可百度

然后配置PHY地址,根据硬件情况设置,我采用的DP83848的默认地址1

如果采用的其他网络芯片就选择user PHY,DP83848的复位引脚我是接到主板的复位脚一起的,如有需要可以单独接一个IO口进行配置设置
 楼主| 纠结的那些年 发表于 2023-6-29 15:07 | 显示全部楼层
 楼主| 纠结的那些年 发表于 2023-6-29 15:07 | 显示全部楼层
 楼主| 纠结的那些年 发表于 2023-6-29 15:08 | 显示全部楼层
时钟树配置

        设置外部高速晶振为实际使用的8M,配置各个模块到合适的时钟频率 ,在STM32F4的手册里我看到一条要求,使用以太网时需要将AHB时钟大于25M,同时参考时钟必须是50Mhz(硬件相关)
      
14338649d2dd5ccce1.png

64348649d2dde54f4c.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:08 | 显示全部楼层
串口配置,用于调试

        配置串口2为异步模式,波特率根据实际进行修改,也可以通过代码修改,这里的参数采用默认115200 8个数据位 1个停止位 无奇偶校验
54840649d2df15d4c3.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:09 | 显示全部楼层
freeRTOS

        启动freertos 选择CMSIS_V1,V2的API与V1的有些不同,相当于是V1的扩展版本

        参数配置只留意一下TICK_RATE_HZ:系统时钟节拍频率,单位为HZ。值设置为1000,即周期就是1ms。其他参数默认即可
 楼主| 纠结的那些年 发表于 2023-6-29 15:09 | 显示全部楼层
 楼主| 纠结的那些年 发表于 2023-6-29 15:10 | 显示全部楼层
任务及队列设置,这里只是一个test版本所以我只有一个默认任务,堆栈修改大一点(LWIP初始化在这个任务),任务名等均为默认参数,后期复杂功能自行添加修改 65182649d2e575a615.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:10 | 显示全部楼层
设置Lwip

使能Lwip,建议关闭DHCP自动分配IP,采用自定义IP信息

1287649d2e76a0bee.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:11 | 显示全部楼层
修改以太网中断优先级,不知道具体作用,感觉就是将他的优先级调小了

97777649d2eaeed1da.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:12 | 显示全部楼层
以上基本配置就完成了,进行工程输出配置

        以下是我一般用的输出配置,结合自己需求修改

21787649d2ec0dc9be.png
 楼主| 纠结的那些年 发表于 2023-6-29 15:12 | 显示全部楼层
 楼主| 纠结的那些年 发表于 2023-6-29 15:13 | 显示全部楼层
测试

        点击GENERATE CODE生成工程之后点击打开

        打印调试信息在任务函数里,用于识别代码在运行或者添加运行指示灯,网络测试时不启动主板时ping主板ip的时候ping不同,主板运行之后能够ping通

以上内容为网上查询资料之后实际操作并记录,如有错误或者不足**提出来我们一起学习进步,
小小蚂蚁举千斤 发表于 2023-6-30 15:31 | 显示全部楼层
STM32F407芯片还能继续再战常规项目,单片机就是比较实用
Undshing 发表于 2023-7-1 22:44 | 显示全部楼层
现在407价格怎么样了?
帛灿灿 发表于 2023-12-30 07:04 | 显示全部楼层

如果在编程时加密锁定位被使能/锁定,就无法用普通编程器直接读取单片机内的程序
Bblythe 发表于 2023-12-30 08:07 | 显示全部楼层

编程器定位插字节
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

751

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部