STM32
直播中

哥儿

8年用户 825经验值
擅长:嵌入式技术
私信 关注
[问答]

用SWD对STM32G030C8T6的FLASH进行编程后系统不启动是怎么回事?

我用如下程序对STM32G030C8T6的FLASH进行编程:

    writeMem(DHCSR, 0xA05F0003);
    writeMem(DEMCR, 0x01);

   ......................................................

    Flash_programming();

   .......................................................

    writeMem(DHCSR, 0xA05F0000);
    writeMem(DEMCR, 0x00);

我必须用power-on reset. 系统才启动。用pin reset 系统无法运行




回帖(2)

陈忠阳

2024-3-22 11:08:50
这时候其实就是看你有没有接reset引脚
举报

赵辉

2024-3-22 14:19:02
可能是由于编程过程中对FLASH的操作导致了系统启动失败。具体原因可能涉及到以下几个方面:

1. 程序逻辑错误:检查Flash_programming()函数的具体实现,确保在编程过程中没有错误的操作或者逻辑错误。

2. FLASH编程保护问题:有可能在编程的过程中未正确配置FLASH编程保护位,导致系统无法正常启动。请参考芯片的数据手册或者参考文档,确保正确地配置了FLASH编程保护。

3. 电源或时钟问题:编程过程中可能存在电源或时钟异常,导致系统无法正常启动。建议检查电源和时钟电路,确保其正常工作。

4. 系统设置问题:可能对系统的配置或者启动过程有一些特殊的要求,例如需要初始化一些外设或者设置一些标志位才能正常启动。请参考芯片的数据手册或者参考文档,了解相关的系统启动和初始化要求。

需要进一步确认具体问题的解决方案,请提供更多关于Flash_programming()函数的代码实现以及 STM32G030C8T6 的相关配置信息。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分