求助:stm32 用内部flash虚拟u盘进行IAP

2019-12-11 18:39发布

求助:stm32 用内部flash虚拟u盘进行IAP

现在我虚拟出来了(stm32f103c8t6) iap程序8k 虚拟出来是52k,格式化后32k(1024字节)
转跳程序.png (16.48 KB, 下载次数: 0) 下载附件 转跳程序 2014-8-21 21:14 上传
iap_load_app(0x08008000);        无法转跳,直接进入IAP
iap_load_app(0x08008800); 死机



我直接将app程序强制写进0x08008000,iap转跳成功(IAP设置转跳地址为08008000)..

求助..为啥直接放bin不能转跳.bin不是直接可以读取的文件?我找到bin真地址转跳不就行了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
95条回答
FlandreUNX
2019-12-13 12:07
本帖最后由 FlandreUNX 于 2014-8-23 00:07 编辑

结束此帖子
自己解决了问题..
发现问题
1.MDK 编译BIN时路径打错.编译了未设置成转跳的APP 导致 中断向量表PC无法指向进图hault
2.模拟u盘程序的USB库过老 不兼容3.6的标准库 更新到4.0的USB库后根据官方例程修改实现.另外官方例程中usb_desc.c+desc.h要用自己的desc.c替换.不然下载后USB无法枚举 并且会将SWD卡死.只能ISP下载
3.转跳到APP前务必将总中断关闭.不然很容易进入HAULT
我上传一下我的IAP分享经验.看到很少人讨论.很心酸

IAP使用方法
本人是F103C8T6
判断按钮是否按下(上拉输入),按下则初始化USB
然后格式化U盘
将随意的修改好地址的APP编译成BIN放进U盘 接着重启
然后就完成了升级

希望以后能有更多人跟帖.讨论更多好玩而且安全的IAP Flash-Udisk-IAP.rar (513.75 KB, 下载次数: 565) 2014-8-23 00:07 上传 点击文件名下载附件



一周热门 更多>