STM32H743I-EVAL開發板很貴,買不起。NUCLEO-H743ZI開發板便宜。但是NUCLEO-H743ZI開發板的LWIPli'c例程非常少。這兩個開發板用的都是LAN8742A PHY芯片,只是硬件連接有些不同。STM32H743I-EVAL開發板提供的LWIP例程比較fe豐富。怎麼把STM32H743I-EVAL開發板的程序移植到NUCLEO-H743ZI開發板呢?
經過嘗試,總結爲如下幾步:
0、先複製個工程,編譯一下
1、去掉keil,C++裏的宏定義,USE_STM32H743I_EVAL,USE_IOEXPANDER
2、在工程裏刪掉多餘的eval的 BSP硬件文件
3、刪掉eval相關的硬件文件,引入nucleo的bsp文件
4、添加nucleo的bsp的包含目錄
5、main.h頭文件中刪除eval平臺的頭文件,包含進nucleo的bsp頭文件
6、工程中c文件中刪除包含的eval平臺的頭文件
7、去掉USE_LCD定義
8、編譯一次
9、修改ethernetif.c文件中的HAL_ETH_MspInit函數,調整爲nucleo平臺的硬件連接
10、修改main.c文件中系統時鐘初始化函數,修改爲nucleo平臺的,nucleo的時鐘來自ST-LINK
11、修改main.h文件中的IP地址定義
12、清理代碼中的一些USE_LCD的代碼
13、查看readme.txt文件
到第10步,編譯後就可以在nucleo開發板上運行了。
補充:另外要修改_conf.h文件裏的HSE的設置值,修改成nucleo的開發板的值