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文件夹用来存放内核文件和寄存器映射文件
2.将startup_stm32f10x_hd.s拷贝到startup,core_cm3.c和core_cm3.h拷贝到CMSIS,stm32f10x.h拷贝到ST文件夹
3.打开keil5新建工程,芯片选择STM32F103VE(一定要安装过stmf1的pack才找得到),新建
新建好这几个分类
然后做如下添加文件
4.修改启动文件,将启动文件第150行到152行注释掉,因为启动文件默认使用外部实现好的系统时钟初始化(此初始化函数我们后面用寄存器版本写,然后直接在main函数中调用),此时stm32f10x.h中的include "system_stm32f10x.h"可删除,因为没用用了(478行)
5.然后在main.c文件中写一个空的main函数,同时添加宏定义STM32F10X_HD,还有在include paths下添加文件路径,不然会报错找不到文件
6.编译无错误,最原始的寄存器模板建立好了(连系统时钟初始化都没有)