STM32 iap引导怪现象,版主帮看下?

[复制链接]
3886|6
 楼主| armhoo 发表于 2010-1-7 21:56 | 显示全部楼层 |阅读模式
我按官方的例子把IAP烧写进去,用IAP和串口对应用程序的bin也可以写入Flash正常,但是复位后运行hardfault。而如果我直接用IAR把.out文件写进去,也用这个IAP引导可以正常进入。这说明IAP没问题,我的应用程序也没问题,那是不是问题就在bin文件上呢?请版主指点?

环境:IAR5.4
IAP向量设置          0x08000000
应用程序向量设置  0x08002000
mohanwei 发表于 2010-1-7 22:00 | 显示全部楼层
检查一下你的bin是怎么生成,怎么下载的……
 楼主| armhoo 发表于 2010-1-7 22:46 | 显示全部楼层
读出flash中bin有点问题,
估计是没烧写成功,但是IAP程序为何会执行到
    SerialPutString("\n\n\r Programming Completed Successfully!\n\r--------------------------------\r\n Name: ");
    SerialPutString(file_name);
    Int2Str(Number, Size);
    SerialPutString("\n\r Size: ");
    SerialPutString(Number);
    SerialPutString(" Bytes\r\n");
    SerialPutString("-------------------\n");

执行上面几句时全速似乎有点问题,单步执行正确?不知为何?
 楼主| armhoo 发表于 2010-1-8 08:25 | 显示全部楼层
bin是IAR生成的,只需设置下IAR即可,
mohanwei 发表于 2010-1-8 08:31 | 显示全部楼层
那很可能是bin太大了,超过了0x08002000……导致后面的被你的用户程序覆盖了
 楼主| armhoo 发表于 2010-1-8 08:57 | 显示全部楼层
如果我直接用IAR把.out文件写进去,也用这个IAP引导可以正常进入
 楼主| armhoo 发表于 2010-1-20 08:44 | 显示全部楼层
原来IAR的BIN文件有问题,是IAR的BUG是5.40版本!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

61

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部