知芯下篇 | APM32F407工具链使用教程

cathy的头像
cathy 发布于:周三, 04/27/2022 - 14:18 ,关键词:

对于一款MCU而言,工具链的好坏将成为其市场表现的关键之一。使用工具链开发程序,工具链的功能完备性、界面友好性等因素将会直接影响用户的使用体验,再者,芯片性能的发挥,也很大程度依赖于编译器的性能。

为了让用户应用MCU完成应用系统方案的设计及验证,MCU厂商一般有两种方式提供支持:一是MCU厂商通过自身研发,提供全套平台工具,二是客户寻求第三方通用工具(如IAR等)支持。

极海半导体根据自身产品特色及应用领域要求,自主研发建成了一套完整的软硬件开发工具,可帮助用户缩短产品开发周期、提高产品稳定性,为客户在完成MCU应用开发工作的过程提供强有力的支持。

Geehy 工具链教程

> 准备工作

> 硬件准备
> Geehy-Link
> APM32 PROG
> USB转TTL模块
> APM32F0/1/4系列MCU 开发板

> 软件准备
> Keil uVision5(建议5.25以上版本)
> IAR EW for Arm 9.20.2

> APM32 PROG
> ISP Multiport Programmer
> DFUProgrammer
> APM32F0/1/4系列MCU SDK
> 以上Geehy相关的软件均可在Geehy资料下载获取([APM32微控制器 (geehy.com)](https://geehy.com/support/apm32))

· 1 Geehy-Link 使用教程

Geehy-LINK是一款仿真器和编程器一体化的开发工具,可以在Keil、IAR等集成开发环境下对APM32全系列MCU产品进行在线调试仿真。支持全速运行、单步调试、断点设置等各种调试方式。使用USB线连接电脑,连接成功后,设备管理器上会出现:Geehy DAP USB Device ,如下图

“知芯下篇

· 1.1 Keil MDK 下 配置Geehy-Link调试器

· 1.1.1 Pack支持安装

目标环境下需提前准备好Keil uVision5(建议5.25以上版本)环境,安装需要调试的APM32F0/1/4系列MCU 的Pack,安装方法(以APM32F407芯片为例)如下:

打开下载好的“APM32F4xx_SDK_V1.1\Package”下的Pack。

“知芯下篇

安装Pack(左键双击即可)至Keil的Pack安装目录(一般为默认路径即可)。

“知芯下篇

等待安装完毕。

“知芯下篇

1.1.2 配置Geehy-Link调试器

打开工程文件
“APM32F4xx_SDK_V1.1\Examples\SysTick\SysTick_TimeBase\Project\MDK\SysTick_TimeBase.uvprojx”后选择“Options for Target”选项卡

“知芯下篇

在“Debug”选项下载选择仿真器为“CMSIS-DAP Debugger”后选择“Setting”。

“知芯下篇

在“CMSIS-DAP Cortex-M Driver Setup”界面选择“Geehy CMSIS-DAP”(旧版本为“Apex CMSIS-DAP”)后点击“OK”。仿真器到此配置结束。

“知芯下篇

· 2 APM32PROG 使用教程

· 2.1 APM32PROG 软件上位机

下载好上位机软件 Apex-APM32-Setup.msi 后进行安装(安装界面省略),打开软件后连接APM32PROG,连接成功后上位机会读取当前APM32PROG的固件版本,如下图中最底部的红框。若当前APM32PROG的固件版本低于最新版本将会有更新固件版本信息提示。

“知芯下篇

整个APM32PROG 上位机的功能区域分为文件打开区域、配置区域(含序列号配置、配置写入)、离线或在线操作区域。APM32PROG配合上位机可以实现对目标MCU进行编程,读取,加解密等许多功能。下面以APM32F003F6P6为例介绍一下APM32PROG的离线下载及在线读取MCU的方法。其他功能读者可以此类推,根据软件帮助及使用说明书进行探索。

2.2 APM32PROG 离线编程

我们的芯片选型为APM32F003F6P6,该芯片仅支持SWD调试,我们的 APM32PROG配置如下图。

“知芯下篇

选择需要下载的hex(或bin)文件,

1.Product-Series APM32F003
2.Product-Type APM32F003F6P6

此时APM32PROG 上位机会弹出配置选项字节的窗口,有配置MCU选项字节需求的读者可以使用该功能,本次离线烧录暂未使用该功能,此处省略。

“知芯下篇

3.External-Power 选择 Power ON

4.Comm-Protocol 选择 SWD

5.BaseAddress 设置为 0x00000000

6.Operation-Mode 选择 Program

Serial-Number无需求暂时不配置。设置完以上配置后点击“Write-Config”,将配置写入至APM32PROG。然后点击“DownLoad(Offline)”下载程序至APM32PROG。此时配置信息及程序已下载至APM32PROG,接下来仅需为APM32PROG供电后连接目标芯片,然后点击烧录启动按钮,等待烧录提示灯变绿色即可完成离线烧录工作。

2.3 APM32PROG 在线读取

APM32PROG不仅可以完成对目标MCU的离线操作,还可以对MCU进行在线读取或其他操作。本小节将以APM32F003F6PU为例,读取我们上一节烧录的程序。

参数配置如前2.2小结,在读取的设置界面

1.StartAddress 设置为 0x00000000
2.Length(Bytes) 设置为 0x00008000

最后选择的操作为“Read(Online)”(APM32PROG需连接目标MCU与PC)即可读取目标目标MCU的起始地址为0x00000000,大小为0x8000 Bytes的内容。

“知芯下篇

等待读取进度条。

“知芯下篇

读取成功后弹出数据窗格界面,可点击“Save”按钮对读出的数据进行保存。

“知芯下篇

3 APM32 ISP Multiport Programmer & DFUProgrammer

3.1 关于 APM32 MCU的BootLoader

APM32F0/1/4与APM32E1系列MCU在出厂时都内置了一段BootLoader程序与系统存储区域,以方便用户通过ISP的方式对MCU进行程序下载、选项字节编程等操作。其中各芯片的BootLoader对支持升级的通信方式有所不同。

“知芯下篇

本小结将对常用的USART、USB的PC端工具使用进行较为基础的芯片连接、编程的使用方法进行介绍,更多内容欢迎至Geehy官网或技术支持工程师获取。

3.2 APM32 ISP Multiport Programmer

本小结将以APM32F103VBT6芯片为例,介绍 APM32 ISP Multiport Programmer 的基础功能--芯片编程与擦除。该软件可在Geehy官网获取(https://geehy.com/support/apm32?id=252)。

3.2.1 连接MCU前准备工作

由于 APM32 ISP Multiport Programmer与MCU通信方式是USART,所以这里我们需要使用USB转TTL模块将PC于MCU进行连接。接线方式如下。

“知芯下篇

完成接线后需安装相应的USB转TTL模块的驱动。驱动安装正常后会在“设备管理器”中看到有相应的“USB Serial Port”端口。

“知芯下篇

3.2.2 APM32 ISP Multiport Programmer 连接MCU

如3.1 小节的表格,APM32F103VBT6进入BootLoader需要将“Boot0接0、Boot1接1”(跳帽重新连接前MCU已上电情况下,需复位MCU)。完成所有的接线操作后打开安装好的APM32 ISP Multiport Programmer(安装过程略过)。

APM32 ISP Multiport Programmer连接MCU的一般过程如下,

1.点击 主界面下的加号 Add New Window 得到设置窗口

2.在设置窗口的COM下选择对应的系统USB Serial Port 我这里是COM3

3.在设置窗口的Bandrate下设置需要的波特率,我这里设置为 115200

4.在设置窗口的Timeout下设置连接超时时间,我这里设置为 2

5.最点击Setting下的Connect按钮完成对目标MCU的连接

“知芯下篇

连接成功后会在同一个界面显示当前连接芯片的信息,与可操作的一些选项。

“知芯下篇

3.2.3 APM32 ISP Multiport Programmer 下载程序

在3.2.2节,成功连接APM32F103VBT6芯片后,我们可以看到可操作项有许多,如:Erase Setting下可以选择对芯片进行全擦还是区域擦除。在Download File可以选择下载的文件,在Write Option Byte可选择对选项字节进行操作,在Download Setting可选择下载后的一些操作。

这里我们选择对APM32F103VBT6进行程序下载,采取全擦,选项字节不操作,下载后校验并执行程序。相关的设置界面如下所示。

“知芯下篇

完成以上选项勾选后点击“Execute”执行我们的设置。等待进度条走条完毕,我们可以在“Execute Result”窗口查看我们的操作log。

“知芯下篇

3.3 DFUProgrammer

该软件功能与APM32 ISP Multiport Programmer基本类似,只不过是其支持使用USB作为升级外设的MCU的软件。本小结将以APM32F407IGMINIBOARD演示DFUProgrammer的芯片程序读取功能。

3.3.1 连接MCU前准备工作

其安装包可以在Geehy官网获取(https://geehy.com/support/apm32?id=315),里面包括了软件的安装说明。

驱动正确安装后,将APM32F407IGMINIBOARD“Boot0接0、Boot1接1”(跳帽重新连接前MCU已上电情况下,需复位MCU)。使用USB线缆连接PC与开发板。此时我们会在设备管理器上看到在“通用串行总线控制器”下看到“APM32 Bootloader”设备。

“知芯下篇

3.3.2 DFUProgrammer 连接MCU

打开DFUProgrammer软件,若此时电脑已经连接好一个“APM32 Bootloader”设备,初始界面如下所示,若未找到设备点击“搜索设备”按钮即可搜索设备。点击“连接设备”按钮即可连接目标MCU。

“知芯下篇

目标MCU连接成功后,我们可以在log界面看到相应的提示信息。

“知芯下篇

3.3.3 DFUProgrammer 读取程序

点击左侧的“读取芯片”按钮来到芯片内容读取界面,在该界面可设置读取的芯片内容及大小,点击“读取芯片”按钮可读取相应的数据,点击“保存数据”按钮可保存数据至PC.

“知芯下篇

“知芯下篇

数据保存成功后可在log窗口得到数据保存成功信息。

“知芯下篇

至此程序读取操作完成。

来源:Geehy极海半导体
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 1089