文檔標尺怎么弄出來?(怎么把標尺弄出來)
830
2022-05-30
什么是Makefile
Makefile是一個名為GNU-Make軟件所需要的腳本文件,該腳本文件可以指導Make軟件控制arm-gcc等工具鏈去編譯工程文件最終得到可執行文件,幾乎所有的Linux發行版都內置了GNU-Make軟件,VScode等多種IED也內置了Make程序。
你見到的xxx.mk文件或者Makefile都統稱為Makefile腳本文件。
Makefile腳本文件的語法學習可以參考:
https://www.gnu.org/software/make/manual/make.html (GNU make官方文檔)
https://seisman.github.io/how-to-write-makefile/overview.html?(跟我一起寫Makefile 陳皓)
SDK和工程中的Makefile結構
https://bbs.huaweicloud.com/blogs/195973?請參考這篇博客。
修改Makefile腳本文件
一共有三個Makefile文件需要進行修改,分別為targets\STM32F103RC\GCC\Makefile、 targets\STM32F103RC\GCC\project.mk和targets\STM32F103RC\.config
修改Makefile
STM32F103不支持硬件浮點運算,并且為m3內核,我們需要修改第83行,將CPU = -mcpu=cortex-m4修改為CPU = -mcpu=cortex-m3,85行FPU變量后的值刪除,87行FLOAT-ABI變量后的值刪除,如下圖所示。
修改project.mk
將HAL_DRIVER_SRC變量后我們沒有使用的庫文件路徑刪除,并將STM32L4修改為STM32F1,如果不確定有沒有使用可以選擇保留不影響使用,這里我移除了IIC、SPI等相關的庫文件路徑,注意:“\”為接續符,最后是沒有接續符的。
將HARDWARE_SRC變量后的路徑刪除,因為我們沒有使用LCD和一些該目錄下代碼所對應的硬件,如果你使用了外設(OLED、網卡、DHT11等等),你可以把他們的初始化代碼所在路徑添加到這里,讓make軟件能找到他們并編譯,修改后如下圖所示。
將HAL_DRIVER_SRC_NO_BOOTLOADER變量后的路徑刪除,我們并未使用DMA、RNG,修改后如下圖所示。
將后的USER_SRC變量后的$(TARGET_DIR)/Src/Huawei_IoT_QR_Code.c、$(TARGET_DIR)/Src/spi.c 、$(TARGET_DIR)/Src/i2c.c 刪除,system_stm32l4xx修改為system_stm32F1xx,stm32l4xx_it修改為stm32F1xx_it,添加上$(TARGET_DIR)/Src/stm32f1xx_hal_msp.c,如果你也有其他的用戶邏輯代碼可以添加在這里,修改后如下圖所示。
將HAL_DRIVER_INC變量后的路徑中的L4修改為F1,如下圖所示。
移除HARDWARE_INC變量后的路徑,修改后如下圖所示。
將C_DEFS后的STM32L431xx修改為STM32F103xx如下圖所示。
未提及的地方均不用修改。
修改.config
.config暫不用修改,可以等后期全部一直完成后,通過IoT Link Studio中的圖形化界面進行配置并自動修改即可。
輕量級操作系統 LiteOS IoT
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。