[STM32F1] usb Bootloader升级USB app

[复制链接]
4102|10
 楼主| yang4469 发表于 2014-11-10 15:19 | 显示全部楼层 |阅读模式
本帖最后由 yang4469 于 2014-11-11 10:07 编辑

调试了半天,卧槽,终于发现问题所在了
中断向量表是要设置,但是位置要对才行
丫的,各种说法都是加在main的最前面
NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x4000);
实际我是加在void SystemInit (void)函数内的最后面才调试通
原因在 中断向量表的设定.png IAP后的程序运行图.jpg
证明重新设定中断向量表的地址还要在main前面。。。。

评分

参与人数 1威望 +3 收起 理由
mmuuss586 + 3 赞一个!

查看全部评分

mmuuss586 发表于 2014-11-10 19:41 | 显示全部楼层

没试过这个功能;
谢谢楼主分享;
搞IT的 发表于 2014-11-12 23:45 | 显示全部楼层
解决就好,向楼主学习:lol:lol
Marco-Marco 发表于 2014-11-13 09:25 | 显示全部楼层
用dfu功能,在下app之前要先下一个类似IAP的工程到芯片做引导,能否共享一下改工程,我在网上暂时没搜索到。fae01@mcutech.net 何生,感谢。
清风致影 发表于 2014-11-13 10:57 | 显示全部楼层
一般我是用usb拷固件到单片机里进行升级  
isp直接用串口isp 嘿嘿
 楼主| yang4469 发表于 2014-11-13 11:15 | 显示全部楼层
本帖最后由 yang4469 于 2014-11-13 11:19 编辑
Marco-Marco 发表于 2014-11-13 09:25
用dfu功能,在下app之前要先下一个类似IAP的工程到芯片做引导,能否共享一下改工程,我在网上暂时没搜索到 ...

官网有dfu例子,https://bbs.21ic.com/icview-583006-1-1.html  这个连接里面也有,可以直接用(改USB上拉电阻对应的引脚算改动么
我的代码涉及到我编写的上位机,我还把通讯方式改了,不方便共享,官网带有DFU上位机的
App代码可以随便是哪个能在你板子上运行的usb程序,记得改地址和设置中断向量表
 楼主| yang4469 发表于 2014-11-13 11:15 | 显示全部楼层
清风致影 发表于 2014-11-13 10:57
一般我是用usb拷固件到单片机里进行升级  
isp直接用串口isp 嘿嘿

我这样做成产品后,出厂后只有usb口,可以远程升级了
sh007 发表于 2014-11-13 11:38 | 显示全部楼层
远程升级也想弄。。。。
拿起书本 发表于 2014-11-13 13:14 | 显示全部楼层
学习学习,我都是加一片FALSH芯片,模拟U盘,用户把升级文件拷到U盘里,重启就进入引导程序进行升级。
 楼主| yang4469 发表于 2014-11-13 13:30 | 显示全部楼层
拿起书本 发表于 2014-11-13 13:14
学习学习,我都是加一片FALSH芯片,模拟U盘,用户把升级文件拷到U盘里,重启就进入引导程序进行升级。 ...

模拟u盘也考虑过,也不用自己编写上位机了,但感觉不是很适合做成产品
 楼主| yang4469 发表于 2014-12-17 11:09 | 显示全部楼层
同时,keil里面编译的时候,app的设置必须把对应的地址设定好,这会影响编译生成的hex文件,如下图
APP keil config.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

267

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部