STM32G474RB采用CMSIS-DAP烧写出现 content mismatch的解决办法

问题如下:

Load "F:\\rt-thread\\bsp\\stm32\\stm32g431-st-nucleo\\dist1\\stm32g431-st-nucleo\\build\\keil\\Obj\\rt-thread.axf" 
Erase Done.
Programming Done.
Contents mismatch at: 08000000H  (Flash=98H  Required=F8H) !
Contents mismatch at: 08000001H  (Flash=27H  Required=0FH) !
Contents mismatch at: 08000004H  (Flash=2DH  Required=C9H) !
Contents mismatch at: 08000005H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000008H  (Flash=35H  Required=D1H) !
Contents mismatch at: 08000009H  (Flash=03H  Required=02H) !
Contents mismatch at: 0800000CH  (Flash=4FH  Required=EBH) !
Contents mismatch at: 0800000DH  (Flash=04H  Required=03H) !
Contents mismatch at: 08000010H  (Flash=39H  Required=D5H) !
Contents mismatch at: 08000011H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000014H  (Flash=3BH  Required=D7H) !
Contents mismatch at: 08000015H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000018H  (Flash=3DH  Required=D9H) !
Contents mismatch at: 08000019H  (Flash=03H  Required=02H) !
Contents mismatch at: 0800002CH  (Flash=3FH  Required=DBH) !
Contents mismatch at: 0800002DH  (Flash=03H  Required=02H) !
Contents mismatch at: 08000030H  (Flash=41H  Required=DDH) !
Contents mismatch at: 08000031H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000038H  (Flash=9BH  Required=37H) !
Contents mismatch at: 0800003CH  (Flash=B9H  Required=71H) !
Contents mismatch at: 0800003DH  (Flash=68H  Required=26H) !
Contents mismatch at: 08000040H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000041H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000044H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000045H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000048H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000049H  (Flash=03H  Required=02H) !
Contents mismatch at: 0800004CH  (Flash=47H  Required=E3H) !
Contents mismatch at: 0800004DH  (Flash=03H  Required=02H) !
Contents mismatch at: 08000050H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000051H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000054H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000055H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000058H  (Flash=5BH  Required=B9H) !
Contents mismatch at: 08000059H  (Flash=39H  Required=09H) !
Contents mismatch at: 0800005CH  (Flash=A9H  Required=07H) !
Contents mismatch at: 0800005DH  (Flash=39H  Required=0AH) !
Contents mismatch at: 08000060H  (Flash=BBH  Required=19H) !
Contents mismatch at: 08000061H  (Flash=39H  Required=0AH) !
Contents mismatch at: 08000064H  (Flash=CDH  Required=2BH) !
Contents mismatch at: 08000065H  (Flash=39H  Required=0AH) !
Contents mismatch at: 08000068H  (Flash=DFH  Required=3DH) !
Contents mismatch at: 08000069H  (Flash=39H  Required=0AH) !
Contents mismatch at: 0800006CH  (Flash=31H  Required=E3H) !
Contents mismatch at: 0800006DH  (Flash=37H  Required=02H) !
Contents mismatch at: 08000070H  (Flash=49H  Required=E3H) !
Contents mismatch at: 08000071H  (Flash=37H  Required=02H) !
Contents mismatch at: 08000074H  (Flash=61H  Required=E3H) !
Contents mismatch at: 08000075H  (Flash=37H  Required=02H) !
Contents mismatch at: 08000078H  (Flash=79H  Required=E3H) !
Contents mismatch at: 08000079H  (Flash=37H  Required=02H) !
Contents mismatch at: 0800007CH  (Flash=91H  Required=E3H) !
Contents mismatch at: 0800007DH  (Flash=37H  Required=02H) !
Contents mismatch at: 08000080H  (Flash=A9H  Required=E3H) !
Contents mismatch at: 08000081H  (Flash=37H  Required=02H) !
Contents mismatch at: 08000084H  (Flash=C1H  Required=E3H) !
Contents mismatch at: 08000085H  (Flash=37H  Required=02H) !
Contents mismatch at: 08000088H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000089H  (Flash=03H  Required=02H) !
Contents mismatch at: 0800008CH  (Flash=47H  Required=E3H) !
Contents mismatch at: 0800008DH  (Flash=03H  Required=02H) !
Contents mismatch at: 08000090H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000091H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000094H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000095H  (Flash=03H  Required=02H) !
Contents mismatch at: 08000098H  (Flash=47H  Required=E3H) !
Contents mismatch at: 08000099H  (Flash=03H  Required=02H) !
Contents mismatch at: 0800009CH  (Flash=F1H  Required=4FH) !
Contents mismatch at: 0800009DH  (Flash=39H  Required=0AH) !
Contents mismatch at: 080000A0H  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000A1H  (Flash=03H  Required=02H) !
Contents mismatch at: 080000A4H  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000A5H  (Flash=03H  Required=02H) !
Contents mismatch at: 080000A8H  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000A9H  (Flash=03H  Required=02H) !
Contents mismatch at: 080000ACH  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000ADH  (Flash=03H  Required=02H) !
Contents mismatch at: 080000B0H  (Flash=1DH  Required=E3H) !
Contents mismatch at: 080000B1H  (Flash=6AH  Required=02H) !
Contents mismatch at: 080000B4H  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000B5H  (Flash=03H  Required=02H) !
Contents mismatch at: 080000B8H  (Flash=35H  Required=E3H) !
Contents mismatch at: 080000B9H  (Flash=6AH  Required=02H) !
Contents mismatch at: 080000BCH  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000BDH  (Flash=03H  Required=02H) !
Contents mismatch at: 080000C0H  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000C1H  (Flash=03H  Required=02H) !
Contents mismatch at: 080000C4H  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000C5H  (Flash=03H  Required=02H) !
Contents mismatch at: 080000C8H  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000C9H  (Flash=03H  Required=02H) !
Contents mismatch at: 080000CCH  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000CDH  (Flash=03H  Required=02H) !
Contents mismatch at: 080000D0H  (Flash=47H  Required=E3H) !
Contents mismatch at: 080000D1H  (Flash=03H  Required=02H) !
Contents mismatch at: 080000D4H  (Flash=71H  Required=8DH) !
Contents mismatch at: 080000D5H  (Flash=73H  Required=38H) !
Contents mismatch at: 080000D8H  (Flash=89H  Required=A5H) !
Contents mismatch at: 080000D9H  (Flash=73H  Required=38H) !
Contents mismatch at: 080000DCH  (Flash=A1H  Required=E3H) !
Too many errors to display !
Error: Flash Download failed  -  "Cortex-M4"

板卡刚SMT完首次上电下载正常,过了一天下载出现如上现象。查找了网上的各种说法,

大致有如下几种问题:

1、硬件复位异常,造成内部flash,无法正常使用;

2、Keil软件下载配置问题;

3、Keil版本或者DFP支持包版本问题;

排查步骤方法如下,

1、测量板卡的复位电平3.3V,且已经下载的程序仍然在运行;在下载程序前先按下硬件复位按键;

结果:无法解决如上问题。

2、借鉴其他的人出现该问题的解决办法,更改Keil的下载配置选项,操作步骤乳腺:

a、确认工程选择的器件是否正确:

b、确认选择下载目标flash是否正确:

结果,确认以上选项后,尝试一遍,问题仍然存在。

c、修改下载选项,去掉Verify勾选,

结果,修改完下载,现象不变。不能解决问题;

d、修改flash下载空间,将size修改为0x40000操作如下:

结果:不能解决问题。

3、尝试是否为DFP安装包问题,之前为Keil.STM32G4xx_DFP.1.2.0.pack版本不是最新状态,最新的为1.5.0,所以对DFP做了更新

结果:问题仍然存在。

     此时心里已做了最坏的打算,更换mcu,但是怕问题仍然存在,那就白白浪费,在那一刻突然灵光乍现,好像还有一个方法没有尝试,之前为了方便,我的稳压源同时供电着两个MCU板卡,而且我的现在方式采用的是无线下载,都连接在我的PC机上。

     想到了这一层,说做就做,拔掉了另一块板卡的工作,尝试下载,果然,问题解决。

      总结,其实在整个问题的排查的过程中,自己的方向一直是正确的,就是flash和工程不匹配的问题。

STM32 CMSIS-DAP驱动是用于支持STM32系列微控制器与CMSIS-DAP调试器之间进行通信和数据传输的软件程序。CMSIS-DAP是一种用于调试和编程ARM Cortex-M微控制器的通用调试接口。它可以与不同的开发环境和工具链集成,提供标准化的接口和功能,使开发者能够更方便地进行调试和程序下载。 STM32 CMSIS-DAP驱动实现了CMSIS-DAP协议规定的消息格式和命令,通过USB接口与主机计算机进行通信。它可以实现从主机到微控制器的数据传输,包括程序下载、断点设置、变量查看、寄存器读写等调试功能。 使用STM32 CMSIS-DAP驱动需要先安装驱动程序,并将调试器连接到微控制器的调试接口。在开发环境中配置CMSIS-DAP作为调试器,然后就可以使用开发环境提供的调试功能进行程序的调试和下载。 STM32 CMSIS-DAP驱动具有以下特点: 1. 支持广泛的STM32微控制器系列,提供统一的调试接口。 2. 可以与多种开发环境和调试工具链兼容,便于开发者选择。 3. 实现了CMSIS-DAP协议,提供了标准化的调试功能。 4. 通过USB接口进行数据传输,速度较快且稳定。 5. 支持常见的调试功能,包括下载程序、设置断点、查看变量、读写寄存器等。 总之,STM32 CMSIS-DAP驱动在STM32微控制器的开发过程中起到了重要的作用,它提供了一种统一、标准化的调试接口,方便开发者进行调试和程序下载操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值