2.2 最后的准备——开发环境搭建


基于假设读者处于本人大一暑假学完32单片机,接触PID等自控算法前的程度。

2.2 最后的准备——开发环境搭建

2.2.1 关于MDK的一些知识

如若没有下载MDK,可以参考“6、AT32官方资料\Keil”文件夹。

来科普一些概念,Keil 即是一家公司名称,也是一款软件名称。Keil 有几个出名的软件(IDE),包括 MDK、 C51。而µVision(或uVision)是一种开发环境,µVision5是其第5个版本。相关内容参考:
Keil科普教程 | Keil C51 和 MDK 的区别 - strongerHuang的文章 - 知乎
https://zhuanlan.zhihu.com/p/458885846

(1)工程文件
(这类文件不能删除) *.uvprojx:µVision5工程文件

(2)工程选项配置文件
(这类文件不能删除) *.uvoptx:µVision5工程选项配置文件

(3)项目界面布局文件
(这类文件可以删除) *.uvguix[.user-name]:µVision5项目界面布局文件。删除之后,重新打开工程,界面布局会恢复到默认布局。如Demo.uvguix.Administrator。
其中[.user-name]为计算机的用户名,若使用联想电脑,默认为.lenovo,如文件:template.uvguix.lenovo

(4)删除过程文件.bat
.bat为winbows批处理文件,是一种调用DOS命令的可执行文件,可以看作一个小软件,一般双击运行来删除编译过程产生的文件。

(5)EventRecorderStub.scvd
EventRecorderStub:事件记录器存根(可能记录了一些用户操作之类的信息)

(6)JLinkSettings.ini
是对Jlink进行一些配置的文件。
INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中。这种配置文件的文件扩展名多为INI

(7).axf文件
初始输出文件,用于转化为.hex、.bin等最终输出文件。

2.2.2 芯片Pack包安装

参考“6、AT32官方资料\(1)教程\(1)AT32F435_437固件库BSP&Pack应用指南.pdf”的“2.2 Keil_v5 Pack 安装”

“6、AT32官方资料\Keil”下的Keil5_AT32MCU_AddOn.zip为AT32在MDK(或keil公司软件)下的pack压缩包(芯片支持文件包)。
具体版本见包内实际内容,安装步骤如
下:

  • ① 解压 Keil5_AT32MCU_AddOn.zip,里面包含了所有目前支持的 Keil5 pack 安装包,都是标准的
    Keil_v5 DFP 安装文件。
  • ② 选择所需系列的安装包,双击 ArteryTek.AT32xxxx_DFP.2.x.x.pack 完成一键式安装。
  • ⑤ 查看 Keil_v5 Pack 是否安装成功。按如下步骤操作和查看:
    • 点击魔术棒。
    • 选择 Device 选项卡。
    • 出现 ArteryTek 及相关型号信息。

图 2.2.2.1 查看 Keil_v5 Pack 安装情况
在这里插入图片描述

2.2.3 USB下载程序

(1)ISP

AT32的官方资料可以在https://www.arterytek.com/cn/product/AT32F435.jsp#Resource 中下载。

AT32官方提供的ISP工具是一个程序下载软件,

有UI界面(6、AT32官方资料\Tool_工具\Artery_ISP_Programmer_V2.0.08\Artery ISP Programmer_V2.0.08 下的ArteryISPProgrammer.exe)

命令行版本(6、AT32官方资料\Tool_工具\Artery_ISP_Console_Win_V3.0.05\Artery_ISP_Console_Win_V3.0.05 中的 AT32_ISP_Console.exe)

命令行版本要使用.bat批处理文件命令进行控制,在文件目录下DFU_download.bat等三个……download.bat文件就是分别使用usb_dfu、uart、I2C来下载程序用的。可以放在工程文件夹下使用,使用时先按住BOOT键上电启动进入Bootloader下载模式,然后双击DFU_download.bat即可,之后移植的AT32工程将使用到ISP。

鉴于UI界面版的ISP使用时步骤太多,之后的程序会使用命令行版本的ISP进行下载,ISP使用的命令参考:
6、AT32官方资料\Tool_工具\Artery_ISP_Console_Win_V3.0.05\Document

注意,要保证DFU_download.bat中的程序下载文件地址与工程生成的.bin文件一致。

(2)MDK生成.bin文件

为了使用命令行版本的ISP,需要工程输出.bin文件。如图2.2.3.1 ,“2”中的界面是设置编译过程中扩展运行的软件,“3”处表示编译后要运行的软件,勾选“3”处的“Run#1”,并在其后填入参数“fromelf --bin --output ./obj/template.bin ./obj/template.axf” (“Run#2”是生成反汇编文件用的,可以不用)

在这里插入图片描述

图2.2.3.1

参数中:

  • “template”是Keil工程的名字
  • “fromelf --bin --output”是MDK自带的一个软件及运行参数
  • “./obj/template.bin”中包含了要生成.bin文件相对于工程文件的位置
  • “./obj/template.axf”是包含初始输出文件的位置,可以在“魔术棒”(即options for target,目标选项)中的“Output”中设置。

(3)USB下载试验

由于AT32飞控没有RST按键,为了USB下载方便,可以考虑发一个带开关的USB延长线。


图2.2.3.2

这里进行USB下载的试验:

    1. 进入“2、飞控例程\1_LED”,先双击“删除过程文件.bat”清空工程过程文件。
    1. 双击打开“template.uvprojx”工程,并进行编译
    1. 按住BOOT键上电启动进入Bootloader下载模式“1_Download_by_usb.bat”开始下载程序,如图2.2.3.3所示:

在这里插入图片描述

图2.2.3.3

下载成功后飞控的两个LED会呈流水灯式的效果。

2.2.4 J-LINK OB下载与调试程序

(1) J-LINK OB调试器

目前AT32只支持AT-link与J-link调试器,而如J-link等调试器,具有下载程序、查看程序运行流程与变量值、查看芯片寄存器值等功能。说实话,在有能正常运行例程的情况下,除非你进行汇编与寄存器方面的开发,基本上也只会使用到程序下载的功能,在可以USB下载程序的情况下调试器并非是必需的。毕竟查看变量值什么的完全可以用串口发送,不过大型工程找bug还是有用的,而且其用来下载程序确实是更方便与快速。

对软件的下载与调试这里使用J-LINK OB(与普通J-link功能相同,但价格低的多),淘宝链接:
https://detail.tmall.com/item.htm?abbucket=19&id=670538147682&ns=1&spm=a21n57.1.0.0.63a4523ctkXFEb&skuId=5015440542446

在这里插入图片描述

图2.2.4.1

Jlink驱动安装,参考"5、软件资料/J-LINK OB全套资料"下文档,这里不再累述。

(2) 选择AT32的Jlink驱动设备

当使用AT32 keil工程设置Debug为jlink时可能会出现如下提示:

在这里插入图片描述

图2.2.4.2

该提示表示在Jlink驱动中查找不到AT32F435VMT7这个设备,这里先点击Yes来手动选择芯片设备。
然后会出现如下界面:

在这里插入图片描述

图2.2.4.3

这里 “Cotex-M4” -> “OK”。
至于具体原因,来看下AT32飞控参数:
CPU: AT32VMT7
主频: 288MHz
引脚: 100 Pin(“V”)
Flash: 4032 KB(“M”)
RAM: 384 KB
内核:32位ARM® Cortex®-M4内核
故选择Cotex-M4这个设备。

(3)调试中可能出现的问题

MDK Debug的使用具体可以参考“3、参考资料\STM32F1开发指南(精英版)-库函数版本_V1.2 .pdf”中的"3.4 程序下载与调试"小节。

使用Jlink调试过程中可能出现如下报错:

在这里插入图片描述

图2.2.4.4

其错误提示为:Encountered an improper argument(遇到不恰当的争论)

错误原因其实是在调试完结束时候,有断点(红色圆点)还没有去掉,所以一点击停止调试之后,keil就会马上弹出这个错误,然后你就会发现你的keil关不掉了。。。,别问我怎么知道的,因为我自己崩了不下二三十次,试了keil的两个不同版本都会出现这种情况(当然不是所有版本都这样,因为本人只试了两个版本),直到我发现只有把断点(红色圆点)全部去掉,关调试的时候才不会弹出这种提示和导致keil崩。新版本的Keil可能已经解决该问题。

解决方法:
如果想要规避这种情况的话,在你调试结束时候记得检查是否有断点没有去掉!!!重要的事说三次~

同时,这里跟你说一下,如果已经弹出如上图所示提示,keil可能已经崩了,正常是关不了了,我基本上是通过任务管理器强行关掉的。然后再打开工程就好,并且你再调试时候那个没有去掉的红点依然在,记得这次把点去了就好。

参考:https://blog.csdn.net/OMGMac/article/details/126614887

2.2.5 逻辑分析仪简介

比起调试器,逻辑分析仪这玩意儿是更实用的,其虽然只能测3.3V的引脚高低电平(0与1),但却有强大的通信协仪解析功能。开发SPI、IIC、USART传感器模块或者PWM、SVPWM什么的,绝对是利器。传统的逻辑分析仪老贵,但难不倒开源的前辈们,所谓“开源万岁,免费不贵!”,迷你的逻辑分析仪已经降到几十元了。动手能力强的当然可以自制一个,但以金钱换时间还是合算的。


图2.2.5.1

迷你nanoDLA逻辑分析仪工程链接:
https://github.com/wuxx/nanoDLA

或“5、软件资料\迷你nanoDLA逻辑分析仪”

淘宝链接:https://www.bilibili.com/video/BV1Rg411j7nn/?vd_source=39d30ee096c038b5a1df9425e13dde50

视频教程:https://www.bilibili.com/video/BV1Rg411j7nn/?vd_source=39d30ee096c038b5a1df9425e13dde50

2.2.6 资料简介

最后介绍一下AT32官方提供的资料与AT32飞控相关的资料。
两个资料分别位于“6、AT32官方资料”与“7、AT32飞控官方资料”中。
其中AT32官方的资料都可以在其官网中下载:
https://www.arterytek.com/cn/index.jsp

飞控使用芯片的资料在:“产品讯息” -》 “高性能MCU” -》 “AT32F435系列” -》 “下载资源”

即:https://www.arterytek.com/cn/product/AT32F435.jsp#Resource

    1. AT32官方资料
    • “(1)教程与文档”:
      含有AT32库函数的详细介绍的文档、AT32寄存器相关的手册、例程功能描述、FreeRTOS使用教程、AT32F435 引脚定义、AT32F435_入门指南及AT32各系列芯片的选型手册等。

    • “AN0025_FreeRTOS_on_AT32_MCU_V2.0.4”
      FreeRTOS相关例程与教程

    • “AT_START_F435_开发板”
      官方提供的基于立创EDA的AT32F435开源开发板。

    • “BSP_板级支持包_AT32F435”
      官方提供的AT32例程,以及FreeRTOS、USB等的Demo(示例)

    • “Keil”
      软件与芯片在Keil上的pack包(芯片支持文件包)

    • “Tool_工具”
      AT32下载工具与AT32官方IDE等。

    1. AT32飞控官方资料
    • “(1)AT32 飞控烧录指南”
      各版本固件与程序下载工具。

    • “AT32飞控 固定翼部分(INAVflight)”
      INAVflight相关的固件、地面站、说明书。

    • “AT32飞控PCB资料”
      AT32飞控PCB的Gerber生产文件、AT32飞控说明书。

    • “BF 最新地面站及新手入门教程”
      Betaflight相关固件

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值