keil如何创建一个工程
目录
一、下载STM32标准外设库
二、整理库文件夹
(1)各个文件的含义区分
(2)总结
三、创建工程
四、配置工程
(1)输出Hex文件
(2)选择调试器
(3)启用conf.h文件
(4)为编译器配置路径
(5)设置自动复位
在第一次学习stm32的时候,创建工程是一个很复杂的事情,他要把一堆文件拷贝下来,对于初学者来说容易看的眼花缭乱而不知所云,本篇文章就把这些步骤分开,手把手讲清楚如何创建一个工程,这些文件又代表了什么含义。
本篇文章虽然着重于讲解如何创建一个工程,但在此基础上海补充说明了各个文件的由来,为什么需要这些文件。相信你看完会对工程文件树有一个更好的认识。
一、下载STM32标准外设库
在学习51单片机的时候,我们都是直接操作寄存器的,但是在STM32中这种方法是不可取的,虽然直接操作寄存器的效率最高,但是相比于标准库函数仅仅提高了几个时钟周期的时间,为了开发的效率和准确性,ST公司提供了一套标准库,以后我们只需要通过标准库函数就相当于操作寄存器了。
那么首先我们需要到官网下载标准库。下面是ST公司的官网。
https://www.st.com/en/embedded-software/stm32-embedded-software/products.html?querycriteria=productId=SC961
二、整理库文件夹
(1)各个文件的含义区分
我们从官网下载的库就如下图所示:
进入Libraries文件夹,可以看到
其中标准库函数就是我们使用的gpio等外设的库函数。
而CMSIS又分为两个部分:
CoreSupport是内核架构,DeviceSupport是在该内核架构上进行完善的芯片。可以类比于Linux内核以及Ubuntu/CentOS的区别。
而在DeviceSupport中又可以分为两个部分:
1.启动文件
2.基础头文件
这两个头文件是不是在创建工程的时候都需要包含呢?
stm32f10x.h文件是必须包含的,而另一个则不需要用户手动包含,因为他通常会被启动文件包含。
而启动文件中又分为不同编译器的启动文件,在这里因为我们默认使用的是arm编译器,所以必须选择arm文件下的启动文件
最后,在这些文件之外还有一个比较重要的文件,他们没有放到一起,而是在project文件夹中可以找到。其中管理头文件的conf.h文件可以不加,因为他的作用仅仅是用于统一包含头文件,方便管理。
(2)总结
具体的包含示意图如下:
三、创建工程
注意:我们要在keil的文件夹管理工具中把这些文件都添加进去,不能只有一个文件夹空壳
四、配置工程
(1)输出Hex文件
(2)选择调试器
(3)启用conf.h文件
在stm32f10x.h文件中
(4)为编译器配置路径
注意你添加了什么头文件,就需要把什么头文件的路径配置进来,否则编译器找不到该文件
(5)设置自动复位
从此每次下载程序不再需要手动按复位键即可自动运行程序了。