二、STM32标准固件库工程建立

STM32标准固件库工程建立

1、从Libraries 文件夹中提取以下文件:

(1)ARM Cortex 内核文件core_cm3.c/h
在这里插入图片描述
(2)对应外设头文件stm32f10x.h
此文件内部封装了STM32的总线、内存和外设寄存器等,同时包含了一些时钟相关的定义和中断相关定义等。
(3)片上外设接入层系统头文件system_stm32f10x.h
此文件主要申明设置系统及总线时钟相关的函数。与其对应的源文件是 system_stm32f10x.c。.c文件里面有一个SystemInit()函数申明,这个函数在系统启动的时候都会调用,用来设置系统的整个系统和总线时钟。

在这里插入图片描述
(4)stm32f10x_it.c 文件
用于存放中断函数,不过中断函数也可以放在其他工程文件内,所以这个文件很少操作。
(5)stm32f10x_conf.h 文件
配置文件,用于删减我们使用的外设头文件,比如使用 GPIO 外设,那么就需要调用 stm32f10x_gpio.h 头文件,如果不使用 GPIO 外
设,可以将此头文件注释掉,一般情况下我们不会对这个配置文件操作,因为如果不使用一个外设,可以在工程内不调用即可。

在这里插入图片描述
(6)STM32 启动文件
根据芯片型号选择。

在这里插入图片描述
(7)STM32 外设驱动文件
在这里插入图片描述

2、库函数工程创建

2.1新建3个文件夹

pro存放工程文件,out存放输出文件,src存放源文件。
在这里插入图片描述
src分类建立各个目录:
在这里插入图片描述
User文件夹存放以下文件:
在这里插入图片描述
Libraries文件夹文件如下:
在这里插入图片描述
在这里插入图片描述

2.2打开keil5软件建立工程

在KEIL5 软件界面,新建一个工程,工程名命名使用英文,使用中文名可能会出现一些奇怪的错误。
在这里插入图片描述
在这里插入图片描述

2.3选择 CPU

在这里插入图片描述

在这里插入图片描述

2.4在新建的工程中添加文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其他的外设源文件根据是否使用外设而添加,把所有的源文件都加进来也可以,只不过工程在编译的时候会比较慢,所以原则是使用到哪个外设就添加哪个外设的源文件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 配置魔术棒选项卡

编译器可选择v5
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
C/C++选项卡配置
因为创建的是库函数模板,所以需要在对处理器类型和库进行宏定义,在Define 这一栏中复制这两个宏:
USE_STDPERIPH_DRIVER,STM32F10X_HD

在这里插入图片描述
添加头文件路径
在这里插入图片描述
选择确定即可。

3、工程编译

3.1 编译

在这里插入图片描述

3.2 编译结果说明

编译结果里面的几个数据的意义:
在这里插入图片描述
Code:表示程序所占用 FLASH 的大小。
RO-data:即 Read Only-data,表示程序定义的常量,存储在 FLASH 内。
RW-data:即 Read Write-data,表示已被初始化的变量,存储在 SRAM 内。
ZI-data:即 Zero Init-data,表示未被初始化的变量,存储在 SRAM 内。
程序的大小不是.hex文件的大小,而是编译后的 Code 和 RO-data 之和,如上代码占用FLASH大小为:1224字节(904+320),所用SRAM大小为:1024个字节(1024+0)。

编辑 2023.03.11 22:45 首次编辑
编辑 2023.03.26 11:14 增加工程编译

注:本文旨于作为自己的学习笔记。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值