1. 程式人生 > >stm32CubeMx lwip + freeRTOS

stm32CubeMx lwip + freeRTOS

定時 tcp compute 開發 占用 左右 img 簡單 基礎上

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協議棧適合在小型嵌入式系統中使用。

技術分享圖片

二 創建工程

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

技術分享圖片

新建工程,選擇芯片

技術分享圖片

因為項目中使用freeRTOS, timebase 重新選擇一個定時器,不使用SysTick

技術分享圖片

配置RCC ,我的電路使用的是25MHz無源晶振,這裏選擇高速外部時鐘 HSE 技術分享圖片

接下來配置時鐘,由於我的電路中使用的是25MHz晶振,HCLK 配180MHz,按Enter鍵,軟件自動配好倍頻,分頻系數

技術分享圖片

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

技術分享圖片

技術分享圖片

根據電路連接配置GPIO口

技術分享圖片

配置 FreeRTOS技術分享圖片

技術分享圖片

技術分享圖片

配置LWIP

如果DHCP 需要,選擇Enable

技術分享圖片

最後配置工程管理

技術分享圖片

技術分享圖片

點擊 GENERATE CODE 生成代碼

用Keil uVersion5 打開工程,編譯燒寫

三 結果

網線連接上板子

ping 192.168.1.21

技術分享圖片

stm32CubeMx lwip + freeRTOS