stm32CubeMx lwip + freeRTOS

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_第1张图片

二  创建工程

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

stm32CubeMx lwip + freeRTOS_第2张图片

 

新建工程,选择芯片

 

stm32CubeMx lwip + freeRTOS_第3张图片

 

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

 stm32CubeMx lwip + freeRTOS_第4张图片

 

 配置RCC ,我的电路使用的是25MHz无源晶振,这里选择高速外部时钟 HSE stm32CubeMx lwip + freeRTOS_第5张图片

 

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

 

stm32CubeMx lwip + freeRTOS_第6张图片

 

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

 

stm32CubeMx lwip + freeRTOS_第7张图片

 

 stm32CubeMx lwip + freeRTOS_第8张图片

 

根据电路连接配置GPIO口

stm32CubeMx lwip + freeRTOS_第9张图片

 

 配置 FreeRTOSstm32CubeMx lwip + freeRTOS_第10张图片

 

stm32CubeMx lwip + freeRTOS_第11张图片

 

 stm32CubeMx lwip + freeRTOS_第12张图片

 

 配置LWIP

 如果DHCP 需要,选择Enable

stm32CubeMx lwip + freeRTOS_第13张图片

 

最后配置工程管理

stm32CubeMx lwip + freeRTOS_第14张图片

 

stm32CubeMx lwip + freeRTOS_第15张图片

 

 点击 GENERATE CODE 生成代码

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

三 结果

  网线连接上板子

ping 192.168.1.21 

 stm32CubeMx lwip + freeRTOS_第16张图片

 

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

 

转载于:https://www.cnblogs.com/birdBull/p/10844871.html

你可能感兴趣的:(stm32CubeMx lwip + freeRTOS)