你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 USB的DFU功能

[复制链接]
STMCU小助手 发布时间:2023-1-4 20:39
最近用到USB,后来发现了STM32F103可以程序实现DFU,在网上搜到代码对比官方文件发现是大容量FLASH的DFU,我用的是STM32F103C8T6,属于中容量。自己对着官方例程修改了网友的代码,改成中容量后可以使用DFU更新固件。修改过程中要注意几点: `9 A  T0 p5 x  d& y% M3 Z# v
  v* v3 K( T. J. D
1.在库函数“void SystemInit (void)”结尾处添加向量表偏移量,开全局中断(在dfu中关闭了中断,在此处打开)。如下图
! ~6 w2 ^! e8 S1 R" @
$ d3 E& C1 |# g, q
20160727104506954.jpg
6 u1 M- G1 K2 _' p

% Z$ D$ o! l9 p$ p6 I0 ^+ a" C+ I2.修改MDK app程序偏移量,如下图:(预留了20K FLASH给USB DFU使用,所以APP代码起始地址0x8005000)
. b# A; t0 l# y; ^+ o0 a+ R) f3 p* E
20160726170101543.jpg
1 y+ @# U5 J& Y, _$ |

4 \# j/ n% Z7 |2 c+ z) |1 {- b3.APP修改完成后,需要在DFU代码中修改APP跳转地址,如下图:
1 ]) |1 P& Q' `6 a4 P& p7 q' ^  L0 W
20160726170443769.jpg
2 @- Q$ w6 A  ]2 I 20160726170459753.jpg & k! F: t+ u8 e# F9 I% i4 y

$ a6 u; P' |' Q, [/ }0 ^修改完成后,使用官方的“DfuSe_Demo_V3.0_Setup.exe”软件下载即可。
* C" l4 h: k- h1 l7 g) j" d8 X2 x$ A7 J5 K! Q3 y) `, E/ C4 R
应用环境:下位机-STM32F103C8T6
3 X  r9 w- o; ?- \9 I5 F- b  DFU代码长度16K
/ x/ r, e; u! d( c3 l% CAPP代码长度27K(基于USB-HID类的发卡器)( c8 n5 L5 g5 _: h9 U
上位机-win7 旗舰版64位4 Q0 p' \: C4 ^; Y! \$ v
————————————————
1 [: u; f5 C& Q* v% K1 V* r: b$ a版权声明:芯创电子XC
2 i, r1 {( g4 X  L
; K( C% L" ^- m. r  [) ^
赞 收藏 评论0 发布时间:2023-1-4 20:39

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版