1. 程式人生 > >STM32移植LWIP

STM32移植LWIP

本文使用的是STM32F207VCT6平臺,MII介面的RTL8201EL網路晶片,LWIP版本是1.4.1

基礎工程是:已經實現了10ms定時,led燈1s閃爍,還有串列埠列印

歡迎檢視本文所在的系列,STM32的LWIP應用,點選跳轉

本文使用的IDE是IAR7.2,考慮到很多很使用Keil,本文末尾也有keil版本的說明

新增乙太網驅動庫


新增進工程,增加新庫的標頭檔案路徑


將LWIP原始碼放入目錄中


我們把stm32f2x7_eth_conf_template.h檔案剪下到資料夾中,並重命名為stm32f2x7_eth_conf.h



當然新加的標頭檔案,要新增新的標頭檔案路徑


注意:這個檔案是隻讀檔案,要把對勾去掉


新增乙太網RTL8201EL的驅動程式

我們首先拷貝官方歷程驅動(PS:修改過的)



然後把驅動新增進入工程


新增lwip原始碼



當然,還要新增標頭檔案路徑


新增中間檔案


新增lwipopts.h


編譯出錯


把他們遮蔽掉


再編譯,出新的錯誤,再次遮蔽


修改之後,沒有問題


複製驅動,直接使用官方demo




把原來的檔案刪除掉


重新新增我們新新增的檔案(解除只讀屬性)

修改檔案


新建lwip_app.c和lwip_app.h檔案




定義一下巨集


包標頭檔案包含一下


修改函式


修改主函式


實驗


移植成功

修改Keil工程

新增檔案


新增標頭檔案路徑


有1個錯誤


#if defined   (__CC_ARM) /*!< ARM Compiler */
u32_t sys_now(void){}
#endif

編譯下載,發現ping會宕機

修改程式碼優化等級就好了


測試成功


如果看文字版太枯燥,可以點選看視訊版:點選跳轉