求助: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真地址转跳不就行了?
你好 , “文件(0x0005000以前) ” 这是指什么
flash将物理地址0x08003000以后的空间划分到U盘.所以0x08003000就是U盘的首地址.在PC看来就是0x00000000.而FLASH写入只能是先一页的擦除.所以当格式化完成时.0x08003000(0x00000000)到一段地址是为FAT分区表.大概是到0x08008000(0x00005000)
按照道理当复制一个文件进入U盘时就应该从0x08008000开始(0x00005000).但是实际看啦并不是.而是从0x08008800开始(0x00005800)
这就解析了为什么当我转跳地址填0x08008000时 过不了第一条栈顶判断
一周热门 更多>