发新帖本帖赏金 30.00元(功能说明)我要提问
返回列表
打印
[APM32F4]

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

[复制链接]
3207|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

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原理图,使用烧录器与开发板连接




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

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

3.2.3 搜索芯片选项,选择APM32F103CB


3.2.4 修改Speed,改为200KHz



3.2.5 点击"Connect"



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



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



3.2.8 擦除原来的固件



3.2.9 下载新的固件



3.2.10 运行新的固件



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


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



磁盘更改为DAPLINK则说明固件更新成功。

并且可以点击查看里面的信息。



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

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

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

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



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













使用特权

评论回复

打赏榜单

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

评论
kai迪皮 2024-4-22 10:17 回复TA
厉害,厉害学到了 
21小跑堂 2024-4-10 10:09 回复TA
手把手教你更新APM32F407IG TINY板载DAPLINK烧录固件,过程极为详细,适合新手上手 
DKENNY 2024-4-2 18:50 回复TA
本贴部分文本重新更新 
来自 2楼
guijial511| | 2024-4-12 07:57 | 只看该作者
居然还有2MB SDRAM

使用特权

评论回复
评论
DKENNY 2024-4-13 11:58 回复TA
本贴同步一个视频链接,如果还是不能理解怎么更新固件的小伙伴,可去这个视频里查看哦:https://www.bilibili.com/video/BV1xx421m7qR/?vd_source=8bc025abd9ffee779c078fc851736fcf 
来自 3楼
DKENNY|  楼主 | 2024-4-13 12:02 | 只看该作者
本贴同步一个视频链接,如果还是不能理解怎么更新固件的小伙伴,可去这个视频里查看哦:https://www.bilibili.com/video/BV1xx421m7qR/?vd_source=8bc025abd9ffee779c078fc851736fcf

使用特权

评论回复
地板
xionghaoyun| | 2024-4-11 16:56 | 只看该作者
这么复杂 APM32F407IG开发板打扰了

使用特权

评论回复
5
OKAKAKO| | 2024-4-15 19:47 | 只看该作者
APM32F407IG-Tiny板,这块开发板做工不错,尤其自带了DAPLINK下载器

使用特权

评论回复
6
szt1993| | 2024-4-16 20:16 | 只看该作者
手把手更新APM32F407IG TINY板载DAPLINK烧录固件,过程极为详细

使用特权

评论回复
7
[鑫森淼焱垚]| | 2024-4-19 14:19 | 只看该作者
文章内容很详细,手把手。
点赞。

使用特权

评论回复
8
qiangtech| | 2024-4-25 15:30 | 只看该作者
烧录这个DAP LINK的固件后,不能使用CMSIS-DAP调试了吗

使用特权

评论回复
9
DKENNY|  楼主 | 2024-4-25 16:19 | 只看该作者
qiangtech 发表于 2024-4-25 15:30
烧录这个DAP LINK的固件后,不能使用CMSIS-DAP调试了吗

可以使用CMSIS-DAP调试,只是相比较原来的板载固件多了一个串口集成和拖拽式烧录功能,相当于做了一个功能拓展,CMSIS-DAP的原来基本功能依旧是可以使用的

使用特权

评论回复
10
qiangtech| | 2024-4-25 19:35 | 只看该作者
DKENNY 发表于 2024-4-25 16:19
可以使用CMSIS-DAP调试,只是相比较原来的板载固件多了一个串口集成和拖拽式烧录功能,相当于做了一个功 ...

但是我的KEIL的DEBUG里面选CMSIS-DAP调试器,却没有发现调试器呢?设备管理器里面是有一个DAPLINK的。

使用特权

评论回复
11
DKENNY|  楼主 | 2024-4-26 08:49 | 只看该作者
qiangtech 发表于 2024-4-25 19:35
但是我的KEIL的DEBUG里面选CMSIS-DAP调试器,却没有发现调试器呢?设备管理器里面是有一个DAPLINK的。 ...

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


正常来说,在接上USB线后,选择Debug,出现的序列号是跟details.txt文件对应的。如果没有识别出磁盘,或者序列号不对,检查一下固件更新的哪一步遗漏或者出错了,要不重新下载一次固件看看。我这里是可以正常识别的。

使用特权

评论回复
12
qiangtech| | 2024-4-26 09:11 | 只看该作者
本帖最后由 qiangtech 于 2024-4-26 09:21 编辑
DKENNY 发表于 2024-4-26 08:49
你的固件更新后,识别的磁盘的序列号是1801开头的吗?

DETAILS.TXT里面是相同的。


就是KEIL DEBUG 的CMSIS_DAP里面找不到调试器。


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




可能是驱动的问题?

使用特权

评论回复
13
qiangtech| | 2024-4-26 09:35 | 只看该作者
在设备管理器中删除掉一个,就可以正常识别了。



使用特权

评论回复
发新帖 本帖赏金 30.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

59

帖子

6

粉丝