目录
前言
STM32是由意法半导体(STMicroelectronics)公司推出的一系列32位ARM Cortex-M微控制器,它广泛应用于嵌入式系统开发领域,同时也是许多想入门嵌入式的小伙伴必须跨过的门槛,所以本文将讲解如何在Keil5中创建STM32标准库版本的工程,所用芯片为STM32F103VET6。
一、简介
STM32标准库是STMicroelectronics为其STM32系列微控制器提供的一套标准库函数和驱动程序。该标准库版本为开发者提供了一系列的API函数,用于配置STM32微控制器的各种外设,包括GPIO、USART、SPI、I2C等,并且支持各种基本的系统功能,如时钟配置、中断控制等。使用STM32标准库版本,开发者能够更加便捷地进行嵌入式系统的开发,而无需从零开始编写底层驱动程序。而Keil5是由Arm公司推出的一款专业的嵌入式系统开发工具,提供了强大的集成开发环境(IDE)以及与Arm架构兼容的编译器、调试器和仿真器。Keil5支持多种微控制器架构,包括ARM Cortex-M系列,因此非常适合用于STM32微控制器的开发。
二、准备工作
我们需要下载keil5 MDK 工具、芯片包以及所需固件库,可以自行去官网下载,也可以去下方的链接下载。
链接:https://pan.baidu.com/s/10L2wvwO081HFB3aajMTi1A?pwd=3pan
提取码:3pan
三、创建新项目
首先,在本地新建一个My Template文件夹,用于存放工程文件。
按照图中创建以下文件夹。
各文件夹的用途如下:
DOC | 用于存放Readme.txt文件,对工程进行说明 |
Libraries | 用于存放与STM32内核相关的库文件以及外设库文件 |
Project | 用于存放.uvprojx后缀的工程文件 |
User | 用于存放main函数文件 |
在Libraries文件夹内创建CMSIS文件夹,存放STM32内核相关文件 ,并从下载的固件库里拷贝STM32的外设库文件。
路径为:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver
从前面下载好的固件库内找到以下文件,拷贝到CMSIS文件夹中,其中startup文件是自己创建的,其中存放对应芯片的启动文件。
我所使用的芯片为STM32F103VET6,所以将startup_stm32f10x_hd.s文件拷贝到里面。
在固件库中找到以下文件拷贝到User文件夹内。
此时本地工程文件夹就已经创建完成了,下面将进行keil5内的操作。
四、配置工程属性
首先,打开keil5新建一个工程,随便取一个工程名,我这里取名为My template project,保存在上述本地工程文件夹的Project文件夹内,然后选择自己所用芯片的型号,如果这里没有芯片型号,可能是你没有下载对应的芯片包,下载安装之后就可以正常选型了。
弹出这个画面直接关掉。
然后在新建工程中添加四个组,分别为STARTUP、CMSIS、FWLB、USER,添加方法为右键点击add group,然后修改名字即可,修改名字双击鼠标时,要有一定的时间间隔,如果连续双击,会弹出添加文件的页面。
双击STARTUP,进入添加文件的页面,将启动文件选中,如果看不到存放启动文件的文件夹,就往上一级目录找,然后点击添加。
以同样方法向四个组里添加文件如下。
接下来进入最重要的配置,点击魔术棒,Target中选中“ Use MicroLib”,以便以后可以使用printf函数。
然后点击Output,在勾选上Create HEX File。
点击C/C++,将STM32F10X_HD,USE_STDPERIPH_DRIVER复制到图中的位置。
然后添加头文件路径,把所有含有头文件的路径添加进去,尽量不要手打路径,避免配置出错。然后点击OK即可。
此时工程配置就已经完成了,在main函数文件里输入以下内容,点击编译。
五、调试与下载
工程的下载也非常简单,结合自己所有的下载工具在图中位置进行配置即可,本人使用的是串口下载,烧录HEX文件即可,其他下载方式在此处不多赘述。
至此,一个新的模板工程创建完毕。
总结
本文对在Keil5如何从无到有创建适合自己STM32芯片型号的模板工程,后续内容将针对STM32外设资源入手,一步步深入学习STM32,欢迎交流讨论。