STM32移植LWIP
阿新 • • 發佈:2019-02-20
本文使用的是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會宕機
修改程式碼優化等級就好了
測試成功
如果看文字版太枯燥,可以點選看視訊版:點選跳轉