[LiteOS移植]目标芯片STM32F1 修改Makefile

举报
樊心昊 发表于 2020/08/30 16:30:10 2020/08/30
【摘要】 什么是MakefileMakefile是一个名为GNU-Make软件所需要的脚本文件,该脚本文件可以指导Make软件控制arm-gcc等工具链去编译工程文件最终得到可执行文件,几乎所有的Linux发行版都内置了GNU-Make软件,VScode等多种IED也内置了Make程序。你见到的xxx.mk文件或者Makefile都统称为Makefile脚本文件。Makefile脚本文件的语法学习可以...

什么是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变量后的值删除,如下图所示。

image.png

修改project.mk

将HAL_DRIVER_SRC变量后我们没有使用的库文件路径删除,并将STM32L4修改为STM32F1,如果不确定有没有使用可以选择保留不影响使用,这里我移除了IIC、SPI等相关的库文件路径,注意:“\”为接续符,最后是没有接续符的。

image.png

将HARDWARE_SRC变量后的路径删除,因为我们没有使用LCD和一些该目录下代码所对应的硬件,如果你使用了外设(OLED、网卡、DHT11等等),你可以把他们的初始化代码所在路径添加到这里,让make软件能找到他们并编译,修改后如下图所示。

image.png

将HAL_DRIVER_SRC_NO_BOOTLOADER变量后的路径删除,我们并未使用DMA、RNG,修改后如下图所示。

image.png

     将后的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,如果你也有其他的用户逻辑代码可以添加在这里,修改后如下图所示。

image.png

将HAL_DRIVER_INC变量后的路径中的L4修改为F1,如下图所示。

image.png

移除HARDWARE_INC变量后的路径,修改后如下图所示。

image.png

       将C_DEFS后的STM32L431xx修改为STM32F103xx如下图所示。

image.png

       未提及的地方均不用修改。

修改.config

       .config暂不用修改,可以等后期全部一直完成后,通过IoT Link Studio中的图形化界面进行配置并自动修改即可。



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。