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