【STM32学习】搭建一个简单的 keil5 工程

一、安装 pack 支持包

pack是支持包文件,当你的板子连接到电脑时,keil5 怎么知道你的板子是哪个型号的,这就需要用到 pack 文件了。Keil 官方下载pack文件的地址:download | device pack

我这里使用的是 STM324 系列

随后直接一键下载,下载完毕后双击安装,它会自动检测你电脑上的keil软件的安装目录,然后自动安装。

后面你新建工程时,就会多出一个系列的选项

二、下载外设库

没有外设库的时候,我们需要一边看开发手册一边手动配置寄存器了,现在有了外设库,外设库封装了外设寄存器的操作,不必再手动配置寄存器,极大地提升了开发效率。

ST 官方外设库下载:STM32 Standard Peripheral Libraries - Products

不过这里可能需要先注册一下,注册流程比较简单,输入姓名和邮箱,然后在邮箱验证即可。整个过程花费的时间不会很长。

下载好以后就可以看到类似于下面的压缩包了,这里不光包含了外设库函数,也给了每种外设的操作示例。

三、搭建工程

搭建工程的关键是将一些必要文件引入到我们的工程中,至于我们的工程具体需要哪些文件,可以参考下面的工程结构图。

1、启动文件

程序运行之前需要先初始化运行环境

  • 堆栈初始化
  • 初始化中断向量表
  • 调用复位中断服务函数
  • 调用 SyStemInit 函数进行其他初始化
  • main 函数跳转

这一切的操作都由 启动文件 startup_stm32f40xx.s 文件来完成,一般 .s 文件用汇编编写。其中 SyStemInit 函数在 system_stm32f4xx.h 文件中,对应的源文件 system_stm32f4xx.c 只能在官方提供的Example中找到。

文件名 位置
startup_stm32f40xx.s Libraries—CMSIS—Device—ST—STM32F4xx—Source—Templates—arm
system_stm32f4xx.h Libraries—CMSIS—Device—ST—STM32F4xx—Include
system_stm32f4xx.c Project—STM32F4xx_StdPeriph_Examples—ADC—ADC_DMA

注意:如果是stm32f10x 系列,启动文件会带有后缀,后缀的意义如下

2、外设寄存器和外设库

stm32f4xx.h 中保存了 STM32 操作各个外设所需的寄存器地址。stm32f4xx.h 中包含的部分内容:

外设库包含了操作外设的具体函数实现。其中 misc.c 包含了一些内核操作,如修改中断向量表偏移,其余文件都是一些常见的外设操作具体实现。

为了更加方便的使用外设库,ST 在例程中给我们提供了一个文件 stm32f4xx_conf.h,该文件可以一次引入所有的外设。(如果后续要使用该头文件,需要添加宏 USE_STDPERIPH_DRIVER)

文件名 位置
stm32f4xx.h Libraries—CMSIS—Device—ST—STM32F4xx—Include
外设库

源文件:Libraries—STM32F4xx_StdPeriph_Driver—src

头文件:Libraries—STM32F4xx_StdPeriph_Driver—inc

stm32f4xx_conf.h Project—STM32F4xx_StdPeriph_Examples—ADC—ADC_DMA

3、内核寄存器

core_cm4.h 主要涉及到一些内核方面的配置。core_cmFunc.h、core_cmInstr.h、core_cmSimd.h是core_cm4.h 相关联的头文件

文件名 位置
core_cm4.h Libraries—CMSIS—Include

core_cmFunc.h

core_cmInstr.h

core_cmSimd.h

Libraries—CMSIS—Include

4、中断处理函数文件

stm32f4xx_it.c 文件包含了一些中断处理函数的具体实现,如SVC中断、总线错误中断。

文件名 位置

头文件:stm32f4xx_it.h

源文件:stm32f4xx_it.c

Project—STM32F4xx_StdPeriph_Examples—ADC—ADC_DMA

四、整理

现在大致了解了一个基本的工程需要哪些文件,下面就需要将这些文件分开存放,全堆到一起未免太乱了。

1、Start目录

这个目录下保存一些启动所需的文件,如 startup_stm32f40xx.s、system_stm32f4xx.h。除此之外,我们将一些平时不会改动的文件也放到这里。

2、Library 目录

该目录就用于保存外设库的头文件和源文件。这里直接把原本的 inc 和 src 目录拷贝过来了

3、User 目录

该目录下就保存 main 函数以及一些可能需要使用或者修改的文件

五、新建 Keil 工程中添加宏定义

如果要使用头文件 stm32f4xx_conf.h ,需要添加宏 USE_STDPERIPH_DRIVER

如果报错,可以双击跳转,下面这个错误是需要添加当前开发板型号的宏 STM32F40_41xxx

参考文章:

学习使用HAL库进行STM32软件开发 | 安装keil-MDK及STM32F4支持包 | 2022.4.5/星期二/天气晴_杨肉师傅的博客-CSDN博客

下载stm32f4xx标准外设库_stm32f4支持包下载_枫中眸zc的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/challenglistic/article/details/132295218