STM32寄存器开发(工程模板建立)

版主本人工作一年了,大学专业接触过单片机,现在工作是嵌入式硬件开发,这久看到师傅们写的寄存器代码觉得很整洁,而却可移植性很好,打算自己用手上的开发板写一套自己的寄存器开发模板,持续更新。。。

板子使用的是秉火的指南者,STM32F103VET6,打算板子的每个外设都写一套寄存器模板,大神勿喷,欢迎交流学习。

MDK使用的是keil5

环境一定要先搭建好,不会的可找度娘,调试使用的是ST_LINK

工程所需文件:1. startup_stm32f10x_hd.s  启动文件

                        2.core_cm3.c和core_cm3.h 内核文件

                        3.stm32f10x.h       寄存器映射文件

这些文件可到ST官方下载库文件下载得到

新建工程步骤:

1.在磁盘下新建好三个文件夹,在system文件夹下新建CMSIS文件夹和ST文件夹用来存放内核文件和寄存器映射文件

STM32寄存器开发(工程模板建立)STM32寄存器开发(工程模板建立)

2.将startup_stm32f10x_hd.s拷贝到startup,core_cm3.c和core_cm3.h拷贝到CMSIS,stm32f10x.h拷贝到ST文件夹

3.打开keil5新建工程,芯片选择STM32F103VE(一定要安装过stmf1的pack才找得到),新建

新建好这几个分类

STM32寄存器开发(工程模板建立)

然后做如下添加文件

STM32寄存器开发(工程模板建立)

4.修改启动文件,将启动文件第150行到152行注释掉,因为启动文件默认使用外部实现好的系统时钟初始化(此初始化函数我们后面用寄存器版本写,然后直接在main函数中调用),此时stm32f10x.h中的include "system_stm32f10x.h"可删除,因为没用用了(478行)

STM32寄存器开发(工程模板建立)

5.然后在main.c文件中写一个空的main函数,同时添加宏定义STM32F10X_HD,还有在include paths下添加文件路径,不然会报错找不到文件

STM32寄存器开发(工程模板建立)

6.编译无错误,最原始的寄存器模板建立好了(连系统时钟初始化都没有)

STM32寄存器开发(工程模板建立)