求助: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
1楼-- · 2019-12-11 22:30
顶上去~
现在更新
文件读取没事了...但是当程序运行到
Jump_To_Application();
时会进入HardFault

eleqian
2楼-- · 2019-12-11 22:34
 精彩回答 2  元偷偷看……
FlandreUNX
3楼-- · 2019-12-12 03:08
eleqian 发表于 2014-8-22 19:14
编译bin的时候地址配置可好了么?格式化后用winhex手动改启动扇区可以将可用空间扩大到(总空间-1.5k)。
...

app编写时已经设置好开始地址
现在bin放进u盘时 地址位于u盘5800.我认为是flash的0x08008800 可是转跳就硬件中断了
eleqian
4楼-- · 2019-12-12 08:10
FlandreUNX 发表于 2014-8-22 19:48
app编写时已经设置好开始地址
现在bin放进u盘时 地址位于u盘5800.我认为是flash的0x08008800 可是转跳就 ...

是设置开始地址在0x08008800?bin编译时配置的地址必须和实际放的地址一致。
FlandreUNX
5楼-- · 2019-12-12 08:14
eleqian 发表于 2014-8-22 20:14
是设置开始地址在0x08008800?bin编译时配置的地址必须和实际放的地址一致。 ...

u盘开始地址是08003000  模拟成功后.连bin放进u盘就是8008800(用winhex查看u盘就是0x00005800开始看到bin). app设置这是8008800 转跳就死机了
htjgdw
6楼-- · 2019-12-12 13:28
LPC1768有这样的虚拟U盘IAP程序,你可以参考。注:最近也想做LZ这样的程序。

一周热门 更多>