一个硬件同事不知道从哪搞了一块STM32G031G8U6的野生板子过来,让我帮忙烧录调试,我一烧出现图1所示错误:
图1
这是因为烧录算法不对,以前我都是烧的stm32f1系列的单片机。我稍微研究了一下,弄出来怎么烧录这个stm32g0系列的了,下面给出步骤:
一、下载器件包
因为各个系列对应的烧录算法包含在对应的keil器件包里面
下载链接为:https://www.keil.com/dd2/pack/#!#third-party-download-dialog,或者扫图2的二维码也可以
图2
然后在页面里面搜索需要的器件包,如图3,我是分不清这三个,我就把这三个全部下下来了
图3
二、在keil中导入器件包
导入步骤参考图4
1.单击keil的pack installer按钮,弹出器件包安装器
2.点击File菜单在下拉列表中选择Import...,导入下载好的三个包
3.等待,会有个进度条,进度条可能会卡在35%不动,这是软件UI的bug不用管,等待提示完成即可
图4
三、选择器件 选择烧录算法
1.选择器件,不能选错了,先讲一下错误的选择,图5就是错误的选择,内核是对的,但是不是我们的器件。可别刨根问底问我为啥选对了内核不行,我也不知道为啥不行,反正选这个,后面在Debug选项里面将没有正确的flash烧录算法给你选择
图5
2.正确的选择器件方法,如图6,在ARM内核下面STMicroelectronics这个菜单,把ST的器件展开后选择自己用的单片机型号,然后点击OK,即完成了器件选择
图6
3.选择正确的flash烧录算法,如图7,对于我的器件来说,我看其它的大小都太不靠谱了,就盲猜的这个64kb,验证发现的确是对的
图7
三、经过以上两个步骤,就可以顺利进行STM32G031G8U6单片机的烧录了