【应用笔记】AN1080_APM32_工具链使用指南(已更新V1.1)

  1. 引言

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

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

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

本应用笔记提供极海软硬件工具基础使用指导,包括Geehy-Link、APM32PROG、APM32 ISP Multiport Programmer 与 DFUProgrammer的连接、配置操作流程指南。

  1. 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产品进行在线调试仿真。支持全速运行、单步调试、断点设置等各种调试方式。

图 1 官网上的Geehy-Link链接

使用USB线将Geehy-LINK连接电脑,连接成功后,设备管理器上会出现:Geehy DAP USB Device ,如下图

图 2 设备管理器中的Geehy DAP USBDevice

    1. Keil MDK 下 配置Geehy-Link调试器
      1. Pack支持安装

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

打开下载好的“APM32F00x_SDK_v1.2\Package”下的Pack。

图 3 选中SDK文件中的pack文件

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

图 4 安装目录示例

等待安装完毕。

图 5 安装完毕示例

      1. 配置Geehy-Link调试器

打开工程文件“APM32F00x_SDK_v1.2\Examples\SysTick\SysTick\Project\MDK\SysTick.uvprojx”后选择“Options for Target”选项卡。

图 6 选择”Options for target…”选项卡

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

图 7 选择”CMSIS-DAP Debugger”后选择”Settiongs”

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

图 8 选择”Geehy CMSIS-DAP”后点击”OK”

      1. IAR EW for Arm 下 配置Geehy-Link调试器

打开工程文件“APM32F00x_SDK_v1.2\Examples\SysTick\SysTick\Project\IAR\SysTick.eww”后选择“Options ”选项卡。

图 9 打开工程文件后选择”Options”

在“Debugger”中选择“CMSIS DAP”仿真器后点击“OK”。

图 10 选择”CMSIS-DAP”后点击”OK”

  1. APM2PROG 使用教程
    1. APM32PROG 软件上位机

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

图 11 APM32 PROG功能区域

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

    1. APM32PROG 离线编程

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

图 12 APM32F003F6P6 APM32 PROG配置

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

       1. Product-Series APM32F003

       2. Product-Type APM32F003F6P6

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

图 13 配置选项字节窗口

       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供电后连接目标芯片,然后点击烧录启动按钮,等待烧录提示灯变绿色即可完成离线烧录工作。

    1. APM32PROG 在线读取

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

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

       1. StartAddress  设置为  0x00000000

      2. Length(Bytes) 设置为  0x00008000 

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

图 14 读取烧录的程序

等待读取进度条。

图 15 读取进度条

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

图 16 数据窗格界面

  1. APM32 ISP Multiport Programmer & DFUProgrammer
    1. 关于 APM32 MCU的BootLoader

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

表格 1 各芯片通信方式

通用MCU系列

是否支持ISP升级

支持接口

BootLoader进入方式

APM32F003x4x6

-

-

APM32F030x8/051x8

USART(PA9/PA10、PA14/PA15)

Boot0接1

APM32F030xC/091xC

USART(PA9/PA10、PA14/PA15)
I2C

Boot0接1

APM32F072xB

USB(PA11/PA12)
USART(PA9/PA10、PA14/PA15)
I2C(PB6/PB7)

Boot0接1

APM32F103xBxCxE

USART(PA9/PA10)

Boot0接1、Boot1接0

APM32F405xG APM32F407xExG

APM32F415xG

APM32F417xExG

USB(PA11/PA12)
USART(PA9/PA10、PB11/PB12、PC11/PC12)
CAN(PB5/PB13)

Boot0接1、Boot1接0

APM32E103xE

USART(PA9/PA10)

Boot0接1、Boot1接0

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

    1. APM32 ISP Multiport Programmer

本小结将以APM32F103VBT6芯片为例,介绍 APM32 ISP Multiport Programmer 的基础功能--芯片编程与擦除。该软件可在Geehy官网获取。

      1. 连接MCU前准备工作

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

表格 2 接线方式

PC

USB转TTL

APM32F103VBT6 MINIBOARD

USB

USB

TX

PA10

RX

PA9

GND

GND

VCC

VCC

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

图 17 “设备管理器”中的”USB Serial Port”端口

      1. APM32 ISP Multiport Programmer 连接MCU

如5.1小节的表格,APM32F103VBT6进入BootLoader需要将“Boot0接1、Boot1接0”(跳帽重新连接前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的连接

图 18 连接MCU

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

图 19 当前连接芯片的信息与可操作选项

      1. APM32 ISP Multiport Programmer 下载程序

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

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

图 20 设置页面

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

图 21 “Execute Result”窗口

    1. DFUProgrammer

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

      1. 连接MCU前准备工作

其安装包可以在Geehy官网获取。里面包括了软件的安装说明。

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

图 22 “设备管理器”界面的”APM32 Bootloader”

      1. DFUProgrammer 连接MCU

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

图 23 DFUProgrammer软件主界面

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

图 24 设备成功连接状态

      1. DFUProgrammer 读取程序

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

图 25 读取芯片

图 26 保存数据至PC

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

图 27 数据保存成功

至此程序读取操作完成。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: STM32Cube_FW_F1_v1.8.0是由STMicroelectronics开发的一款软件包,用于支持STM32F1系列微控制器的开发。该软件包包含了各种驱动库、中间件和示例代码,旨在帮助开发者快速构建应用程序。 STM32Cube_FW_F1_v1.8.0提供了丰富的功能模块,包括通用外设模块(如GPIO、UART、SPI、I2C等)和专用外设模块(如定时器、DMA、ADC等)。用户可以根据具体需求选择所需模块,并通过库函数进行配置和控制。该软件包还提供了一套易于使用的图形化界面工具,可以帮助用户快速初始化和配置微控制器,提高开发效率。 此外,STM32Cube_FW_F1_v1.8.0还集成了一些常用中间件和协议栈,例如文件系统(FATFS)、USB协议栈(USB_HOST和USB_DEVICE)和TCP/IP协议栈(LwIP)。这些中间件可以方便地集成到应用程序中,提供更强大的功能和更灵活的通信接口。 该软件包还提供了大量的示例代码,涵盖了各种应用场景,包括串口通信、网络通信、数据存储等。这些示例代码可以作为开发者的起点,帮助他们理解和学习如何使用STM32F1系列微控制器开发应用程序。 总之,STM32Cube_FW_F1_v1.8.0是一款功能强大、易于使用的软件包,为STM32F1系列微控制器的开发提供了全面的支持。无论是初学者还是经验丰富的开发者,都可以从中受益,并快速构建高性能的应用程序。 ### 回答2: STM32Cube_FW_F1_V1.8.0是STMicroelectronics(意法半导体)为STM32F1系列微控制器设计的嵌入式软件包。这个软件包是基于STM32Cube软件开发平台,为开发人员提供了一个完整的软件解决方案,用于快速开发STM32F1系列微控制器的应用程序。 STM32Cube_FW_F1_V1.8.0包含了一系列的驱动程序、中间件组件和示例代码,可以方便地集成到用户的应用程序中。这些组件包括了GPIO、UART、SPI、I2C、定时器等外设驱动程序,以及文件系统、USB设备、USB主机、TCP/IP等中间件组件。用户只需要根据自己的需求选择合适的组件来开发自己的应用程序。 STM32Cube_FW_F1_V1.8.0还包括了一些示例代码和工程模板,可以帮助开发人员更快地上手。示例代码涵盖了各个外设和中间件的使用方法,可以作为开发参考和学习资料。工程模板则提供了一个初始的工程结构,可以直接用于开发新的应用程序。 除了软件包本身,STM32Cube_FW_F1_V1.8.0还提供了一些工具和文档,帮助开发人员进行开发和调试。其中包括了CubeMX配置工具,用于配置微控制器的引脚和时钟设置;以及UM的参考手册、应用笔记和编程手册等文档,提供了详细的开发指导和信息。 总之,STM32Cube_FW_F1_V1.8.0是一个功能强大的嵌入式软件包,为开发人员提供了丰富的驱动程序、中间件组件和示例代码,可以大大简化STM32F1系列微控制器的应用程序开发过程。无论是初学者还是有经验的开发人员,都可以从中受益并快速实现自己的应用。 ### 回答3: STM32Cube_FW_F1是STMicroelectronics公司推出的嵌入式软件包,用于支持STM32F1系列微控制器的开发。版本号为1.8.0。 STM32Cube_FW_F1提供了丰富的软件库和例程,包括标准外设驱动程序、中间件和操作系统,以及用于快速启动新项目的代码生成器。该软件包包括了各种功能模块的驱动程序,如GPIO、UART、SPI、I2C、定时器等。而中间件方面,STM32Cube_FW_F1还提供了USB、文件系统、TCP/IP协议栈等。此外,该软件包兼容常用的开发环境,如Keil MDK和IAR Embedded Workbench。 使用STM32Cube_FW_F1可以极大地简化嵌入式系统的开发过程,减少开发时间和工作量。开发人员可以使用提供的例程和代码生成器快速构建原型,并通过简单的配置和修改适配不同的硬件或软件功能。 从版本号来看,v1.8.0是该软件包的第一个大版本的第八个次版本。通常,新版本的发布会包含一些新功能、优化和修复的bug。因此,如果您正在使用旧版本的STM32Cube_FW_F1,升级到v1.8.0可能会带来一些改进和额外的功能。 总之,STM32Cube_FW_F1是一个强大而全面的嵌入式软件包,可以帮助开发人员更轻松地开发STM32F1系列微控制器的应用程序。版本v1.8.0可能是相对较新的版本,具有更新的功能和改进。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值