stm32用MDK生成的bin文件内容与直接烧录到单片机内的内容不同
在用stm32l496芯片做bootloader时遇到了这个问题,bin文件是按照网上的方法设置生成的,设置状态如keil设置。
按照这个方式设置后用STM32 ST-LINK Utility软件将bin文件下载到0x8004000区域,但bootloader每次跳过去后就会卡住(bootloader采用的时延时一段时间后自动跳转)。
但如果直接用mdk下载到0x8004000区域的时候,bootloader就可以正常跳转并执行这段程序里的内容。
通过对比发现生成的bin文件和直接下载到单片机里的数据并不一样,生成的bin文件前几行的内容见bin文件数据
[color=rgba(0, 0, 0, 0.75)]c807 0020 4d02 0008 c31c 0008 671b 0008
[color=rgba(0, 0, 0, 0.75)]c11c 0008 4304 0008 d125 0008 0000 0000
[color=rgba(0, 0, 0, 0.75)]0000 0000 0000 0000 0000 0000 791f 0008
[color=rgba(0, 0, 0, 0.75)]4504 0008 0000 0000 c51c 0008 7b1f 0008
[color=rgba(0, 0, 0, 0.75)]6702 0008 6702 0008 6702 0008 6702 0008
这是下载到单片机flash内的数据见单片机flash数据
对比可以看到数据并不完全一致,比如第一行第6和第10个字节,bin文件生成的分别是0x02和0x1c,而单片机flash内却是0x42和0x5c,而且数据的长度也不一样。
我不知道为什么会产生这种现象,不知大家有没有遇到过,求帮忙指点下,谢谢
|