查看: 1098|回复: 0
打印 上一主题 下一主题

stm32f4 udb dfu 请教 ?

[复制链接]
跳转到指定楼层
沙发
发表于 2015-5-27 16:19:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前使用usb-dfu 来升级程序

单片机:stm32f407vet6      512k-flash

stm32f407vet6的dfu程序:







升级按键定义PD6,可以正常进入dfu模式,dfu的程序跳转地址定义 0x0800e000,

应用程序的起始地址也是 0x0800e000,
usb-dfu升级成功图片:

usb-dfu 地址设置:


目前的问题如下:

1、先使用jlink 下载 usb-dfu程序到单片机,再使用dfu来升级程序后,程序没有运行,硬件仿真usb-dfu程序时会跳转到“void HardFault_Handler(void)”  这个函数里面。
2、先使用jlink下载应用程序到单片机,再使用jlink下载dfu程序到单片机,应用程序能够正常运行,按pd6也能够进入dfu模式。使用dfu升级程序也能够正常运行,但是应用程序不能够做任何修改,否则下载到单片机
    的应用程序也不会运行(dfu程序跳到 void HardFault_Handler(void) 这里了),这是什么缘故 ??

3、先使用jlink下载usb-dfu程序到单片机,再使用jlink下载应用程序到单片机,应用程序也能够正常运行,按pd6按键也能够进入dfu模式,现在使用dfu升级应用程序也能够正常运行(任意下载n多次),但是应用程序不能够做任何修改,否则下载到单片机
    的应用程序也不会运行(dfu程序跳到 void HardFault_Handler(void) 这里了),这是什么缘故 ??
应用程序的启动地址设置:










转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表