AT32标准库(BSP)模板建立(开发笔记)
AT32标准库(BSP)模板建立
环境声明:
Keil版本:Keil 5.25
芯片型号:AT32F403A
AT Pack版本:Pack_Keil_AT32F4xx_V1.3.6
1. 新建一个工程文件夹
建立一个Template文件夹,里面再建3个以下子文件夹
a) 存放内核相关文件:CORE
b) 存放库相关文件:AT32F4LIB
c) 存放工程生成中间:OBJ
d) 存放工程目录:USER
注:可以建立一个readme.txt文本文档记录工程信息
2. 使用MDK新建工程
新建工程,路径选择USER文件夹,工程名称自拟,如图芯片选用AT32F403ARCT。
具体如何建立工程请百度,此文着重讨论建立固件库模板,不讨论MDK如何建立新工程。 建好的空工程如图所示。
3.复制固件库源码到工程
a) 复制固件库中的底层库代码到AT32F4LIB
将E:WorkArtery AT32 MCU PackBSPLibrariesAT32F4xx_StdPeriph_Driver下的inc和src文件夹复制到AT32F4LIB下。Artery AT32 MCU Pack文件包可以在雅特力官方网站自行下载。
b) 复制固件库的启动文件到CORE
将E:WorkArtery AT32 MCU PackBSPLibrariesCMSISCM4DeviceSupportstartupmdk中的ATF403A对应的启动文件startup_at32f403arct7.s复制到CORE文件夹下。
接着将E:WorkArtery AT32 MCU PackBSPLibrariesCMSISCM4CoreSupport中的F4(M4内核)相关的内核文件(如图)也复制到CORE文件夹下
复制后的CORE有如下文件:
c) 复制固件库工程重要文件复制到USER
将E:WorkArtery AT32 MCU PackBSPLibrariesCMSISCM4DeviceSupport下的头文件添加到USER文件夹中。
将E:WorkArtery AT32 MCU PackBSPProjectAT_START_F403ATemplates下的工程模板中的历程复制过到USER。
在Code编译之前,需要根据MCU型号,在at32f4xx.h中反注释对应的宏定义如下图所示。
d) 关于晶振的设置(系统时钟的配置)
打开System_at32f4xx.c系统时钟初始化文件,根据型号选择一个宏定义选择初始化时钟进行反注释,如下图。
4. 在MDK空工程中添加文件
按照Template下的目录添加组。 添加后的效果如下图所示。
每个组添加文件基本都在相应的文件夹下,添加的时候只添加.c文件
AT32F4LIB是固件库的底层库,可以根据需要添加相应模板的库。
5. 工程配置
以下配置都在MDK的魔法棒工具中。按照图片配置即可。
a)更改工程文件输出到OBJ
b) 添加全局定义标识符
添加一个全局宏定义标识符。添加方法是点击
魔术棒之后,进入 C/C++选项卡,然后在 Define 输入框连输入:
AT32F403AVGT7,USE_STDPERIPH_DRIVER,AT_START_F403A_V1_0注意这里是三个标识符 AT32F403AVGT7和USE_STDPERIPH_DRIVER和AT_START_F403A_V1_0,他们之间是用逗号隔开的。
c) 添加头文件路径 保证代码能够对应的头文件位置
d) 更改HSE高速外部时钟频率
7. 编译工程