xinnian-400985 发表于 2018-10-25 15:10:02

STM32F103VC芯片仿真下载一次程序后就再也下载不了程序

近期在调试STM32F103VC芯片时,下载程序并仿真,下载一次后,再也下载不了,连续焊了3块板都是这样的情况,以前的板是没有这样的情况出现。百度了一下,可能是使用了boot1(PB2)引脚引起,我认为是这种情况引起的,因我是改版后的PCB板使用了该引脚PB2。
                              

请问版主和各位大侠,出现这样情况,怎样才能使芯片恢复正常调试和仿真程序的功能?
谢谢!

toofree 发表于 2018-10-25 15:30:00

第一次可以下载,之后就不能下载的话,是JTAG信号被重映射为别的功能了。
一般不管boot0、boot1是什么状态,只要连上JTAG,就可以下载。在用JTAG下载或仿真时,是无视boot0、1状态的。
你把复位信号给Jlink接上,让Jlink强行硬复位MCU,立即进入JTAG状态,只要程序没跑,就不会把JTAG串口重映射为别的功能。

xinnian-400985 发表于 2018-10-25 15:35:27

本帖最后由 xinnian-400985 于 2018-10-25 15:46 编辑

谢谢toofree。JTAG信号与以版本的电路是一样的,复位信号也没有改。调试第一块板时还以为是芯片问题,又焊了2块板,问题一样的。板上复位电路是采样推荐的1uf+10k欧RC复位电路。JTAG信号的引脚没有使用和映射为别的功能。

电子星辰 发表于 2018-10-25 15:44:04

本帖最后由 电子星辰 于 2018-10-25 16:02 编辑

或者也可以试试下载时把BOOT0拉高,1悬空(或者接地试试)

xinnian-400985 发表于 2018-10-25 15:50:24

电子星辰 发表于 2018-10-25 15:44
或者也可以试试下载时把BOOT0接地,1悬空(或者接地试试)

谢谢电子星辰:boot0已经接地,就是boot1在程序中使用了,用做输出高低电平用。同样的程序下载到以前的PCB板子也会出现这样的情况。

toofree 发表于 2018-10-25 15:58:46

xinnian-400985 发表于 2018-10-25 15:50
谢谢电子星辰:boot0已经接地,就是boot1在程序中使用了,用做输出高低电平用。同样的程序下载到以前的PC ...

既然下到以前的板也有问题,那是不是可以说明,跟boot1没关系了?
把你的程序打包发来吧。JTAG重映射,Flash读保护,独立看门狗,能想到的不外乎这几种可能。

wudianjun2001 发表于 2018-10-25 16:14:25

FLASH是不是写保护了,除了程序下不进去,程序能运行吗?直接JLINK软件里看一下能不能连上

xinnian-400985 发表于 2018-10-25 16:26:56

不是,正好说明与使用boot1有关系。以前的板的程序没有使用boot1,用现在使用了boot1(PB2)的程序下载到以前的板,现象一样的(两个版本的板boot1悬空,第二版的板还未加负载),说明就是boot1使用后引起的。

xinnian-400985 发表于 2018-10-25 16:40:57

wudianjun2001 发表于 2018-10-25 16:14
FLASH是不是写保护了,除了程序下不进去,程序能运行吗?直接JLINK软件里看一下能不能连上 ...

程序能跑,但是定时器输出的脉冲慢了约10倍。

xinnian-400985 发表于 2018-10-25 16:57:40

附件为程序,可以跑起来。
页: [1] 2
查看完整版本: STM32F103VC芯片仿真下载一次程序后就再也下载不了程序