1.官网下载标准库的库函数
1.进入ST中文官网
https://www.st.com.cn/content/st_com/zh.html
2.工具与软件->嵌入式软件->STM32嵌入式软件

3.STM32标准外设软件库->选择系列

4.下载

2.移植标准库
2.1.CMSIS 核心支持文件(ARM 官方 + ST 适配)
| 路径 | 文件 | 描述 |
|---|---|---|
| STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\CoreSupport | core_cm3.* | CMSIS核心支持文件、Cortex-M3 内核寄存器定义、NVIC/SysTick 接口 |
| STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x | stm32f10x.h | 芯片寄存器定义、外设结构体、中断号等 |
| STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x | system_stm32f10x.c、system_stm32f10x.h | 配置时钟树,实现 SystemInit() 和 SystemCoreClockUpdate() |
| E:\ST官网资料\F1标准库3.6.0\STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm | startup_stm32f10x_*d.s | 启动汇编文件(根据芯片容量选择) |
新建文件夹project,project内新建三个文件夹:CMSIS、FWLIB、USER
将所有文件,放在CMSIS文件夹中
2.2.STM32 标准外设驱动库(SPL)
| 路径 | 文件 | 描述 |
|---|---|---|
| STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\STM32F10x_StdPeriph_Driver\src | 所有 | 外设源文件 |
| STM32F10x_StdPeriph_Lib_V3.6.0\Libraries\STM32F10x_StdPeriph_Driver\inc | 所有 | 外设头文件 |
将所有文件,放在FWLIB文件夹中
其中,misc.c可能不熟悉,这个是NVIC相关的
2.3.用户应用层文件
| 路径 | 文件 | 描述 |
|---|---|---|
| STM32F10x_StdPeriph_Lib_V3.6.0\Project\STM32F10x_StdPeriph_Template | main.c | 用户主程序入口 |
| STM32F10x_StdPeriph_Lib_V3.6.0\Project\STM32F10x_StdPeriph_Template | stm32f10x_it.* | 中断函数模版 |
| STM32F10x_StdPeriph_Lib_V3.6.0\Project\STM32F10x_StdPeriph_Template | stm32f10x_conf.h | 外设驱动头文件包含控制(用于裁剪) |
将所有文件,放在USER文件夹中
3.新建工程
3.1.打开keil,新建工程
1.关闭keil之前打开的工程
2.选择新建工程
3.目录选择project文件夹,名称为project
3.2.选择芯片
根据需要选择即可


3.2.打开包管理器
1.删掉原来的
2.按照下图新建

3.添加所有的文件




3.3.配置编译选项和头文件配置
1.编译选项Define输入:STM32F10X_HD,USE_STDPERIPH_DRIVER,STM32F10X_HD根据你的芯片容量选择
2.头文件路径Include Paths选择刚才的所有文件夹

3.4.排除多余启动文件
1.排除其他的启动文件,右键选择Options for File startup_stm32f...
2.取消勾选Include in Target Build和Always Build

3.5.更改编译器

3.6.更改main.c
1.删除原来的全部代码
2.输入如下代码
c
#include "stm32f10x.h"
int main()
{
while(1)
{
}
}
3.7.编译
