搜索
bottom↓
回复: 14

STM32G4系列单片机串口烧录遇到问题,烧录很麻烦。

[复制链接]

出0入0汤圆

发表于 2022-3-7 12:37:03 | 显示全部楼层 |阅读模式
目前我是用的是STM32G431CBT6,如果是使用第三方的串口烧录工具,比如MCUISP,以及本坛发的一些烧录下载工具,对于新的芯片,就是空片,可以烧录一次,再次烧录就会失败(出错在100%),自动停止烧录。然后擦除功能(只有全片擦除功能可以选择)用不了,无法擦除。后来我摸索出,这种情况下使用STM32cube_program工具,通过串口,选择所有扇区,然后擦除,才能擦除所有数据,也就可以使用MCUISP来再次串口下载了。现在问题是,STM32cube_program(最新版是V2.9)通过串口也仅仅只能选择所有扇区擦除,全片擦除也是不能正常工作,下载程序也会马上自动退出整个程序无法正常下载。目前这种方式,想把HEX文件发给客户自己通过串口下载,难度太大了,要两个软件配合,还有很多设置,还有可能出现其他意想不到的问题。估计是STM32G系列最新的防破解方法导致的。请问有没有谁研究出新的下载软件,可以全片擦除就行,实际不行也可以提供选择所有扇区擦除。另外,现在的离线下载器还不能支持STM32G4系列,G0系列的我还没有用不知道行不行。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出105入79汤圆

发表于 2022-3-8 02:18:07 | 显示全部楼层
1. 自己写bootloader
2. 内置boot试试 官方STM32CubeProgrammer

出0入1209汤圆

发表于 2022-3-8 03:30:09 | 显示全部楼层
用jlink多爽啊,擦除/下载都不是问题

出0入0汤圆

发表于 2022-3-8 09:07:56 | 显示全部楼层
就使用STM32cube_program一个应该没问题吧,客户不能用这个?

出0入18汤圆

发表于 2022-3-8 09:10:23 | 显示全部楼层
自己写boot吧

出0入0汤圆

 楼主| 发表于 2022-3-8 10:32:53 | 显示全部楼层
lwg8458 发表于 2022-3-8 09:07
就使用STM32cube_program一个应该没问题吧,客户不能用这个?
(引用自4楼)

我自己这边两台电脑,都是WIN7  64BIT系统,STM32cube_program一下载就自动退出

出100入113汤圆

发表于 2022-3-8 11:35:05 | 显示全部楼层
本帖最后由 saccapanna 于 2022-3-8 11:36 编辑

用专用烧录工具(SWD接口烧录)不爽吗?为什么要用串口下载这种另类的方式?
例如正点原子的烧录器,可以了解一下,看是否支持G4系列。
正点原子烧录器还是挺好用的。

另外,发给客户的升级包,不应该是加密的吗?这个必须自己写Bootloader啊……

出0入0汤圆

 楼主| 发表于 2022-3-8 13:24:44 | 显示全部楼层
看到很多人不理解为啥不用SWD接口烧录,实际我的情况是:SWD也用,但只是在调试的时候,或者板子还没装机,使用离线下载器对裸板烧录的时候用,也很方便快捷,串口烧录也不能少,可用于测试串口通讯硬件是否正常,而且机子是自带串口通讯功能,是有DB9接头引出来的,可以不用打开机壳烧录,可以发文件给客户自己更新升级软件。所以串口烧录功能是不能少的。

出0入75汤圆

发表于 2022-3-8 13:50:59 | 显示全部楼层
tclg 发表于 2022-3-8 13:24
看到很多人不理解为啥不用SWD接口烧录,实际我的情况是:SWD也用,但只是在调试的时候,或者板子还没装机, ...
(引用自8楼)

生产时用SW口,升级写个Bootloader就行了。
G系列从system memory引导,需要配置boot,具体内容可以看AN5096第三章。

出0入0汤圆

 楼主| 发表于 2022-3-8 14:43:38 | 显示全部楼层
Doding 发表于 2022-3-8 13:50
生产时用SW口,升级写个Bootloader就行了。
G系列从system memory引导,需要配置boot,具体内容可以看AN5 ...
(引用自9楼)

当然有控制BOOT的,通过串口烧录的时候可以控制DTR输出信号,将boot0置高,上位机都是可以读到MCU型号的,问题出在后面。

出0入75汤圆

发表于 2022-3-8 14:49:39 | 显示全部楼层
tclg 发表于 2022-3-8 14:43
当然有控制BOOT的,通过串口烧录的时候可以控制DTR输出信号,将boot0置高,上位机都是可以读到MCU型号的 ...
(引用自10楼)


不仅仅是BOOT脚,还有boot配置寄存器,默认配置空片从system memory引导,非空从main flash引导。
建议认真看一下芯片手册。

出0入0汤圆

 楼主| 发表于 2022-3-8 14:55:27 | 显示全部楼层
Doding 发表于 2022-3-8 14:49
不仅仅是BOOT脚,还有boot配置寄存器,默认配置空片从system memory引导,非空从main flash引导。
建议认 ...
(引用自11楼)

这就麻烦了,居然跟之前F系列不一样,看来现在的串口烧录软件都要更新了

出0入75汤圆

发表于 2022-3-8 14:57:44 | 显示全部楼层
本帖最后由 Doding 于 2022-3-8 14:59 编辑
tclg 发表于 2022-3-8 14:55
这就麻烦了,居然跟之前F系列不一样,看来现在的串口烧录软件都要更新了 ...
(引用自12楼)


都不是同系列了,当然不一样,要看手册。
和串口软件没关系,是你的程序没有设置nBoot_sel,也没用其他工具设置nBOOT_sel。
程序里设置读保护字节的时候,加上设置boot那部分就可以了,ST自己的工具里也有配置boot的选项。

出0入0汤圆

 楼主| 发表于 2022-3-8 15:18:00 | 显示全部楼层
目前的串口ISP软件都不支持G系列的全片擦除功能,自然无法把非空片变成空片,STM32CUBE_PROGRAM可以实现这个,但是STM32CUBE_PROGRAM通过串口下载要闪退,这个可能是我的操作系统的缘故,所以目前靠谱的解决办法就是在自己的程序里面最开始的地方加入代码设置boot那部分。就是程序一开始运行就首先设置nBoot_sel。现在用G系列的用户还比较少,网上这方面的资料很欠缺。我将在这里报告我的修改结果。

出90入372汤圆

发表于 2022-3-8 15:24:55 | 显示全部楼层
赞同9楼的建议,写个bootloader多好,随便找个串口就搞定了,我们也是这么用的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-29 09:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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