我这边使用的Keil5版本是MDK5.24,可以到网络上自行下载安装。

1.1建立工程前准备

(1)下载stm32f0标准库文件

在开始建立工程模板前需要先到ST官网下载最新的标准外设库,网址为https://www.st.com/en/embedded-software/stsw-stm32048.html

在网页中找到下载链接,点击下载。(需要登录账号或者填一些个人信息,这里自己操作)

下载下来的压缩包解压后得到STM32F0xx_StdPeriph_Lib_V1.5.0这个文件夹,里面包含STM32F0XX外设功能的例程及内核、外设相关的库文件。

(2)安装stm32f0芯片包

Keil5需要自己下载安装芯片包,才能在建立工程的时候选择自己要的MCU型号,若还没安装可到Keil官网下载,网址为http://www.keil.com/dd2/pack/

在页面中找到STM32F0系列设备支持的下载链接,点击下载。

下载下来的文件双击安装,完成即可。

1.2新建工程文件夹

为了使工程目录简洁,我们先在电脑本地目录下新建一个工程文件夹命名为“Template”,在它的下面再新建4个文件夹:

名称

说明

Doc

存放程序的说明文件

Libraries

存放标准库相关文件

Project

存放工程文件及编译产生的一些文件

User

存放用户编写的程序

建好文件夹后,将之前下载准备好的的标准固件库STM32F0xx_StdPeriph_Lib_V1.5.0 中的相关文件添加到相应文件夹下,具体如下:

(1)将STM32F0xx_StdPeriph_Lib_V1.5.0\Libraries中的CMSIS 和STM32F0xx_StdPeriph_Driver两个文件夹复制到工程模板Libraries文件夹下:

(2)将STM32F0xx_StdPeriph_Lib_V1.5.0\Projects\STM32F0xx_StdPeriph_Templates中的几个文件复制到工程模板User 文件夹下:

其它文件夹暂时为空。

1.3建立工程

(1)新建工程

打开KEIL5,点击菜单Project --> New μVision Project... 新建工程,工程名命名为Template(工程名按自己的要求命名,这里用‘模板’英文当工程名),保存到工程文件夹Template\Project文件夹下。

(2)选择芯片型号

保存完工程后会出现选择芯片型号的界面,这里根据你产品选型的MCU具体型号选择。如果没有你想要的芯片型号,说明没有安装相关芯片包,参考前面的步骤进行安装。这里以我使用的STM32F030F4P6为例,选择后点击ok。

之后会跳出管理运行环境的界面,这里我们用不到,不用理会,直接关闭就好。进入主界面。

(3)添加组文件夹及文件

点击菜单栏上的管理工程项目图标,进入管理工程项目界面

在Groups中添加5个组文件夹,再将文件添加到每个组文件夹中,操作方法如下,

具体添加清单如下表格所示:

文件夹名称

存放的文件

STARTUP

startup_stm32f030.s

位置:Template\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm

CMSIS

system_stm32f0xx.c

位置:Template\Libraries\CMSIS\Device\ST\STM32F0xx\Source\Templates

FWLIB

Template\Libraries\STM32F0xx_StdPeriph_Driver\src 文件夹下的.c文件

可根据自己项目需要选择添加,这里暂时全部添加

USER

main.c

stm32f0xx_it.c (中断函数文件)

和其它用户自己编写的文件

DOC

添加说明文件,自己添加

点OK后会保存并退出。主界面左侧Project会出现刚才添加的内容。

(4)配置工程选项

点击菜单栏上类似魔术棒的图标,进入工程选项卡界面

开始进行一系列必要的配置,

(1)

(2)

(3)C/C++选项卡中添加处理宏,根据自己芯片型号填入,否则会报错。这边添加两个宏:

USE_STDPERIPH_DRIVER,

STM32F030

添加头文件路径,点击打开“Include Paths”界面,按下图添加路径

(4)DEBUG选项卡仿真器选择,根据你用的仿真器进行选择,我这里使用STLink仿真,故选择ST-Link Debugger

然后进入仿真器设置,

完成后点确定,点OK退出会保存选项设置。

至此,所有工作就完成了。

点击Build键,进行编译,底部Build Output显示无错误,无警告。说明工程模板没有问题

工程模板就建立完成了。

如何建一个STM32F030工程模板(标准库版)相关推荐

  1. (一)使用TrueSTUDIO软件新建一个基于STM32标准库工程

    一.TrueSTUDIO说明 不管是还在学习的还是已经工作的应该都很熟悉Keil和IAR这两款用来开发嵌入式的软件,在国内普遍用的这两款编译软件都是破解版的,并没有经过正规渠道授权注册,这就导致了在开 ...

  2. STM32F103C8T6工程模板 ——固件库版、正点原子代码风格、包含SYSTEM文件夹

    提示:文章包括省事部分和学会部分 文章目录 前言 一.想自己写在哪里学? 二.省事直接下载作者写好的 1.部分代码 2.工程模板包 总结 前言 笔者学习了STM32F103ZET6和STM32F104 ...

  3. Boost程序库完全开发指南——深入C++“准”标准库(第3版)

    内容简介  · · · · · · Boost 是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库,有着"C++'准'标准库"的美誉. Boost 由C++标准委员会 ...

  4. STM32读取SHT3x系列温湿度传感器,标准库和HAL库

    STM32读取SHT3x系列(SHT30.SHT31.SHT35)温湿度传感器的数据并显示在0.96寸OLED屏上. 我下面提供两份代码,一份是标准库使用硬件I2C的,另一份是HAL库使用软件模拟II ...

  5. STM32F103标准库开发:Keil5新建STM32工程

    STM32标准库版工程模板链接 STM32F103标准库开发-目录 首先需要搭建Keil5编译环境,才可以新建STM32工程. Keil5编译环境搭建流程----STM32和GD32 新建STM32工 ...

  6. c运行库、c标准库、windows API的区别和联系

    c运行库.c标准库.windows API的区别和联系 C运行时库函数 C运行时库函数是指C语言本身支持的一些基本函数,通常是汇编直接实现的.    API函数 API函数是操作系统为方便用户设计应用 ...

  7. Go标准库Context

    Go标准库Context 目录 为什么需要Context Context初始 Context接口 With系列函数 1. 为什么需要Context 在 Go http包的Server中,每一个请求在都 ...

  8. STM32 软件模拟 IIC 代码,标准库、HAL库可用

    1 #ifndef _IIC_H 2 #define _IIC_H 3 4 #include "stdio.h" 5 #include "stm32f1xx_hal.h& ...

  9. 从代码层面分析STM32 标准库和HAL库的差异

      如果用过STM32系列单片机的朋友会比较清楚,一般在开发STM32单片机程序的时候首先要考虑选用那种方式来写代码.常见的有三种方式,寄存器版.标准库版.HAL库版.现在选用后两种的比较多,选择寄存 ...

最新文章

  1. go 切换当前运行目录_go调试利器-delve
  2. java窗口怎么实现修改密码_【求助】Java中如何实现更改windows密码
  3. Dictionary转为Model实例
  4. Netty使用Marshalling传输信息
  5. Linux 命令详解(二)awk 命令
  6. 支付宝 PEM routines:PEM_read_bio:no start line
  7. 深入浅出Android:初识Intent(BMI)
  8. tomcat修改端口号与eclipse中的tomcat保持一致
  9. 【Java】扑克牌の顺子Judge
  10. 医学影像设备学_什么是医学影像专业?
  11. php form 上传_php+html5使用FormData对象提交表单及上传图片的方法
  12. SoyNet:大豆叶部病害分类(研究思路清晰)
  13. mongodb从3.2升级到4.4_人教版六年级下册数学微课视频及练习4.4.2 比例尺的应用...
  14. 51单片机的初了解(4)
  15. MacOS怎么设置动态桌面,heic动态桌面壁纸怎么用
  16. Matlab是常见的高级语,高级语言具有哪些特点 试述低级语言与高级语言的特点...
  17. TCL: an ANN-to-SNN Conversion with Trainable Clipping Layers
  18. PCL读取带rgb信息的asc文件C++
  19. 论文页眉设置 奇偶页页眉均为章序及章标题 论文按章节设置页眉
  20. 小波变换之尺度函数和小波函数

热门文章

  1. java版停车系统(纯数据结构,无数据库)
  2. 2Unity3D教程宝典之插件篇:Unity3D插件详细评测及教学下载
  3. Python案例——将普通视频变成动漫视频
  4. 解决U盘做系统盘后容量变小问题
  5. 朱建平:如何架构海量存储系统(附视频回放)
  6. 信息系统项目管理师考试资料下载
  7. 孩子感冒了该吃什么药?说给程序员朋友的话
  8. popcap资源管理
  9. 金蝶 K3 库存账龄分析表 数据不一致
  10. 如何使用活字格实现高效开发协同管理系统?