STM32F103RCT6基于STM32Cube_FW_F1_V1.8.0库建⽴⼯
程模板
1、下载STM32Cube_FW_F1_V1.8.0库⽂件
官⽅下载地址:
官⽅下载地址需要注册,也可以在下⾯百度⽹盘下载:
2、建⽴⼯程⽂件夹
新建⼯程⽬录HAL_Template,在⼯程⽬录HAL_Template内新建CORE、USER、OBJ、HAL_LIB四个⽂件夹;
CORE 存放内核头⽂件和启动⽂件
HAL_LIB 存放外设库⽂件
OBJ 存放编译好的HEX⽂件
USER 存放⾃⼰编写的程序⽂件和STM32的⼀般头⽂件、顶层头⽂件、重要c⽂件
3、复制⽂件
①:将STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm⽂件夹下的
startup_stm32f103xe.s和STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Include⽂件夹下的cmsis_armcc.h、core_cm3.h、cmsis_version.h、cmsis_compiler.h⽂件,共五个⽂件复制到CORE⽂件夹下。
②:将STM32Cube_FW_F1_V1.8.0\Drivers\STM32F1xx_HAL_Driver⽂件夹下Inc、Src两个⽂件夹全部复制到HAL_LIB⽂件夹下。
③:将STM32Cube_FW_F1_V1.8.0\Drivers\CMSIS\Device\ST\STM32F1xx\Include⽂件夹下的stm32f1xx.h、
stm32f103xe.h、system_stm32f1xx.h三个头⽂件复制到USER⽬录下。
④:将STM32Cube_FW_F1_V1.8.0\Projects\STM32VL-Discovery\Templates\Inc⽂件夹下的main.h、stm32f1xx_hal_conf.h、stm32f1xx_it.h三个头⽂件复制到USER⽬录下。
⑤:将STM32Cube_FW_F1_V1.8.0\Projects\STM32VL-Discovery\Templates\Src⽂件夹下的main.c、stm32f1xx_hal_msp.c、stm32f1xx_it.c、system_stm32f1xx.c四个头⽂件复制到USER⽬录下。
4、在MDK-5中新建⼯程,⼯程⽂件保存到USER⽬录下。
选择芯⽚型号——>确定
5、打开Manage Project Items窗⼝,进⾏如下设置
注意:在加⼊⽂件值CORE⽬录要在最下边,选成所有⽂件类型。
HAL_LIB加⼊⽂件是HAL_LIB⽬录下src⽬录中的所有⽂件。 USER加⼊USER⽬录下的所有.c的⽂件。
6、点击魔术棒按钮打开设置对话框,按照如下设置
Include Paths选择如下三个⽂件夹
7、编译⼯程,出现如下错误
处理⽅法:打开main.h⽂件,删除#include "stm32vl_discovery.h"这⼀⾏。
stm32vl_discovery.h 好像是针对开发板的头⽂件
重新编译报错如下:
system的头文件是重复定义错误,处理⽅法如下:
①去除HAL_LIB\Src⽬录下stm32f1xx_hal_timebase_tim_template.c⽂件的只读属性然后打开,删除或注释掉HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)、void HAL_SuspendTick(void)、void HAL_ResumeTick(void)三个函数。
②去除HAL_LIB\Src⽬录下stm32f1xx_hal_msp_template.c⽂件的只读属性并打开⽂件,删除或注释掉void HAL_MspInit(void)和void HAL_MspDeInit(void)函数。
最后编译,没有报错和警告。
⼀直在⽹上相关的资料,⼤部分是1.7.0版本的资料,仿照着写⼀下,没有写程序验证,随后试⼀下,如果有问题随后修改。
标记⼀下:2019年11⽉20⽇21点发稿
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论