STM32F103RCT6 基于STM32Cube_FW_F1_V1.8.0库建立工程模板
1、下载STM32Cube_FW_F1_V1.8.0库文件
官方下载地址:
https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-mcu-mpu-packages/stm32cubef1.html
官方下载地址需要注册,也可以在下面百度网盘下载:
链接: https://pan.baidu.com/s/1Xbs2_v_AdSL52KA-J1fgLg 提取码: 7y6f
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 好像是针对开发板的头文件
重新编译报错如下:
是重复定义错误,处理方法如下:
①去除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点发稿
STM32F103RCT6 基于STM32Cube_FW_F1_V1.8.0库建立工程模板相关推荐
- STM32F4 HAL库开发 -- 新建基于 HAL 库的工程模板
一.STM32CubeF4 固件包下载 下载:STM32CubeF4 MCU Firmware Package 二.新建基于 HAL 库的工程模板 1.新建文件夹 建立一个文件夹为 Template. ...
- 1、新建基于标准固件库MDK5工程模板(STM32F103ZET6)
新建基于标准固件库MDK5工程模板 1.STM32官方库文件夹介绍 如上图,是ST官方提供的STM32标准固件库的文件包结构: STM32官方固件库下载地址: "https://www.st ...
- 【SWAT水文模型】SWAT水文模型建立及应用第三期:基于世界土壤数据库HWSD建立土壤库
SWAT水文模型建立及应用:土壤库建立 1 简介 2 土壤数据下载 2.1 数据下载方式 2.1.1 世界土壤数据库HWSD数据 2.1.2 中国土壤数据库 2.2 数据下载 3 土壤数据的准备 3. ...
- Element 2.6.0 发布,基于 Vue 2.0 的桌面端组件库
开发四年只会写业务代码,分布式高并发都不会还做程序员? Element 2.6.0 发布了,Element 是一套为开发者.设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库,提供了配套设 ...
- Muse-UI(基于 Vue 2.0 和 Material Desigin 的 UI 组件库)
基于 Vue 2.0 和 Material Desigin 的 UI 组件库,Muse UI 拥有40多个UI 组件,用于适应不同业务环境.Muse UI 自定义主题方式极为优雅,仅需少量代码即可完成 ...
- 华为内测基于Android 10.0的EMUI 10系统;2019年Q1真无线耳机市场份额,苹果占半壁江山……...
关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...
- Elasticsearch7.15.2 修改IK分词器源码实现基于MySql8的词库热更新
文章目录 一.源码分析 1. 默认热更新 2. 热更新分析 3. 方法分析 二.词库热更新 2.1. 导入依赖 2.2. 数据库 2.3. JDBC 配置 2.4. 打包配置 2.5. 权限策略 2. ...
- 基于VC++6.0的DLL开发
原文地址:http://blog.163.com/twnhr@126/blog/static/78927547200910254346804/ 基于VC++6.0的DLL开发 最近在开发一个基于网络的 ...
- IAR 下根据官方库建立 STM32的工程
目录 1. IARforSTM32工程v0.0版本.... 1 2. IARforSTM32工程v0.1版本.... 6 2.1今天v0.0版本出现了警告.... 6 2.2下载仿真.... 7 2. ...
最新文章
- sklearn one_hot向量输出维度第2维大小的本质
- php数组中删除元素
- PAT真题乙类1006 换个格式输出整数
- 1910101811
- 带sex的net域名_中华网--科技频道
- TensorFlow精进之路(八):神经元
- Learn OpenGL(七)——OpenGL中使用着色器的基本步骤及GLSL渲染简单示例
- 基于Pairwise排序学习的因子分解推荐算法
- access 微软以外 编辑_如何在 Microsoft Access 中修改查询属性
- Android:JNI调用C++自定义类的详细方法
- 2018PS cc版本最新最实用学习笔记
- 量子计算机物理学,一片“蓝海”:量子计算机的灿烂前景
- Deep Voice 论文
- 计算机连接不上蓝牙鼠标,蓝牙鼠标连接不上的解决方案
- 程序猿(媛)实用颜色表 [颜色图示,英文代码,形象颜色,HEX格式,RGB格式]
- 什么是项目生命周期?如何划分项目阶段?有什么意义?
- WebGL 及其在 WebRTC 中的应用
- 【大数据面试题】(八)Spark 相关面试题
- 高等数学考研笔记(八)
- C# 如何提取字符串中的数字