我在stm32f103c8上遇到了一个意想不到的问题。我正在对芯片编程,重置后,它开始运行程序,但几秒钟后,微控制器变得混乱,停止运行程序。之后,当我尝试对微控制器进行重新编程时,IDE(IAR EWARM)告诉我“目标保持在复位状态”。
这是一个非常不寻常的问题,因为有时当我将nRST引脚直接连接到VCC(3.3V)时,单片机运行程序,但不幸的是,电流超过120 It,芯片最终崩溃。
我使用STM32CubeMX生成代码,我的程序员是STLINK V2(克隆),也尝试了Jlink v8.0(克隆),但没有改变结果。
会不会是因为克隆程序员?
有人能帮我解决这个问题吗?
谢谢
发布于 2021-04-15 23:08:19
切勿将nRST直接连接到VDD/VCC。这是一种双向输入输出,只能连接到开漏/集电极开路信号。它可以从外部或内部拉低,除非通过内部上拉电阻,否则决不能拉高或拉高。
当调试器或程序员完成对闪存的编程并想要开始运行新程序时,它需要能够将这条线拉低,如果您在硬件中将这条线连接到它,它可能会在外部做到这一点,否则它必须能够使用内部复位脉冲发生器通过软件将其拉低。如果它这样做,并且您在外部将线路绑得很高,那么您实际上就是在短路您的电源,这是您观察到的过电流条件的原因。
也许最初的问题是,您的伪造ST-Link有其复位输出配置为推拉,而它应该是开漏。
我建议最简单的方法是不连接nRST线路,并将编程工具配置为仅使用软件重置。
https://stackoverflow.com/questions/67110386
复制相似问题