MyCollege1999 2025-04-25 09:41 采纳率: 65.8%
浏览 287
已结题

STM32F1单片机烧录时Contents mismatch at 错误

现象:我在keil 5.20 烧录STM32F103ZET6芯片时,遇到如下错误,尝试降低烧写频率为100Khz还是如此。 改用脱机下载器P100可以正常烧录。但是脱机下载没有在线调试。所以还得用keil来烧录。请问有遇到过这样的问题吗?

compiling Bsp_Fan4_Outlet_FG.c...
linking...
Program Size: Code=51244 RO-data=1280 RW-data=14116 ZI-data=2732  
FromELF: creating hex file...
After Build - User command #1: C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output ./Bin/MCU.bin ./Objects/MCU.axf
".\Objects\MCU.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:26
Load "D:\\MCU.axf"
Set JLink Project File to "D:\JLinkSettings.ini"
* JLink Info: Device "STM32F103ZE" selected.

JLink info:
------------
DLL: V5.12e, compiled Apr 29 2016 15:03:58
Firmware: J-Link V9 compiled Jun  2 2222 22:22:22
Hardware: V9.60
S/N : 59611001
Feature(s) : GDB, RDI, FlashBP, FlashDL, JFlash, RDDI

* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found SWD-DP with ID 0x1BA01477
* JLink Info: Found Cortex-M3 r1p1, Little endian.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
* JLink Info: CoreSight components:
* JLink Info: ROMTbl 0 @ E00FF000
* JLink Info: ROMTbl 0 [0]: FFF0F000, CID: B105E00D, PID: 001BB000 SCS
* JLink Info: ROMTbl 0 [1]: FFF02000, CID: B105E00D, PID: 001BB002 DWT
* JLink Info: ROMTbl 0 [2]: FFF03000, CID: B105E00D, PID: 000BB003 FPB
* JLink Info: ROMTbl 0 [3]: FFF01000, CID: B105E00D, PID: 001BB001 ITM
* JLink Info: ROMTbl 0 [4]: FFF41000, CID: B105900D, PID: 001BB923 TPIU-Lite
* JLink Info: ROMTbl 0 [5]: FFF42000, CID: B105900D, PID: 101BB924 ETM-M3
ROMTableAddr = 0xE00FF000

Target info:
------------
Device: STM32F103ZE
VTarget = 3.337V
State of Pins:
TCK: 0, TDI: 0, TDO: 0, TMS: 1, TRES: 1, TRST: 0
Hardware-Breakpoints: 6
Software-Breakpoints: 8192
Watchpoints:          4
JTAG speed: 1000 kHz

Erase Done.
Programming Done.
Contents mismatch at: 0801AD80H  (Flash=02H  Required=C4H) !
Contents mismatch at: 0801AD81H  (Flash=21H  Required=45H) !
Contents mismatch at: 0801AD82H  (Flash=66H  Required=01H) !
Contents mismatch at: 0801AD83H  (Flash=48H  Required=D1H) !
Contents mismatch at: 0801AD84H  (Flash=FFH  Required=01H) !
Contents mismatch at: 0801AD85H  (Flash=F7H  Required=27H) !
Contents mismatch at: 0801AD86H  (Flash=D3H  Required=02H) !
Contents mismatch at: 0801AD87H  (Flash=FCH  Required=E0H) !
Contents mismatch at: 0801AD88H  (Flash=01H  Required=52H) !
Contents mismatch at: 0801AD89H  (Flash=28H  Required=1CH) !
Contents mismatch at: 0801AD8AH  (Flash=2CH  Required=B2H) !
Contents mismatch at: 0801AD8BH  (Flash=D1H  Required=42H) !
Contents mismatch at: 0801AD8CH  (Flash=02H  Required=F4H) !
Contents mismatch at: 0801AD8DH  (Flash=21H  Required=DBH) !
Contents mismatch at: 0801AD8EH  (Flash=63H  Required=00H) !
Contents mismatch at: 0801AD8FH  (Flash=48H  Required=BFH) !
Contents mismatch at: 0801AD90H  (Flash=FFH  Required=0FH) !
Contents mismatch at: 0801AD91H  (Flash=F7H  Required=B1H) !
Contents mismatch at: 0801AD92H  (Flash=99H  Required=00H) !
Contents mismatch at: 0801AD93H  (Flash=FCH  Required=27H) !
Contents mismatch at: 0801AD94H  (Flash=63H  Required=05H) !
Contents mismatch at: 0801AD95H  (Flash=48H  Required=E0H) !
Contents mismatch at: 0801AD96H  (Flash=00H  Required=10H) !
Contents mismatch at: 0801AD97H  (Flash=78H  Required=F8H) !
Contents mismatch at: 0801AD98H  (Flash=88H  Required=01H) !
Contents mismatch at: 0801AD99H  (Flash=B9H  Required=C0H) !
Contents mismatch at: 0801AD9AH  (Flash=60H  Required=00H) !
Contents mismatch at: 0801AD9BH  (Flash=48H  Required=F8H) !
Contents mismatch at: 0801AD9CH  (Flash=FFH  Required=03H) !
Contents mismatch at: 0801AD9DH  (Flash=F7H  Required=C0H) !
Contents mismatch at: 0801AD9EH  (Flash=B1H  Required=5BH) !
Contents mismatch at: 0801AD9FH  (Flash=FCH  Required=1CH) !
Contents mismatch at: 0801ADA0H  (Flash=04H  Required=00H) !
Contents mismatch at: 0801ADA1H  (Flash=46H  Required=BFH) !
Contents mismatch at: 0801ADA2H  (Flash=21H  Required=49H) !
Contents mismatch at: 0801ADA3H  (Flash=46H  Required=1CH) !
Contents mismatch at: 0801ADA4H  (Flash=00H  Required=A1H) !
Contents mismatch at: 0801ADA5H  (Flash=20H  Required=42H) !
Contents mismatch at: 0801ADA6H  (Flash=F7H  Required=E5H) !
Contents mismatch at: 0801ADA7H  (Flash=F7H  Required=DBH) !
Contents mismatch at: 0801ADA8H  (Flash=BBH  Required=4FH) !
Contents mismatch at: 0801ADA9H  (Flash=FBH  Required=F0H) !
Contents mismatch at: 0801ADAAH  (Flash=5FH  Required=00H) !
Contents mismatch at: 0801ADABH  (Flash=49H  Required=0CH) !
Contents mismatch at: 0801ADACH  (Flash=08H  Required=00H) !
Contents mismatch at: 0801ADADH  (Flash=61H  Required=F8H) !
Contents mismatch at: 0801ADAEH  (Flash=02H  Required=03H) !
Contents mismatch at: 0801ADAFH  (Flash=21H  Required=C0H) !
Contents mismatch at: 0801ADB0H  (Flash=5AH  Required=BDH) !
Contents mismatch at: 0801ADB1H  (Flash=48H  Required=E8H) !
Contents mismatch at: 0801ADB2H  (Flash=FFH  Required=F0H) !
Contents mismatch at: 0801ADB3H  (Flash=F7H  Required=81H) !
Contents mismatch at: 0801ADB4H  (Flash=79H  Required=10H) !
Contents mismatch at: 0801ADB5H  (Flash=FDH  Required=B5H) !
Contents mismatch at: 0801ADB6H  (Flash=01H  Required=00H) !
Contents mismatch at: 0801ADB7H  (Flash=20H  Required=F0H) !
Contents mismatch at: 0801ADB8H  (Flash=5AH  Required=83H) !
Contents mismatch at: 0801ADB9H  (Flash=49H  Required=F8H) !
Contents mismatch at: 0801ADBAH  (Flash=08H  Required=00H) !
Contents mismatch at: 0801ADBBH  (Flash=70H  Required=F0H) !
Contents mismatch at: 0801ADBDH  (Flash=E0H  Required=F8H) !
Contents mismatch at: 0801ADBEH  (Flash=57H  Required=00H) !
Contents mismatch at: 0801ADBFH  (Flash=48H  Required=F0H) !
Contents mismatch at: 0801ADC0H  (Flash=FFH  Required=8BH) !
Contents mismatch at: 0801ADC1H  (Flash=F7H  Required=F8H) !
Contents mismatch at: 0801ADC2H  (Flash=9FH  Required=07H) !
Contents mismatch at: 0801ADC3H  (Flash=FCH  Required=48H) !
Contents mismatch at: 0801ADC4H  (Flash=04H  Required=00H) !
Contents mismatch at: 0801ADC5H  (Flash=46H  Required=68H) !
Contents mismatch at: 0801ADC6H  (Flash=F5H  Required=03H) !
Contents mismatch at: 0801ADC7H  (Flash=F7H  Required=28H) !
Contents mismatch at: 0801ADC8H  (Flash=83H  Required=03H) !
Contents mismatch at: 0801ADC9H  (Flash=FFH  Required=D0H) !
Contents mismatch at: 0801ADCAH  (Flash=58H  Required=05H) !
Contents mismatch at: 0801ADCBH  (Flash=49H  Required=48H) !
Contents mismatch at: 0801ADCCH  (Flash=08H  Required=00H) !
Contents mismatch at: 0801ADCDH  (Flash=60H  Required=68H) !
Contents mismatch at: 0801ADCEH  (Flash=54H  Required=04H) !
Contents mismatch at: 0801ADCFH  (Flash=48H  Required=28H) !
Contents mismatch at: 0801ADD0H  (Flash=01H  Required=05H) !
Contents mismatch at: 0801ADD1H  (Flash=68H  Required=D1H) !
Contents mismatch at: 0801ADD3H  (Flash=20H  Required=F0H) !
Contents mismatch at: 0801ADD4H  (Flash=01H  Required=33H) !
Contents mismatch at: 0801ADD5H  (Flash=F0H  Required=F8H) !
Contents mismatch at: 0801ADD6H  (Flash=CAH  Required=00H) !
Contents mismatch at: 0801ADD7H  (Flash=FEH  Required=F0H) !
Contents mismatch at: 0801ADD8H  (Flash=00H  Required=47H) !
Contents mismatch at: 0801ADD9H  (Flash=21H  Required=F8H) !
Contents mismatch at: 0801ADDAH  (Flash=50H  Required=00H) !
Contents mismatch at: 0801ADDBH  (Flash=48H  Required=F0H) !
Contents mismatch at: 0801ADDCH  (Flash=FFH  Required=5BH) !
Contents mismatch at: 0801ADDDH  (Flash=F7H  Required=F8H) !
Contents mismatch at: 0801ADDEH  (Flash=64H  Required=10H) !
Contents mismatch at: 0801ADDFH  (Flash=FDH  Required=BDH) !
Contents mismatch at: 0801ADE0H  (Flash=00H  Required=94H) !
Contents mismatch at: 0801ADE1H  (Flash=20H  Required=26H) !
Contents mismatch at: 0801ADE2H  (Flash=50H  Required=00H) !
Contents mismatch at: 0801ADE3H  (Flash=49H  Required=20H) !
Contents mismatch at: 0801ADE4H  (Flash=08H  Required=10H) !
Contents mismatch at: 0801ADE5H  (Flash=70H  Required=B5H) !
Too many errors to display !
Error: Flash Download failed  -  "Cortex-M3"
Flash Load finished at 15:57:05


  • 写回答

4条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2025-04-25 09:54
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    在使用Keil 5.20对STM32F103ZET6芯片进行烧录时,如果出现内容不匹配的错误,很可能是由于多个因素导致的。在此为您详细分析并提供解决方案。

    问题分析

    您在烧录过程中遇到了以下关键错误信息:

    Contents mismatch at: 0801AD80H (<span>Flash=02H <span>Required=C4H) ! 
    

    这表明,烧录后 flash 存储器中的内容与预期的内容不一致,也就是所烧录的程序和指定程序的内容不相同。 该问题通常可能由以下原因引起: 1. 程序未正确编译/链接:生成的文件可能未包含您预期的程序代码。 2. 烧录速度过高:虽然您已经尝试将烧录频率降低到100KHz,但可能有其他相关的时序问题。 3. 硬件连接问题:如连接不良或引脚干扰等。 4. 电源问题:供电不足或者电源不稳定。 5. Flash 存储器的调试选项未正确配置:可能是在Keil中的设置不正确。

    解决方案

    以下是针对出现内容不匹配问题的解决措施: 1. 检查编译输出: - 确认在Keil中的编译和链接无误,确保生成的 .bin.hex 文件是最新的,并且内容符合预期。您可以使用 fromelf 工具查看文件内容。 2. 验证连接: - 确认您的J-Link和调试接口连接稳固。检查SWD接口和引脚,确保无短路和干扰。 3. 重新选择烧录频率: - 在Keil中尝试不同的烧录速度,例如200KHz或500KHz,看看是否解决问题。 4. 更新J-Link驱动: - 确保您的J-Link软件驱动程序是最新版,有时旧版本可能会导致兼容性问题。 5. 检查电源稳定性: - 确保开发板的电源供电稳定,电压在STM32F103ZET6所需的范围内(通常为3.3V)。 6. Erase Flash Before Programming: - 在Keil的烧录设置中,确保在编程之前执行擦除操作。 7. 使用详细调试信息: - 启用Keil的详细调试信息,这往往能提供更多的线索,帮助您识别问题。

    示例(代码和操作步骤)

    如果上述方法无效,可以考虑在Keil中插入以下步骤:

    // Code to initialize system, ensure you're using correct clock settings
    #include "stm32f10x.h"  // Adjust include as necessary
    void System_Init(void) {
        // Set clock speed, initialize peripherals here
    }
    int main(void) {
        System_Init();
        // Your application logic here
        while(1) {}
    }
    

    结论

    遇到烧录时的内容不一致问题可能有多个原因。通过逐步排查并采用上述措施,您应该能够找出问题并进行修复。如果这些步骤都未能解决问题,建议考虑其他编程工具或设备,或考虑咨询STM32的支持社区。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 1月7日
  • 已采纳回答 12月30日
  • 创建了问题 4月25日