查看: 907|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
沙发
发表于 2015-9-18 10:51:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
:stm32 用内部flash虚拟u盘进行IAP

现在我虚拟出来了(stm32f103c8t6) iap程序8k 虚拟出来是52k,格式化后32k(1024字节)

放点小文档txt往里面写点东西.重新读取出来后提示文件损坏,但是放上些较大的文件又没事(右下图为U盘TXT地址)




接着就往u盘里放bin文件…可是死都不能转跳…

App程序地址设置成0x08008000
U盘开始地址0x08003000,3000-8000为电脑格式化化后的fat表..详细信息可以看看附件pdf

我用winhex查看u盘 发现bin文件不是从”u盘地址—5000(对应实际地址0x-8008000)”开始,而是5800(0x8008800)于是我尝试转跳地址设置成0x08008800,可是iap程序进入hault了


iap_load_app(0x08008000);        无法转跳,直接进入IAP
iap_load_app(0x08008800); 死机



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

求助..为啥直接放bin不能转跳.bin不是直接可以读取的文件?我找到bin真地址转跳不就行了?转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表