STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程

 

 

  1. 概要:本次使用的硬件平台是STM32F407ZGT6的板子,外加一块LAN8742A网络模块,先上一张全家福:

          软件平台使用的是CubeMX V4.22Keil V5.21.10软件。

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第1张图片

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第2张图片

LwIP的架构

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第3张图片

LwIP API的三种方式:STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第4张图片

 

1、使用CubeMX新建工程,如下图所示:

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第5张图片

2、选择芯片型号:本开发板使用的是STM32F407ZGT6芯片;

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第6张图片

3、IO口选择

3.1、选择并使能RCC时钟源为:HSE

3.2、选择并使能ETH接口为:RMII类型接口,本次使用的是LAN8742A模块,是RMII类型接口

3.3、选择并使能LWIP协议栈:

3.4、选择并使能FreeRTOS操作系统:

3.5、选择并使能UART1为:Asynchronous模式

3.6、设置LED的端口模式:可根据自己的板子原理图调整GPIO口

3.7、设置KEY的端口模式:可根据自己的板子原理图调整到相应的GPIO口

 

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第7张图片STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第8张图片

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第9张图片

4、时钟配置

        选择自动配置

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第10张图片

时钟配置完成后如下图所示:

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第11张图片

5、Configuration

    5.1、ETH配置

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第12张图片

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第13张图片

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第14张图片

5.2、LWIP配置

若使能DHCP服务则如图所示:

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第15张图片

如若不使能,则需要关闭DHCP功能,用户手动添加IP地址,子网掩码,默认网关信息;选择带RTOS的模式

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第16张图片

5.3、FreeRTOS配置

要特别注意的是内存配置里的TOTAL_HEAP_SIZE参数,在默认只有一个任务的情况下,系统给定的是:15306Byte,但是在该项目中,需要用户添加的线程有好几个,所以这个值要在芯片参数允许的范围内,以及实际需要,进行修改,否则会有线程创建不成功,无法执行的问题。

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第17张图片

6、工程设置

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第18张图片

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第19张图片

STM32F407_FreeRTOS_LwIP调试详解一:Cube_MX生成工程_第20张图片

点击“OK”按钮,生成工程

工程链接:https://download.csdn.net/download/hpw99/10434724

 

你可能感兴趣的:(STM32F4XX)