STM32F1在MDK下新建标准库函数工程
STM32F1 在 MDK 下新建标准库函数工程
一、准备
- STM32F10x 官方固件库;
- keil5 MDK 软件
二、步骤
(一)创建项目文件夹,复制固件库文件
- 新建项目文件夹,名称自定,如 Project
- 在文件夹中再新建 4 个文件夹,分别取名为 CMSIS、Lib、Startup、User、Basic、Hardware,每个文件夹的作用如下表所示,此处参考来源于洋桃电子工作室:
文件夹名称 | 作用 |
---|---|
CMSIS | 内核驱动程序 |
Lib | 内部功能的基本函数库 |
Startup | 单片机启动程序,该部分文件为汇编语言编写 |
User | 用户程序,包括主函数,项目开发多数在这里完成编写 |
Basic | 内部功能的驱动程序 |
Hardware | 外部硬件的驱动程序 |
- 为每个文件夹粘贴指定的官方固件库文件
- CMSIS 文件夹中需要粘贴的文件在官方固件库中的路径如下所示:
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\core_cm3.c
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.h
因此,CMSIS 文件夹中的文件如下所示:
- Lib 文件夹中需要粘贴的文件在官方固件库中的路径如下所示:
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src
因此,Lib 文件夹中的文件如下所示:
- Startup 文件夹中需要粘贴的文件在官方固件库中的路径如下所示:
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm(里面所有的文件复制)
因此,Startup 文件夹中的文件如下所示:
- User 文件夹中需要粘贴的文件在官方固件库中的路径如下所示:
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\main.c
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_conf.h
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_it.c
STM32F10x_StdPeriph_Lib_V3.5.0固件库\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template\stm32f10x_it.h
因此,User 文件夹中的文件如下所示:
(二)keil5 创建标准库函数工程
- 打开 keil5,新建工程
- 创建新工程,起名为 Project
- 在弹出来的对话框中选择相应的 MCU,作者的开发板使用的芯片是 STM32F103C8T6,因此选择 STM32F103C8
- 在弹出的对话框中,选择取消
- 得到工程最基础的文件夹
- 将刚才复制好的库文件加载到 keil5 中
- 点击菜单栏中的三个小方块按钮
- 在弹出的对话框中,在 Groups: 这一列里面点击方框按钮,手工输入刚才的几个文件夹名称,注意要名称一致,新建好了之后将原先自带的文件名 “Source Group 1” 点击红叉按钮删除
输入完成后如图所示:
- 在新建好的文件夹中添加对应的文件
每个文件夹添加文件之后的截图如下:
此时完成了文件的添加,点击 OK 退出
此时可以在软件左侧的文件树中看到刚刚添加的文件
- 进行初始化的配置
- 点击菜单栏中魔术棒的按钮
- 首先设置单片机的晶振为 8.0MHz
- 勾选生成 Hex 文件
- 在 C/C++中输入处理器类型,USE_STDPERIPH_DRIVER,STM32F10X_MD
- 在 C/C++中输入包含文件的路径,然后点击 OK
- 在文件树中选择 main.c 文件,删除原有的内容,就可以按照自己的项目需求来填写代码了
STM32F1在MDK下新建标准库函数工程相关推荐
- STM32新建标准库工程
STM32F103ZET6创建一个自己的工程 笔者自己用的是正点原子的精英版的开发板,有很多习惯也养成跟正点原子创工程的习惯. 作者学生党一枚,写的不对的地方,请大家多多包涵,学习永无止境,闻道有先后 ...
- Keil MDK 中利用串口及c标准库函数printf为cortex-m3做调试输出(lpc1788)
摘要: c标准库的printf是输出给显示器的,将printf函数进行修改,使其输出重定向至串口,就能实现目的.printf函数调用fputc函数完成实质输出单一字符的工作,因此将fputc函数修改使 ...
- 新建STM32F427IIH标准库工程
新建STM32F427IIH标准库工程 实验前准备:最新版本的固件库,开发板,Jlink,keil5 采用最新固件库版本"V1.8.0最新标准固件库"(可上官网下载) 这边介绍从零 ...
- STM32F103ZET6新建标准库的工程
1.背景: 主要记录STM32芯片在使用标准库的情况下如何新建工程. 2.工程的准备 1)下载并安装STM32F103的芯片包 2)准备好STM32的固件库 2.1:芯片包的下载 芯片包官方链接:ht ...
- keil建立stm32工程即标准库函数目录结构
建立keil stm32工程文件 1. 标准库函数目录结构 需要分清库函数和keil的pack包,前者是ST公司对ST系列芯片编写的库函数,其中包括芯片的的启动文件和外设配置函数文件,后者是Keil ...
- (一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
一.TrueSTUDIO说明 不管是还在学习的还是已经工作的应该都很熟悉Keil和IAR这两款用来开发嵌入式的软件,在国内普遍用的这两款编译软件都是破解版的,并没有经过正规渠道授权注册,这就导致了在开 ...
- 使用keil建立标准STM32工程模版(图文详细版!)
1. 模板工程的创建(超级详细版,使用的是keil 4.5版本) 1.1创建工程目录 良好的工程结构能让文件的管理更科学,让开发更容易更方便,希望大家养成良好的习惯,使用具有合理结构的工程目录,当 ...
- STM32入门指南(1)—新建第一个工程
STM32入门指南(1)-新建第一个工程 文章目录 STM32入门指南(1)-新建第一个工程 STM32CubeMX配置 选择芯片 配置 IO 和其他功能 配置时钟 配置工程属性 生成代码 MDK编辑 ...
- 什么是库函数、寄存器?如何新建一个库函数的工程模板?(第四天,有检讨)
PS!!!以后相关文件从例程中直接复制就好了,以下的基本是解释每个文件的作用的,对大佬没啥用(2019.8.20) 哈!今天终于进入主题了,以后我也是会建新的工程模板的人了(再也不用当只会嘴上说心里慌 ...
最新文章
- java包名命名规范[【转】
- 基于 TensorFlow 的图像识别(R实现)
- C++程序员如何入门Unreal Engine 4
- [Linux] 命令行工具
- Redis高级特性及优化
- 根据当月数据库自动生成下个月数据库--3
- jax-rs jax-ws_信守承诺:针对JAX-RS API的基于合同的测试
- 今天下午三点,2020深圳开放数据应用创新大赛将举行第二场线上推介会
- Win10+VS2017+Ceres-Solver-1.13.0配置
- 2022新版UI云购H5系统源码+完美运行/功能强大
- Python实现的NN神经网络算法完整示例
- 移动边缘计算——计算卸载
- 假如时光倒流,我会这么学习Java 【转载】
- 用例图之间的几种关系
- stc15f2k60f2单片机定时器_8 STC15F2K60S2单片机的定时器计数器 例题
- java swing tooltips_【Unity笔记】提示框ToolTips大小自适应,及其闪烁的问题
- 数据库原理第三章习题作业
- 深入理解Flash Player的安全域
- OPEN3D(python)学习笔记-1.3 法线估计
- 内存占用少的linux桌面,不同桌面环境占用内存/CPU对比