STM32开发笔记60: 在STM32CubeMX中配置LwIP

单片机型号:STM32F407VGT6


本文介绍在STM32CubeMX中配置LWIP的方法,STM32CubeMX的版本号为5.0,LwIP的版本号为2.03,FreeRTOS的版本号为9.0.0,CMSIS-RTOS的版本号为1.02。

1、RCC设置

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第1张图片

2、SYS设置

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第2张图片

3、ETH设置

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第3张图片

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第4张图片

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第5张图片

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第6张图片

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第7张图片

4、FreeRTOS设置

FreeRTOS的设置比较简单,是能后,选择默认的参数设置即可。

5、LwIP设置

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第8张图片

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第9张图片

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第10张图片

6、时钟配置

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第11张图片

7、生成程序

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

8、设置ST-LINK

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第12张图片

9、程序的编译和下载

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

10、程序的测试

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

STM32开发笔记60: 在STM32CubeMX中配置LwIP_第13张图片

 

原创性文章,转载请注明出处      

CSDN:http://blog.csdn.net/qingwufeiyang12346

 

 

你可能感兴趣的:(#,STM32快速开发,STM32快速开发)