本帖最后由 niu14789 于 2014-2-14 10:45 编辑
这个程序在是四个月前的一个项目上使用过的,今天整理电脑时发现了它,本着开源公享的精神把它贴出来
STM32F4 使用USBHOST实现的U盘IAP
程序上电之后会判断是否有U盘插入,如果没有则直接跳转,如果有U盘插入,接着会判断是否存在ROM.bin文件,如果存在则进行IAP
IAP程序区占用地址为 0x08000000~0x08040000
对应的用户程序起始地址就得进行更改
需要将要更新的程序转换为BIN文件并改名的ROM.bin保存到U盘中才能进行IAP
KEIL 中 生成 BIN文件的命令为
Output/OTG.axf为工程成生axf文件的地址,生成的OTGROM.bin文件保存在工程根目录下
在用户程序中,在中断初始之前要加入以下代码才能保证中断会正确的被响应。
设置中断向量表偏移地址。
程序中跟LCD相关的都可以删掉。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
试着编译了一下,有两个地方用汇编指令关中断 报error了。 可能是KEIL版本问题。
__asm("CPSID I");
error #1113: Inline assembler not permitted when generating Thumb code
一周热门 更多>