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

【经验分享】STM32G030J6芯片串口下载程序遇到的一个坑

[复制链接]
STMCU小助手 发布时间:2021-11-11 21:00
为什么是串口下载
5 Z3 W! Q4 R1 J; n& F/ o' d3 f博主因为图新鲜,看到这个有SO8N封装的32位单片机,很是感兴趣,就买了10个样片来耍耍.可是8脚迷你归迷你,如果用SWD调试方式的话,要浪费掉的引脚就太多了,而如果使用其自带的bootloader下载程序的话,至多只需占用一个BOOT0脚(没有BOOT1脚),想必是极好的.但没想到的是,博主两次尝试下载,均只能给芯片下载一次程序,之后便与芯片"失联",再也连接不上.# u% a0 F6 x/ n; {
如果你第一次使用这种芯片并对其串口下载程序,那么在你下载程序之前请一定阅读完此博客,以免芯片变成"一次性"芯片" G7 }1 `; m  f

. W  `- L9 {+ ~4 l. s遇到的问题&解决! n' R9 o( ~3 V( c* |
1.引脚的复用: _0 t4 ?6 Z$ d2 C1 n( p! f
如此mini的封装也必然带来了一些麻烦,如图是引脚功能的映射:  n) a' \, b0 K6 ^! V% G
20200128163508270.png
7 ?/ ~* I. U7 H- i. ]5 \$ p
1 h+ c5 o% m! K+ J$ J
乍一看其实是有点麻烦的 BOOT0脚与其它一些引脚复用,用于串口下载的PA10,PA9也被打上了括号那到底初始出厂的时候用的是哪个脚呢?这一点现在其实博主也不清楚,但是出厂时是可以用串口下载程序的(且不受8号引脚的控制后文会提).另外大家在用STM32CUBE与STM32CubeProgrammer时是可以配置的,具体请大家参考ST的官方资料.
+ ^9 @9 v" n4 A1 A( ^+ N4 T0 Y3 w/ A; l$ b8 x- ^# w) D7 `9 @  `4 N  a
"一次性"串口下载, f0 {, |! R. J* ]3 L
在博主参考完正常的stm32串口下载程序的方法后,博主天真的地以为只需要用BOOT0,BOOT1脚就可以控制G030J6的启动方式,然鹅一看封装觉得不对劲,怎么只有BOOT0,后来看了百度上STM32 BOOT0,1与启动方式的关系后发现似乎只需BOOT0就能控制是从Main Flash memory启动还是从System memory(bootloader程序所在地)启动,或许是ST对mini型的单片机做了简化呢.天真的博主就这样用STM32CubeIDE写好一个demo后急忙用flymcu给单片机下载程序并重启后,程序果然正确的跑了起来,但当博主再次把BOOT0至高重启妄图下载程序时,flymcu却死活连接不上芯片,折腾一天后,以为是引脚复用配置有问题,于是瞎配置了一阵后再次下载,于是…又报废了一个芯片(期间发现不论BOOT0置高还是拉低,在下载程序之前flymcu都能检测到芯片,这很不正常).后来多方查询资料后,谜团终于被解开!
3 B8 T: _/ j) @9 m5 e) b首先来看这副图表:6 q0 W8 O+ e- ^
0 s" X: z9 [% P0 H0 i/ M+ n
20200128170455555.png
+ j( m+ G6 Y4 \
/ r; H9 w8 G) I8 ~# @3 E
这幅图展示的其实才是STM32G030系列的启动方式映射表,可以看到只有当nBOOT_SEL位为0时,启动方式才与BOOT0 pin的值有关,另外也还有些别的寄存器,比如BOOT_LOCK(不过默认就是0).我们想要的就是由BOOT0 pin控制芯片在第1,2种状态间切换.6 `! q2 @% q% A9 J8 s5 E. U8 |
问题在于如何配置这些寄存器呢?直接写寄存器吗?太麻烦而且不太好看,通用性也不强.然而STM32CUBE里也没见着相关的配置,那怎么办呢,不能配置了吗?肯定是可以的,这里就要请出我们的大杀器STM32CubeProgrammer下载软件了.. J+ Z2 D, q; `# w3 S
使用这个专用的下载软件我们就能很方便地配置这些寄存器位了,如图:
) s. C3 F" }( {. @/ i- u% [- m& Z5 G& m, P) r& X+ u- c
20200128171417793.png

- p+ r: r" D8 c# s7 f+ \/ Y
7 D( ^  J7 t$ p1 f% J先正常用串口下载器连接电脑,然后点击左边栏第三个选项Option bytes进入图示页面,找到nBOOT_SEL把勾去掉,点apply就OK了,再次下载程序,我们发现进不进bootloader就由BOOT0脚说了算了!+ s' V7 N. Q. }& N0 k/ M4 d

3 Q0 ]6 r$ M3 y; g  u0 K, c3 w4 |% F" {9 O; _8 _3 x0 l% A& B+ e2 y- s0 u
' E8 R5 i" V3 b
8TQI%FSR(`CA97OCFXFHJ38.png
20200213090511608.jpg
20200213140513841.jpg
收藏 评论0 发布时间:2021-11-11 21:00

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版