打印
[STM32L4]

请教烧写新片子的问题

[复制链接]
306|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tyou|  楼主 | 2025-1-13 15:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新片子第一次prog写入elf,但是第一次无法自动运行,必须断电后才能正常运行,
而且,以后就可以一直写入新elf并直接运行,不必断电

这可能是什么问题,我记得好像STM32G0系列也有这个问题

附:
BOOT0 通过1M欧 接地,
STLINK V3 MiniE 接板子上3.3V

使用特权

评论回复
沙发
将爱藏于深海| | 2025-2-11 01:17 | 只看该作者
我觉得很可能与STM32的启动配置或复位机制有关

使用特权

评论回复
板凳
她已醉| | 2025-2-11 02:25 | 只看该作者
STM32系列芯片有多种启动方式,包括从主闪存(Main Flash memory)、系统存储区(System memory)或SRAM启动。启动方式通常由选项字节(option byte)和外部引脚(如BOOT0)共同决定

使用特权

评论回复
地板
失物招領| | 2025-2-11 03:16 | 只看该作者
在新片子首次烧写程序时,如果没有正确配置启动方式,可能会导致芯片从错误的内存区域启动,从而无法执行写入的程序。断电后,由于某些内部状态的重置,芯片可能恢复到正确的启动配置

使用特权

评论回复
5
春日负喧| | 2025-2-11 04:17 | 只看该作者
STM32的复位机制包括软件复位和硬件复位。软件复位通过写入寄存器或执行特定指令实现,而硬件复位则通过拉低RESET引脚实现

使用特权

评论回复
6
温室雏菊| | 2025-2-11 05:27 | 只看该作者
在烧录程序后,如果芯片没有通过正确的复位过程(如硬件复位),可能会导致程序无法正确初始化或运行。断电重启相当于执行了一个硬件复位,使芯片从头开始重新初始化

使用特权

评论回复
7
故意相遇| | 2025-2-11 06:34 | 只看该作者
虽然提到STLINK V3 MiniE接板子上3.3V,但连接问题(如接触不良、驱动不匹配等)仍可能导致烧录或复位过程出现异常

使用特权

评论回复
8
风凉| | 2025-2-11 07:33 | 只看该作者
如果存在其他配置错误或干扰,可能会影响启动过程

使用特权

评论回复
9
公羊子丹| | 2025-2-11 08:15 | 只看该作者
你这个现象我也遇到过,可能和芯片的上电复位有关。建议检查一下复位引脚的电路是否合理,可以加一个上拉电阻试试。

使用特权

评论回复
10
周半梅| | 2025-2-11 08:17 | 只看该作者
BOOT0已经接地了应该没问题,但你看看烧写工具设置里是不是勾选了“Reset after programming”或者类似选项,如果没勾选可能导致无法自动运行。

使用特权

评论回复
11
帛灿灿| | 2025-2-11 08:18 | 只看该作者
STM32L4和G0确实有类似问题,可能和Flash写入后的保护机制或上电时序有关,可以试试在程序中手动清除Flash写保护。

使用特权

评论回复
12
童雨竹| | 2025-2-11 08:19 | 只看该作者
我用ST-LINK Utility烧写的时候,如果不勾选“Run after programming”,也会出现这种情况。你可以换CubeProgrammer试一下,设置好自动运行。

使用特权

评论回复
13
万图| | 2025-2-11 08:20 | 只看该作者
STLINK V3 MiniE供电方面注意下,确保3.3V电源稳定。如果供电波动或不足,也可能导致上电无法正常运行。

使用特权

评论回复
14
Wordsworth| | 2025-2-11 08:21 | 只看该作者
可以试试在程序最开始添加 HAL_Delay(100) 延迟一段时间,看看是否能避免第一次无法运行的问题,可能是时序不对导致。

使用特权

评论回复
15
Bblythe| | 2025-2-11 08:23 | 只看该作者
你这个描述让我想到复位电路设计问题,建议测一下NRST引脚的波形,看复位信号是否正常释放。

使用特权

评论回复
16
白马过平川| | 2025-2-11 08:24 | 只看该作者
确保在烧写程序前,通过STM32CubeMX或其他工具正确配置了芯片的启动方式。检查选项字节设置,确保BOOT0BOOT1等引脚配置正确

使用特权

评论回复
17
Pulitzer| | 2025-2-11 08:24 | 只看该作者
我用STM32L4也遇到过类似问题,后来通过将调试接口从SWD改为JTAG解决了,可以尝试一下。

使用特权

评论回复
18
Uriah| | 2025-2-11 08:25 | 只看该作者
如果你用的是CubeMX生成代码,看看启动文件里是否正确配置了 SystemInit() 和时钟初始化,启动异常可能和初始化顺序也有关系。

使用特权

评论回复
19
Clyde011| | 2025-2-11 08:26 | 只看该作者
实在不行的话,可以试着更新一下ST-LINK固件版本,不同版本对一些新系列芯片的支持可能不一样。

使用特权

评论回复
20
捧一束彼岸花| | 2025-2-11 10:34 | 只看该作者
确保STLINK V3 MiniE与芯片的连接稳定可靠。检查驱动程序是否安装正确,确保STLINK V3 MiniE能够正常工作

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

99

帖子

3

粉丝