MCU: STM32F429IGT6

工具:STM32CubeMx  版本号 5.0.0

   Keil uVersion5

目的:使用LWIP 实现简单的网络连通

一  简介

   LWIP(Light Weight Internet Protoco1)是瑞士计算机科学院(Swedish Institute of Computer Science)AdamDunkels等人开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LWIP的含义是Light Weight(轻型)IP协议。LWIP可以移植到操作系统上,也可以在无操作系统的情况下独立运行。LWIP TCP/IP实现的重点是在保持TCP协议主要功能的基础上减少对RAM的占用。一般它只需要几十KB的RAM和40 KB左右的ROM就可以运行,这使LWIP协议栈适合在小型嵌入式系统中使用。

stm32CubeMx lwip + freeRTOS-LMLPHP

二  创建工程

本项目 使用 STM32F429IGT6 芯片, PHY 使用的LAN8720A

stm32CubeMx lwip + freeRTOS-LMLPHP

新建工程,选择芯片

stm32CubeMx lwip + freeRTOS-LMLPHP

因为项目中使用freeRTOS,  timebase 重新选择一个定时器,不使用SysTick

stm32CubeMx lwip + freeRTOS-LMLPHP

配置RCC ,我的电路使用的是25MHz无源晶振,这里选择高速外部时钟 HSE stm32CubeMx lwip + freeRTOS-LMLPHP

接下来配置时钟,由于我的电路中使用的是25MHz晶振,HCLK 配180MHz,按Enter键,软件自动配好倍频,分频系数

stm32CubeMx lwip + freeRTOS-LMLPHP

配置 ETH,  我的PHY 芯片 支持 RMII

stm32CubeMx lwip + freeRTOS-LMLPHP

stm32CubeMx lwip + freeRTOS-LMLPHP

根据电路连接配置GPIO口

stm32CubeMx lwip + freeRTOS-LMLPHP

配置 FreeRTOSstm32CubeMx lwip + freeRTOS-LMLPHP

stm32CubeMx lwip + freeRTOS-LMLPHP

stm32CubeMx lwip + freeRTOS-LMLPHP

配置LWIP

如果DHCP 需要,选择Enable

stm32CubeMx lwip + freeRTOS-LMLPHP

最后配置工程管理

stm32CubeMx lwip + freeRTOS-LMLPHP

stm32CubeMx lwip + freeRTOS-LMLPHP

点击 GENERATE CODE 生成代码

用Keil uVersion5  打开工程,编译烧写

三 结果

网线连接上板子

ping 192.168.1.21

stm32CubeMx lwip + freeRTOS-LMLPHP

代码 上传到 gitHub上  https://github.com/itachi1121/stm32-lwip.git

04-26 14:48