: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真地址转跳不就行了?转载
|