本帖最后由 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固件更新的方法,如有问题,欢迎各位讨论交流。
|
厉害,厉害学到了
手把手教你更新APM32F407IG TINY板载DAPLINK烧录固件,过程极为详细,适合新手上手
本贴部分文本重新更新