雅特力AT32F435学习——1.搭建环境

server/2024/10/11 13:21:26/

AT32F435开发环境搭建

整体开发环境我们首选使用KEILL MDK+AT32F4芯片Pack包的方式进行,因为国产MCU厂商自己的开发IDE虽然便捷但是成熟度不高,潜在的坑比较多,使用界面还需要重新熟悉所以我们还是选择我们最擅长的KEILL下手,本次教学使用的是官方AT-START-F435开发板,开发板如下图所示。
在这里插入图片描述

KEILL MDK软件安装

关于KEILL MDK的软件安装,大家直接百度“KEILL网盘下载”链接有很多的选择一个高版本的下载就行,然后进行破解即可。

芯片Pack包安装

打开雅特力官网Pack 包可以从雅特力科技官方网站→产品讯息→高性能 MCU→AT32F4xx 系列下载。找到:AT32F4系列MCU资料,如下图所示:在这里插入图片描述
下载完成后解压并安装芯片Pack包,这样我们的基础开发环境就建立好啦,当然还要把开发板资料、原理图、数据手册以及T32F435底层驱动源代码,以固件库统统下载下来。

基础工程建立

我们嵌入式的基础工程当然是点灯啦,基础工程的建立有两种方式如下:
第一种方式:下载野火AT32F435教学资料,解压后找到Led工程粘贴复制出来,然后打开KEILL工程,因为野火使用的是MCU型号是【AT32F435VMT7】,而我们使用的官方AT-START-F435开发板的MCU型号是【AT32F435ZMT7】我们需要重新选择MCU型号,具体操作如下图所示在这里插入图片描述
野火的LED例程中是两个流水灯,我们再根据AT-START-F435开发板原理图再添加一个LED灯,写完程序后,进行编译。

调试下载配置

由于AT-START-F435开发板已经搭载了AT-Link调试器,我们就这个就可以实现断点调试和程序的烧录了,具体配置操作如下所示。
在这里插入图片描述

程序烧录与验证

流水灯程序写好,编译完成后,就可以用数据线把开发板和数据线相连接,点击魔术棒——》Debug找到DAP烧录器后点击Settings,查看烧录器是否检测成功,检测成功如下图所示:
在这里插入图片描述
最后点击下载KEILL中的程序下载按钮,烧录成功后可以看到开发板流水灯的效果。

在这里插入图片描述
第二种方式:AT32官方是有做好例程的存放路径为 AT32F435_437_Firmware_Library_V2.x.x\project\at_start_
f4xx\templates,打开对应工程的文件夹并点击工程文件即可打开对应的 IDE 工程。
但是这些官方例程与其他软件应用相混杂,不太好用。所以我们自己从零搭建基础工程。
原本我想录制教学视频来着结果,B站上已经有一位同学已经录好了,我看讲解还不错我们就参照B站视频一步步做就好, 只不过芯片选择的时候要选择F435的,拷贝文件有差异的我会在下面做出提示:B站教学视频
教学视频其中的新建的文件的源文件所在目录如下所示:
CORE文件:
startup_at32f435_437.s 文件所在目录:官方资料\AT32F435_437_Firmware_Library_V2.1.6\libraries\cmsis\cm4\device_support\startup\mdk

system_at32f435_437.c和system_at32f435_437.h文件所在目录:官方资料\AT32F435_437_Firmware_Library_V2.1.6\libraries\cmsis\cm4\device_support

at32f435_437.h文件所在目录:官方资料\AT32F435_437_Firmware_Library_V2.1.6\libraries\cmsis\cm4\device_support

cmsis_armcc.h、cmsis_compiler.h、cmsis_version.h、core_cm4.h、mpu_armv7.h文件所在目录:官方资料\AT32F435_437_Firmware_Library_V2.1.6\libraries\cmsis\cm4\core_support

USER文件:
at32f435_437_clock.c、at32f435_437_int.c、main.c文件所在目录:
官方资料\AT32F435_437_Firmware_Library_V2.1.6\project\at_start_f435\examples\gpio\led_toggle\src

at32f435_437_clock.h、at32f435_437_conf.h、at32f435_437_int.h文件所在目录:
官方资料\AT32F435_437_Firmware_Library_V2.1.6\project\at_start_f435\examples\gpio\led_toggle\inc

除此之外我们还要把at32f435_437_board.c、at32f435_437_board.h文件也要拷贝到USER文件中
其所在目录:官方资料\AT32F435_437_Firmware_Library_V2.1.6\project\at32f435_437_board

Per文件
inc、src文件夹所在目录:官方资料\AT32F435_437_Firmware_Library_V2.1.6\libraries\drivers

文件全部复制到新建工程文件夹后打开新建的KELL工程进行工程文件添加,添加完之后的工程目录如下所示:
在这里插入图片描述
最后我们点击魔术棒,添加以下宏定义:AT32F435ZMT7,USE_STDPERIPH_DRIVER,AT_START_F435_V1
这些宏定义也是官方提供的示例工程中的。
在这里插入图片描述
最后我们点击KEILL中的编译按钮,最后显示零错误零警告,就可以烧录程序啦,最后的现象也是流水灯,这样我们第一节基础工程的建立和流水灯实验就结束啦,关于AT32的学习就正式入坑了。


http://www.ppmy.cn/server/16226.html

相关文章

2024/4/25 C++day3

#include <iostream> using namespace std; class Person //Person类 {string name; //两个私有属性变量name&#xff0c;ageint age;public: //一个公有属性指针变量&#xff0c;一个无参构造函数&#xff0c;一个有参构造函数&#xff0c;一个sho…

使用 Flask 和 WTForms 构建一个用户注册表单

在这篇技术博客中&#xff0c;我们将使用 Flask 和 WTForms 库来构建一个用户注册表单。我们将创建一个简单的 Flask 应用&#xff0c;并使用 WTForms 定义一个注册表单&#xff0c;包括用户名、密码、确认密码、邮箱、性别、城市和爱好等字段。我们还将为表单添加验证规则&…

刚刚,ChatGPT重大更新!GPT-4更加聪明,已成毕业论文撰写润色修改最佳利器!

今天ChatGPT Plus版本做了升级。GPT-4增强了记忆功能&#xff0c;能够通过你的多次对话了解你的意图&#xff0c;并提供合适的回应&#xff0c;总结一句话就是&#xff1a;更加懂你&#xff01; ChatGPT到底能干什么&#xff1f;我简单总结一下&#xff1a; 翻译&#xff1a;中…

pytest教程-31-mock数据插件-pytest-mock

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了pytest测试数据管理插件-pytest-datadir&#xff0c;本小节我们讲解一下mock数据插件-pytest-mock。 pytest-mock 是一个 pytest 插件&#xff0c;它提供了一个名为 mocker 的 fixture&#x…

《苍穹外卖》Day08部分知识点记录

一、useGeneratedKeys和keyProperty useGeneratedKeys和keyProperty是<insert>标签中的两个属性&#xff0c;用于处理自动生成的主键值。 1. useGeneratedKeys userGeneratedKeys"true"表示启用自动生成主键功能&#xff1b;当useGeneratedKeys设置为true时…

单例模式可以被破坏

通过反射的方式破坏单例模式 解决&#xff1a;在构造函数中添加判断 private Singleton() {if (singleton ! null) {throw new RuntimeException("Singleton constructor is called... ");} } 序列化和反序列化破坏单例模式 解决&#xff1a;在Sinleton中增加rea…

【结构型模型】享元模式

一、享元模式概述 享元模式定义&#xff1a;又叫蝇量模式&#xff0c;运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象&#xff0c;而这些对象都很相似&#xff0c;状态变化很小&#xff0c;可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细…

vue快速入门(四十四)自定义组件

注释很详细&#xff0c;直接上代码 上一篇 新增内容 全局注册自定义组件并应用局部注册自定义组件并应用 此篇使用了axios模块没有安装导入的先看这一篇 axios模块下载与导入 源码 main.js import Vue from vue import App from ./App.vue//全局引入axios // 引入axios impor…