返回列表 发新帖我要提问本帖赏金: 30.00元(功能说明)

[APM32F4] 基于mbed-os APM32F407IG TINY板载DAPLINK烧录固件更新

[复制链接]
 楼主| DKENNY 发表于 2024-4-1 15:14 | 显示全部楼层 |阅读模式
<
本帖最后由 DKENNY 于 2024-4-3 08:52 编辑

#申请原创# @21小跑堂
   
    最近申请到了APM32F407IG-Tiny板,这块开发板做工不错,尤其自带了DAPLINK下载器,外设资源也挺丰富的,很适合做mbedos移植,并且mbedos官方stduio是有自带的DAPLINK烧录固件的,而如果我们要使用mbed studio开发的话,就需要手动改写板载的DAPLINK固件,那么怎么改写呢?这篇文档就简单介绍一下。

1、APM32F407IG 参数
     系统
       ·  Arm® Cortex®-M4F
       ·  工作主频168MHz
       ·  内置16个数据流的DMA
       ·  支持FPU和DSP指令
     存储
       ·  Flash512/1024KB
       ·  SRAM192+4KB
       ·  SDRAM2MB
     电源管理
       ·  工作电压 1.8~3.6V
       ·  支持上电/掉电/欠压复位
       ·  支持可编程电源电压检测器
     定时器
       ·  16位高级定时器:2
       ·  16/32位通用定时器:8/2
       ·  16位基本定时器:2
       ·  看门狗定时器:2
       ·  24位系统滴答定时器:1
     模拟外设
       ·  12位ADC:3,通道数:24
       ·  12位DAC: 1,双通道
     I/O
       ·  多达140个I/O
       ·  均可映射到外部中断向量
     通信外设
       ·  U(S)ART:6
       ·  I2C:3
       ·  SPI(I2S):3(2)
       ·  USB_OTG:3
       ·  CAN:2
       ·  SDIO:1
       ·  EMMC
       ·  Ethernet MAC:1EthernetMAC:1
image001.jpg

2、DAPLINK概述
      • Arm Mbed DAPLink 是一个开源软件项目,支持对在Arm Cortex CPU 上运行的应用软件进行编程和调试。DAPLink通常称为接口固件,在连接到应用MCU的SWD或JTAG端口的辅助MCU上运行。几乎所有开发板上都可以找到这种配置。枚举为USB 复合设备,它在开发计算机和 CPU调试访问端口之间创建桥接。DAPLink 使开发人员能够:
      •  MSC - 拖放式编程闪存
      •  CDC - 用于日志、跟踪和终端仿真的虚拟 com 端口
      •  CMSIS-DAPv2 WinUSB(无驱动程序供应商特定批量)- 符合 CMSIS 标准的调试通道
      •  CMSIS-DAPv1 HID - 符合CMSIS标准的调试通道
      •  WebUSB CMSIS-DAP HID - 符合CMSIS标准的调试通道

      它相比于F407自带的DAPLINK,多了拖拽式烧录以及串口集成这两个功能。

3、固件更新   

    在此之前,我们需要确保我们电脑已经安装好了git以及python(python3.7及以上)环境,这里就不在过多赘述git以及python的安装了。下面是git和python的官网网址,可去官网自行下载。(这里我只介绍了windows上固件更新的流程)
    git官网:https://git-scm.com
    python官网:https://www.python.org


3.1 固件所需资源
    1、APM32F407IG固件更新hex文件:https://github.com/GeehySemi/mbed-os-DAPLINK-Hardware
    2、DAPLINK源码获取:https://github.com/ARMmbed/DAPLink
    3、一根USB线,用于连接PC端与开发板
    4、两根杜邦线,用于连接 APM32 LINK 与 F407 开发板的串口
    5、用于固件烧录的工具(jlink等等)

3.2 固件更新步骤
3.2.1 参考APM32 LINK原理图,使用烧录器与开发板连接
image023.png

image025.png

我们接线,应该接靠近USB接口的那一堆排针,这个才是LINK的固件烧录接口,而上面的一排接口是APM32F407IG开发板的烧录接口。

3.2.2 接好线之后,打开烧写工具,我这里使用的是jflash,打开jflash工具,创建新工程 image041.png

3.2.3 搜索芯片选项,选择APM32F103CB
image043.png

3.2.4 修改Speed,改为200KHz

image045.png

3.2.5 点击"Connect"

image049.png

3.2.6 把准备好的bl.bin文件拖入jflash

image051.png

3.2.7 确认地址是0x08000000,点击OK

image053.png

3.2.8 擦除原来的固件

image055.png

3.2.9 下载新的固件

image057.png

3.2.10 运行新的固件

image059.png

3.2.11 用一根USB把PC和开发板连接,电脑就会识别出一个磁盘
image029.png

3.2.12 把准备的固件更新的hex文件直接拖拽至磁盘

image031.png

磁盘更改为DAPLINK则说明固件更新成功。
image033.png
并且可以点击查看里面的信息。

DAPLINK信息.png

3.3 验证固件更新
    我们可以从Geehy官网下载APM32F4系列官方SDK来验证固件是否更新成功。

3.3.1 打开ADC_AnalogWindowWatchdog,点击魔术棒,配置编译生成hex文件。
   
image035.png   

3.3.2 把生成的hex文件拖拽到生成的PC识别的磁盘中,可查看磁盘里面的信息,若没有FAIL.txt,则程序成功烧录。
    image037.png

3.3.3 把DAPLINK的RX、TX接口分别与PA9、PA10连接。打开串口调试助手,配置波特率为115200,复位开发板,串口若成功打印数据,则说明固件更新成功。

image039.png

    以上就是本次APM32F407IG-Tiny的DAPLINK固件更新的方法,如有问题,欢迎各位讨论交流。













打赏榜单

21小跑堂 打赏了 30.00 元 2024-04-10
理由:恭喜通过原创审核!期待您更多的原创作品~

评论

厉害,厉害学到了  发表于 2024-4-22 10:17
手把手教你更新APM32F407IG TINY板载DAPLINK烧录固件,过程极为详细,适合新手上手  发表于 2024-4-10 10:09
本贴部分文本重新更新  发表于 2024-4-2 18:50
guijial511 发表于 2024-4-12 07:57 来自手机 | 显示全部楼层
居然还有2MB SDRAM

评论

本贴同步一个视频链接,如果还是不能理解怎么更新固件的小伙伴,可去这个视频里查看哦:https://www.bilibili.com/video/BV1xx421m7qR/?vd_source=8bc025abd9ffee779c078fc851736fcf  发表于 2024-4-13 11:58
 楼主| DKENNY 发表于 2024-4-13 12:02 | 显示全部楼层
本贴同步一个视频链接,如果还是不能理解怎么更新固件的小伙伴,可去这个视频里查看哦:https://www.bilibili.com/video/BV1xx421m7qR/?vd_source=8bc025abd9ffee779c078fc851736fcf
xionghaoyun 发表于 2024-4-11 16:56 | 显示全部楼层
这么复杂 APM32F407IG开发板打扰了
OKAKAKO 发表于 2024-4-15 19:47 | 显示全部楼层
APM32F407IG-Tiny板,这块开发板做工不错,尤其自带了DAPLINK下载器
szt1993 发表于 2024-4-16 20:16 | 显示全部楼层
手把手更新APM32F407IG TINY板载DAPLINK烧录固件,过程极为详细
[鑫森淼焱垚] 发表于 2024-4-19 14:19 | 显示全部楼层
文章内容很详细,手把手。
点赞。
qiangtech 发表于 2024-4-25 15:30 | 显示全部楼层
烧录这个DAP LINK的固件后,不能使用CMSIS-DAP调试了吗
 楼主| DKENNY 发表于 2024-4-25 16:19 | 显示全部楼层
qiangtech 发表于 2024-4-25 15:30
烧录这个DAP LINK的固件后,不能使用CMSIS-DAP调试了吗

可以使用CMSIS-DAP调试,只是相比较原来的板载固件多了一个串口集成和拖拽式烧录功能,相当于做了一个功能拓展,CMSIS-DAP的原来基本功能依旧是可以使用的
qiangtech 发表于 2024-4-25 19:35 | 显示全部楼层
DKENNY 发表于 2024-4-25 16:19
可以使用CMSIS-DAP调试,只是相比较原来的板载固件多了一个串口集成和拖拽式烧录功能,相当于做了一个功 ...

但是我的KEIL的DEBUG里面选CMSIS-DAP调试器,却没有发现调试器呢?设备管理器里面是有一个DAPLINK的。
 楼主| DKENNY 发表于 2024-4-26 08:49 | 显示全部楼层
qiangtech 发表于 2024-4-25 19:35
但是我的KEIL的DEBUG里面选CMSIS-DAP调试器,却没有发现调试器呢?设备管理器里面是有一个DAPLINK的。 ...

你的固件更新后,识别的磁盘的序列号是1801开头的吗? details.png


正常来说,在接上USB线后,选择Debug,出现的序列号是跟details.txt文件对应的。如果没有识别出磁盘,或者序列号不对,检查一下固件更新的哪一步遗漏或者出错了,要不重新下载一次固件看看。我这里是可以正常识别的。
Keil CMSIS-DAP.png
qiangtech 发表于 2024-4-26 09:11 | 显示全部楼层
本帖最后由 qiangtech 于 2024-4-26 09:21 编辑
DKENNY 发表于 2024-4-26 08:49
你的固件更新后,识别的磁盘的序列号是1801开头的吗?

DETAILS.TXT里面是相同的。
QQ截图20240426090631.png

就是KEIL DEBUG 的CMSIS_DAP里面找不到调试器。
QQ截图20240426090649.png

设备管理器看到一个DAPLINK和一个串口。

QQ截图20240426090730.png
QQ截图20240426092107.png

可能是驱动的问题?

qiangtech 发表于 2024-4-26 09:35 | 显示全部楼层
在设备管理器中删除掉一个,就可以正常识别了。
QQ截图20240426093348.png

QQ截图20240426093238.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

59

主题

104

帖子

16

粉丝
快速回复 在线客服 返回列表 返回顶部