OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
楼主: 八度空间

STM32 DFU升级APP程序

  [复制链接]

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-7-31 15:08:49 | 显示全部楼层
回复【100楼】Azer:
---------------------------------
其实这里应该设置为BOOTLOAD所占的大小的,这一块是返回给上位机的数据,告诉他前N页的数据是BOOTLOAD,不要给我擦除了,所以上位机程序就不会对这几页擦除。而我们比较懒,就没改,反正APP程序已经设置到从那一块地址开始擦除开始写了,所以,设不设置为只读都无所谓。(这一切都是给上位机程序看的,你告诉他前多少页不能写,他就默认多少页不写,目的是保护DFU程序不被意外擦除。如图)。

正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-8-1 22:39:52 | 显示全部楼层
回复【101楼】兜兜里缺钱:
---------------------------------
专研的不错嘛
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

23

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2015-7-14
在线时间
76 小时
发表于 2015-8-3 09:18:46 | 显示全部楼层
回复【101楼】兜兜里缺钱:
---------------------------------
研究了800年我终于知道为什么我的程序无法成功下载了。
参考文档AN3156,f1系列中,只有105和107支持dfu下载。
得知这个真相的我的内心几乎是崩溃的。
回复 支持 反对

使用道具 举报

23

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2015-7-14
在线时间
76 小时
发表于 2015-8-3 09:21:14 | 显示全部楼层

f103并不支持dfu下载。真是粗心大意害死人。到头来是最根本的地方出了出了差错。希望各位同仁引以为戒,研究之前一定要先仔细阅读手册。
回复 支持 反对

使用道具 举报

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-8-3 09:59:07 | 显示全部楼层
回复【103楼】Azer:
---------------------------------
105,107是原生支持DFU下载,而我们是通过自己写代码支持。我的就是103呀,zet6,是可以下载的
回复 支持 反对

使用道具 举报

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-8-3 10:30:43 | 显示全部楼层
回复【102楼】八度空间:
---------------------------------
谢谢夸奖,我这一个月都在磨USB这一块,希望给吃透。
回复 支持 反对

使用道具 举报

23

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2015-7-14
在线时间
76 小时
发表于 2015-8-3 11:56:58 | 显示全部楼层
回复【105楼】兜兜里缺钱:
---------------------------------
那是什么情况?楼上说是系统问题,但是我也是用win7 32位的系统,用楼主的链接下载的dfu,始终无法解决提示bad state machine in firmware的问题。
回复 支持 反对

使用道具 举报

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-8-3 13:44:49 | 显示全部楼层
回复【107楼】Azer:
---------------------------------
估摸着你还是哪一块没用弄对,我自己根据USB 4.0库提供的例程改的也成功了呀,我也是WIN7 32位系统。和你的区别只有板子不一样。所以应该还是移植方面的问题吧

这是我根据八度大大的经验改的,你要做的就是重新配置外设IO以及细微的修改,当然还有很多问题。

DFU2.zip

3.27 MB, 下载次数: 319

回复 支持 反对

使用道具 举报

23

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2015-7-14
在线时间
76 小时
发表于 2015-8-4 12:00:40 | 显示全部楼层
回复【108楼】兜兜里缺钱:
---------------------------------
不会是因为64pin芯片的功能较100pin的少吗?
回复 支持 反对

使用道具 举报

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-8-4 13:00:54 | 显示全部楼层
回复【109楼】Azer:
---------------------------------
肯定不会,ST给的官方例程支持各式各样的芯片的。所要做的就是修改移植
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-4 14:26:37 | 显示全部楼层
为什么我把工程编译后烧到板子上后,连上USB上电后电脑还是没任何反应?
回复 支持 反对

使用道具 举报

23

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2015-7-14
在线时间
76 小时
发表于 2015-8-4 14:37:53 | 显示全部楼层
 回复【110楼】 兜兜里缺钱 :
---------------------------------
小弟愚钝,承蒙大哥如此讲解,还是无法成功移植。在此厚颜附上代码,望大哥指出错误。

STM32_DFU_Bootloader.rar

5.95 MB, 下载次数: 209

回复 支持 反对

使用道具 举报

23

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2015-7-14
在线时间
76 小时
发表于 2015-8-4 15:10:05 | 显示全部楼层
回复【110楼】兜兜里缺钱:
---------------------------------
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-4 17:40:50 | 显示全部楼层

出现这种问题是不是下载到IAP那部份的HEX文件有问题?
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-8-5 08:06:01 | 显示全部楼层
回复【106楼】兜兜里缺钱:
---------------------------------
我的103VET6和103ZET6都是可以用的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-8-5 09:54:35 | 显示全部楼层
回复【114楼】我偏偏喜欢苗:
---------------------------------
这个已经枚举成功了,只是没有装上位机的驱动,楼主的附件里有驱动程序
回复 支持 反对

使用道具 举报

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-8-5 10:19:39 | 显示全部楼层
回复【112楼】Azer:
---------------------------------
我随便改了一下,就是把我之前说的那些改了一下,你试一下看看。记住在需要下载进去的APP程序中起始地址要修改为 0x800 7800,size最大值为38800;然后别忘了加SCB->VTOR = FLASH_BASE | 0X7800; /* Vector Table Relocation in Internal FLASH. */

STM32_DFU_Bootloader微调.zip

11.87 MB, 下载次数: 723

回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-5 10:22:46 | 显示全部楼层
回复【116楼】兜兜里缺钱:
---------------------------------
谢谢,这个问题解决了,是我下完程序后忘记把BOOT0回拨了。
回复 支持 0 反对 1

使用道具 举报

23

主题

83

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
350
金钱
350
注册时间
2015-7-14
在线时间
76 小时
发表于 2015-8-5 10:43:50 | 显示全部楼层
回复【117楼】 兜兜里缺钱 :
---------------------------------
各种好使!受我一拜!!orz  OTZ
简直五体投地
但是我现在已经开始怀疑我的智商了。我印象之中已经按照你所说的全都进行修改了,到底是哪里没有改对呢?
回复 支持 反对

使用道具 举报

4

主题

106

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-7-16
在线时间
29 小时
发表于 2015-8-5 10:50:05 | 显示全部楼层
回复【119楼】Azer:
---------------------------------
我就是改了87L的东西,因为我之前出现这个问题也是和你一样的情况。
还有,我还修改了你的Main函数,因为我突然发现你这块芯片ram是48K,改了哪里,自己看吧。(我都提示到这份上了)
回复 支持 反对

使用道具 举报

27

主题

308

帖子

1

精华

高级会员

Rank: 4

积分
774
金钱
774
注册时间
2012-6-19
在线时间
19 小时
发表于 2015-8-11 18:01:08 | 显示全部楼层
顶楼主!!!!
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-13 09:59:36 | 显示全部楼层
回复【92楼】兜兜里缺钱:
---------------------------------
求解大神,我也是遇到 那个BAD STATE MACHINE IN FIRMWARE 请问要怎么解决呢
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-14 08:59:48 | 显示全部楼层
回复【120楼】兜兜里缺钱:
---------------------------------
求大神帮忙
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-14 15:17:40 | 显示全部楼层

程序成功下进去了,但是板子装上机器后,不是正常,是为什么?
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-14 16:03:30 | 显示全部楼层
我的板子不是开发板,并没有按键,然后应该怎么设置进入用户程序呢?
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-8-15 00:15:06 | 显示全部楼层
回复【125楼】我偏偏喜欢苗:
---------------------------------
飞一根线出来焊割按键来弄
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-15 09:19:56 | 显示全部楼层
回复【126楼】八度空间:
---------------------------------
但是我不懂要从哪接-- 我是小白
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-8-15 14:18:31 | 显示全部楼层
回复【127楼】我偏偏喜欢苗:
---------------------------------
哪个管脚空着就接哪个呗
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

3

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-7-30
在线时间
0 小时
发表于 2015-8-17 09:02:54 | 显示全部楼层
回复【128楼】八度空间:
---------------------------------
然后程序改成相应的管脚吗
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-8-18 12:34:29 | 显示全部楼层
回复【129楼】我偏偏喜欢苗:
---------------------------------
是啊
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

25

主题

180

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2015-1-14
在线时间
152 小时
发表于 2015-9-15 14:10:29 | 显示全部楼层
为什么将boot程序烧录进去提示电脑无法识别USB????谢谢
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-9-16 12:42:01 | 显示全部楼层
回复【131楼】Mrjiang:
---------------------------------
你用的楼主位代码?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

25

主题

180

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2015-1-14
在线时间
152 小时
发表于 2015-10-12 19:10:24 | 显示全部楼层
回复【132楼】八度空间:
---------------------------------
是的
回复 支持 反对

使用道具 举报

3

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2013-10-19
在线时间
4 小时
发表于 2015-10-21 21:14:54 | 显示全部楼层
楼主好东西,借鉴了。学习
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2014-12-13
在线时间
6 小时
发表于 2016-1-15 17:17:42 | 显示全部楼层
兜兜里缺钱 发表于 2015-7-30 12:59
回复【87楼】Azer:
---------------------------------
我就是把这个函数给改回去了,八度大大是直接返 ...

确实是这个问题,刚验证过!坑不小……
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-3-8
在线时间
8 小时
发表于 2016-3-14 17:05:02 | 显示全部楼层
您好,看了您的帖子让我收益匪浅,但是我想问一下为什么我把开发板的usb与电脑连接时,设备管理器中没有出现stm32 device in dfu mode呢?
ps:一开始是有的,但是电脑重新启动后就不出现了
还有一个问题是,app.hex文件先要生成.dfu文件然后是不是通过开发板的usb接口进行烧写,然后再按下reset按钮就可以执行了(当然,之前肯定要通过串口将booload烧写进开发板),但是之前我的usb口能够用的时候,我只要把开发板的usb口与电脑连接时,只看到其中有一个等实在不停的闪烁,经过验证是bootload中的程序在起作用。
您能不能跟我讲一下在将bootload通过串口烧进开发板后,每一步应该怎么做
让您费心了
回复 支持 0 反对 1

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-3-14 19:45:12 | 显示全部楼层
muyeshizi2016 发表于 2016-3-14 17:05
您好,看了您的帖子让我收益匪浅,但是我想问一下为什么我把开发板的usb与电脑连接时,设备管理器中没有出 ...

过程很简单的,bootload程序充当USB设备,检测数据流,将接收到的数据写入flash中,就这个过程,详细和串口IAP一样的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

15

主题

313

帖子

0

精华

高级会员

Rank: 4

积分
826
金钱
826
注册时间
2015-2-12
在线时间
346 小时
发表于 2016-3-15 12:42:49 | 显示全部楼层
谢谢分享。下载了。
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-3-8
在线时间
8 小时
发表于 2016-3-17 11:43:27 | 显示全部楼层
大哥,为什么我用您的程序这个地址(ApplicationAddress)会不合法呢?
ps:就是在这句判断中if(((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000),ApplicationAddress没有改过就是0x08030000
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-3-17 19:39:22 | 显示全部楼层
muyeshizi2016 发表于 2016-3-17 11:43
大哥,为什么我用您的程序这个地址(ApplicationAddress)会不合法呢?
ps:就是在这句判断中if(((*(__IO  ...

仿真没过?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-3-8
在线时间
8 小时
发表于 2016-3-18 08:52:06 | 显示全部楼层
大哥,这个是我的qq,麻烦您方便的时候叫我一下,这样子的沟通实在是太费劲了
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-3-8
在线时间
8 小时
发表于 2016-3-18 08:52:23 | 显示全部楼层
muyeshizi2016 发表于 2016-3-18 08:52
大哥,这个是我的qq,麻烦您方便的时候叫我一下,这样子的沟通实在是太费劲了

2289054390
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-3-8
在线时间
8 小时
发表于 2016-3-18 10:40:30 | 显示全部楼层
各位好,我现在在做一个通过USB来实现IAP,相必大家都听说过,现在我有一个问题就是在app工程的入口地址中
#define ApplicationAddress 0x08040000 //bootload工程中定义的app入口地址
   TA1R]PUYHNCMH6B__4NQRLW.png
                图1
图1中的if语句是从官网上下载的程序的if语句,如果按照这个条件来判断的话,ApplicationAddress 就是不合法的地址,会执行蓝色方框中的内容
但是这个时候,我将开发板的usb口与pc机相连时,pc机是可以识别该usb口,而且设备管理其中会出现如图2的内容
   TA1R]PUYHNCMH6B__4NQRLW.png
               图2
如果我把图1中if语句改成这样
   TA1R]PUYHNCMH6B__4NQRLW.png
             图3
就会出现两个问题:1、如图3箭头所示,程序会死在这里。2、这个时候如果将开发板的usb口与pc机相连时,pc机尽然没有办法是别该usb口。
这是为什么?希望大家帮帮忙
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2016-3-20
在线时间
4 小时
发表于 2016-3-20 13:45:09 | 显示全部楼层
菜鸟,过来看看
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-3-8
在线时间
8 小时
发表于 2016-3-21 14:59:17 | 显示全部楼层
sundali66 发表于 2014-5-30 18:47
回复【23楼】Badu_Space:
---------------------------------
请教楼主,我按照你上传的PDF和程序实验了一 ...

你的问题解决了吗
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-3-8
在线时间
8 小时
发表于 2016-3-21 15:02:27 | 显示全部楼层
microbai 发表于 2014-7-30 12:42
这个是我新电脑的截图,我还有一台XP也这样。。。板子是战舰板

你的问题解决了吗?
回复 支持 反对

使用道具 举报

11

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
271
金钱
271
注册时间
2012-5-11
在线时间
39 小时
发表于 2016-5-19 13:38:02 | 显示全部楼层
谢谢@八度空间 @兜兜里缺钱 !!!学习了!!
回复 支持 反对

使用道具 举报

15

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
306
金钱
306
注册时间
2013-11-4
在线时间
112 小时
发表于 2016-7-7 14:13:47 | 显示全部楼层
使用 八度空间 && 兜兜里缺钱,的方法,在WIN7 64位上可以使用,驱动和上位机用的都是楼主位的,非常感谢 @八度空间 @兜兜里缺钱
回复 支持 反对

使用道具 举报

0

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
325
金钱
325
注册时间
2014-8-15
在线时间
89 小时
发表于 2016-8-30 22:24:37 | 显示全部楼层
。。。。。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-8-30 22:27:50 | 显示全部楼层
guanxionghui 发表于 2016-8-30 22:24
。。。。。。。。。。。。。。。。。。。。

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 19:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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