STM32的开发方式
目前STM32的开发方式主要有基于寄存器的方式、基于标准库的方式(库函数的方式)、基于HAL库的方式:
- 基于库函数的方式是使用ST官方提供的封装好的函数,通过调用这些函数来间接地配置寄存器。
- 基于HAL库的方式可以用图形化界面快速配置STM3,但这种方式隐藏了底层逻辑。
基于标准库的方式新建工程
使用库函数的方式,需要准备一个STM32库函数的压缩包,在资料包固件库资料里面的文件:
解压完成后,是库函数文件夹目录:
- Libraries里面就是库函数的文件,之后建工程会用到。
- Project里是官方提供的工程示例和模版,使用库函数可以参考一下。
- Utilities是stm32官方评估板的相关例程,这个评估板是官方用STM32做的一个小电路板用来测评stm32的,这个文件夹存的就是这个小电路板的测评程序。
- 最后面两个文件,一个是库函数的发布文档(有一些版本的说明),一个是使用手册(教如何使用库函数)。
新建工程步骤
1.在桌面新建一个文件夹命名STM32Project。
2.新建工程:打开keil——点击project——New Project——选择STM32Project——新建文件夹(2-1 STM32工程模版)——点进去
3.接下来给工程文件起个名字(Project)——保存
4.接下来选择器件型号:
选择芯片STM32F103C8
5.这里弹出的是新建工程小助手,可以帮助快速新建工程,暂时不用,先关掉。
6.工程文件是空的,现在这个工程还不能用,需要添加一点工程的必要文件
7.打开固件库的文件夹:
启动文件的文件路径:Libraries——CMSIS——CM3——DeviceSupport——ST——STM32F10x——startup——arm
如下就是STM32的启动文件,STM32的程序就是从启动文件开始执行的。
将全部启动文件全部复制下来,然后回到工程文件夹里
工程文件夹如下,里面是新建工程自动生成的文件
工程文件夹里,新建文件夹(start)用来存放复制过来的启动文件
8.接着回到固件库的STM32F10x文件,可以看到stm32f10x.h和两个system开头的文件。
system_stm32f10x.c和system_stm32f10x.h文件,将这三个文件复制下来,也粘贴到Start文件夹下。
-
stm32f10x.h是STM32的外设寄存器描述文件,作用和51单片机的头文件REGX52.H一样,是用来描述stm32有哪些寄存器和它对应的地址的。
两个system文件是用来配置时钟的,stm32主频72MHz,就是system文件里的函数配置的。
9.接下来,还需要添加一个内核寄存器的描述文件。打开固件库文件夹下的 CM3-CoreSupport-——文件夹,这两个cm3(Cortex-M3)文件就是内核的寄存器描述,当然还有一些内核的配置函数,所以多了个.c文件。
将两个cm3文件复制粘贴到工程文件夹的Start文件夹下。
10.然后回到keil软件,将刚才复制的文件(start)添加到工程里。
- 点击选中Source Group 1,然后再点击一下,把这个组改一下名字,也叫Start
- 接着右键,选择添加已经存在的文件到组里
- 打开start文件节,把下面这个文件过滤器,选择ALL files,这样就可以看到文件节里的所有文件了