IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> AT32标准库(BSP)模板建立(开发笔记) -> 正文阅读

[嵌入式]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:\Work\Artery AT32 MCU Pack\BSP\Libraries\AT32F4xx_StdPeriph_Driver下的inc和src文件夹复制到AT32F4LIB下。Artery AT32 MCU Pack文件包可以在雅特力官方网站自行下载。

??????? b) 复制固件库的启动文件到CORE

将E:\Work\Artery AT32 MCU Pack\BSP\Libraries\CMSIS\CM4\DeviceSupport\startup\mdk中的ATF403A对应的启动文件startup_at32f403arct7.s复制到CORE文件夹下。

接着将E:\Work\Artery AT32 MCU Pack\BSP\Libraries\CMSIS\CM4\CoreSupport中的F4(M4内核)相关的内核文件(如图)也复制到CORE文件夹下

复制后的CORE有如下文件:

??????? c) 复制固件库工程重要文件复制到USER

将E:\Work\Artery AT32 MCU Pack\BSP\Libraries\CMSIS\CM4\DeviceSupport下的头文件添加到USER文件夹中。

将E:\Work\Artery AT32 MCU Pack\BSP\Project\AT_START_F403A\Templates下的工程模板中的历程复制过到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. 编译工程

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-25 12:22:20  更:2021-08-25 12:24:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 17:37:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计