[原创] DFU调试步骤和所遇到的问题

caesar.song   2012-10-11 09:15 楼主
DFU调试步骤
步骤可以参考3合1的stm32 usbiap 操作详解
需要注意的问题
官方usb DFU例程 需要修改  按键程序


  DFU_Button_Config(); 设置你开发板上的按键引脚
当接低电平时为DFU模式 可插入usb识别为STM32 Device in DEF Mode
软件版本为Dfuse Demo (v3.0.0) 详细如 3合1的stm32 usbiap所描述
有二 个问题一直没解决,就是在leave DFU mode中49%会出错 不过不影响程序运行
还有就是在下载很大的程序时候程序不能正常运行(用了我好长时间),正在找原因 可能是程序太大 加上DFU程序超过了flash的范围 我的是C8T6

正常运行程序时 让按键置高电平或者接高电平就行

希望大家能帮忙解决上面2个问题
所需资料如下[url="]附件[/url]


下面是网上搜索的资料

1.解压3in1_stm32.rar。
2.安装DfuSe_Demo_V2.2.1_Setup.exe。
3.打开G:\3in1_stm32\STM32_USB-DfuFs-Device_Upgrade\Project\usb_Device_Firmware_Upgrade\RVMDK\dfu.uv2
编译程序,用stlink将程序下载到3合1的STM32中。
4.选择STM32小板部分usb供电,用usb线连接STM32板,出现发现新硬件。
5.安装驱动,如果第二步默认安装的话,选择驱动C:\Program Files\STMicroelectronics\DfuSe\Driver\stdfu.inf
6.打开gpio工程,编译选项设置device 选择stm32f103c8    target 在IROM1 start处设置0x8003000    output 钩上create HEX File ok 设置好编译。
7.打开C:\Program Files\STMicroelectronics\DfuSe\BIN\dfufilemgr.exe 选择 I want to generate a dfu file from s19 ,hex or bin        ok        选择s19 or hex 选择gpio工程生成的gpio.hex      点击generate   保存为gpio.dfu
8.打开C:\Program Files\STMicroelectronics\DfuSe\BIN\dfusedemo.exe
按下那个板子上自带方向按钮,重新加电,如果驱动安装正确,会显示stm device in dfu mode
然后点击右下脚的choose,选择刚才生成的gpio.dfu
点击upgrade
ok
固件烧写成功。(注意:加电前请务必先按下那个板子上自带方向按钮,按下此按钮表示执行IAP应用程序,否则执行用户程序)
9.点击左上角的leave dfu mode,ok     是不是发现小板上的几个led灯在闪烁了。
10.呵呵,到此结束。
stm32内部有两个flash区域,一个是system flash,用于存放iap代码,该区域不对用户开放。一个是user flash,这个部分供用户使用。而system flash块固化了uart iap,这里的iap程序是用了部分user flash。所以IAP程序中有个判定,这里我用了3合1板上的那个joystick按钮,按下去的时候执行IAP程序,不按的话,程序跳转到0x8003000处执行。所以可以直接用3合1板子上的usb口直接下载程序到user flash的0x8003000以后的flash空间.

今天晚上尝试使用STM32的DFU功能。说白了就是USB版的IAP。不同于SST89XXX系列的IAP,需要自己先将IAP代码下载到0地址。而程序编译时则需选择在0地址外的非IAP代码区域。由于文件过大无法上传,需要的朋友可以上网上搜搜。关于使用也就不用我来写教程了吧,我也是看别人的教程学的,花了10多分钟。不过我也遇到在退出DFU模式时,发现也是49%出错问题。不知是不是DFU软件版本问题。还有一点就是第一次IAP是不用按任何按键。而第二次必须使PB.0按键接地(根据代码可修改,也就是所谓的按键更新代码功能)下载完后直接断开PB.0的地线。复位一下就可以看到代码的效果了。方便的DFU功能相对于串口的IAP而言是进步了不少,至少笔记本用户会很喜欢。近来无聊也不知道该干点什么。离高频和数电考试时间在拉近,复习是必要的...........

    dfuse3合一.7z (2012-10-11 09:15 上传)

    7.63 MB, 下载次数: 454

    内含一个demo 驱动3.0 和DFU

自信诚信,天道酬勤!

回复评论 (1)

回复 楼主 caesar.song 的帖子

我的板子 为什么usb无法被PC机识别啊
点赞  2012-12-27 14:17
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复