求助: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条回答
richards
1楼-- · 2019-12-12 17:09
 精彩回答 2  元偷偷看……
richards
2楼-- · 2019-12-12 22:38
我在想可否,用软件虚拟分区表,上层下来的数据直接往固定地址写入。
FlandreUNX
3楼-- · 2019-12-13 00:29
richards 发表于 2014-8-22 22:15
我在想可否,用软件虚拟分区表,上层下来的数据直接往固定地址写入。

分区表是上位机格式化时写进去的.自己下位机也可以写分区表..目前无论啥文件,除了System Volume Information这个文件夹和文件(0x0005000以前),其余都是从u盘地址0x005800开始写入..
按照我设置的U盘空间开端是STM32内部FLASH的0x08003000,加上U盘地址0x005800就是0x08008800...
FlandreUNX
4楼-- · 2019-12-13 04:11
htjgdw 发表于 2014-8-22 20:47
LPC1768有这样的虚拟U盘IAP程序,你可以参考。注:最近也想做LZ这样的程序。

一起研究..话说有没有地址给我看看LPC的
FlandreUNX
5楼-- · 2019-12-13 05:57
如图这个正确将BIN复制进U盘里面的情况 U盘地址是5800->0x08008800(0x08003000+0x00005800) 可是转跳地址设置成这个就无法转跳 会在Jump_To_Application(); 这一行程序执行时进入HardFault
FlandreUNX
6楼-- · 2019-12-13 09:15
 精彩回答 2  元偷偷看……

一周热门 更多>