求助: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条回答
yuangaoping
2019-12-17 12:09
你使用的是WIN8系统吧?

引用的这篇文章是我写的,之前这种方式做过大量的测试了,只有WIN8的系统没有测试,win8系统底层操作有很多奇葩的地方。

你分析的很仔细,如果真如你分析的,起始地址成了5800,那也没关系,把APP程序中偏移量修改为0x8800就可以了:
        NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8000);
修改为
        NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x8800);

一周热门 更多>