打印
[应用相关]

在STM32CubeMX中配置LwIP

[复制链接]
2109|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wowu|  楼主 | 2019-7-4 10:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本文介绍在STM32CubeMX中配置LWIP的方法,STM32CubeMX的版本号为5.0,LwIP的版本号为2.03,FreeRTOS的版本号为9.0.0,CMSIS-RTOS的版本号为1.02。

1、RCC设置
RCC设置如下图所示,使能外部高速晶振,主时钟进行输出(这点比较重要,该时钟用于向DP83848提供时钟),DP83848是我现在使用的PHY,具体的用法查看常用元器件使用方法13:物理层接口芯片DP83848的使用方法这篇日志即可。


使用特权

评论回复
沙发
wowu|  楼主 | 2019-7-4 10:03 | 只看该作者
2、SYS设置

SYS设置如下图所示,使能SW调试方式,使用TIM1作为时钟基准源(此选项是为了方面FreeRTOS操作系统的使用)。


使用特权

评论回复
板凳
wowu|  楼主 | 2019-7-4 10:03 | 只看该作者
3、ETH设置

ETH选择RMII模式,这与硬件设计相关,具体可查看常用元器件使用方法13:物理层接口芯片DP83848的使用方法


使用特权

评论回复
地板
wowu|  楼主 | 2019-7-4 10:04 | 只看该作者
ETH的基本参数设置如下,不使能自动协商方式,速度选择10Bps(这点将在后续的**中进一步讨论),全双工模式,指定了缺省的IP地址,物理地址设置为1(这与硬件设计相关,具体可查看常用元器件使用方法13:物理层接口芯片DP83848的使用方法),ETH的接收采用中断方式,发送的效验和由硬件计算。



使用特权

评论回复
5
wowu|  楼主 | 2019-7-4 10:04 | 只看该作者

高级参数的设置,基本上都维持原有的设置即可,具体的细节可查看DP83848的数据手册,参考设置如下图所示。


使用特权

评论回复
6
wowu|  楼主 | 2019-7-4 10:04 | 只看该作者

最后,还需使能全局中断,如下图所示。


使用特权

评论回复
7
wowu|  楼主 | 2019-7-4 10:05 | 只看该作者
4、FreeRTOS设置
FreeRTOS的设置比较简单,是能后,选择默认的参数设置即可。

使用特权

评论回复
8
wowu|  楼主 | 2019-7-4 10:05 | 只看该作者
5、LwIP设置

对于LwIP的设置,我们去除DHCP功能,用以指定固定IP地址。


使用特权

评论回复
9
wowu|  楼主 | 2019-7-4 10:05 | 只看该作者

在Key Options选项中已经使能了OS,我们选择默认的参数即可。


使用特权

评论回复
10
wowu|  楼主 | 2019-7-4 10:06 | 只看该作者

如果使能了IPV6,则按照如下参数进行配置。


使用特权

评论回复
11
wowu|  楼主 | 2019-7-4 10:06 | 只看该作者
6、时钟配置

可按照下图所示进行时钟配置,关键点在于要使MCO输出50MHz正弦波。


使用特权

评论回复
12
wowu|  楼主 | 2019-7-4 10:07 | 只看该作者
7、生成程序

上述参数设置完毕后,就可以生成程序了。


使用特权

评论回复
13
wowu|  楼主 | 2019-7-4 10:07 | 只看该作者
8、设置ST-LINK

如下图所示,这样程序下载后,可以自动运行。


使用特权

评论回复
14
wowu|  楼主 | 2019-7-4 10:08 | 只看该作者
9、程序的编译和下载

还有操作系统的程序,不需要进行任何改进,就可以进行编译了,编译后,将程序下载到目标板。


使用特权

评论回复
15
wowu|  楼主 | 2019-7-4 10:09 | 只看该作者
10、程序的测试

我们可以使用Ping命令进行测试,如下图所示,成功即表示硬件设计和软件的初步设计没有问题,现在可以在此基础上,进一步完成更为复杂的程序了。


使用特权

评论回复
16
mtraveler| | 2019-11-5 13:29 | 只看该作者
请教一下为什么我的cubeMX配置的时候选择ETH的RX mode是 中断接收,跳到LWIP配置的时候,一点ENable,ETH接收方式就提示叉号呢?请问怎么解决啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

91

主题

4082

帖子

1

粉丝