这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 你的stm32F103C8被锁了吗?

共13条 1/2 1 2 跳转至

你的stm32F103C8被锁了吗?

高工
2014-04-02 15:51:32     打赏

今天调试飞行器上的发光管

IO口是PB3

可是PB3上电复位的默认功能是JTDO

只有重定义(重映射)后才是IO的作用


 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO, ENABLE);
 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_Init(GPIOC, &GPIO_InitStructure);
  while (1)
  {
		GPIO_ResetBits(GPIOB,GPIO_Pin_3);
		GPIO_SetBits(GPIOC,GPIO_Pin_13);
  }



下载后发现,103再也无法被发现了,再也无法下载了

原来GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);

把调试接口毙掉了

俗称“锁死”

咋办?

把boot脚开机接地就饿能解决了......

boot在哪?

看图

拿上你的导线爆它们的菊吧

爆菊的同时烧写芯片

很快,世界清静了......

咱还是毙掉JTAG吧

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);





院士
2014-04-02 22:11:49     打赏
2楼

楼上提供的方案是非常有效的。

我们也可以通过将boot位拉低后,通过svp软件将芯片内的flash 全部 清空。 这样 jtag口就再次恢复了。


院士
2014-04-02 22:16:11     打赏
3楼

我在做硬件设计时,能不用这几个jtag口 就不用这几个口。

实在是太麻烦了……


高工
2014-04-02 22:20:42     打赏
4楼
看到这个我又想起,之前有个小伙伴,也是把32搞的锁死了,瞬间慌张了,以为是板子坏了,就又拿别人的板子试,一下子锁死了4块开发板,然后就一脸汗了..

工程师
2014-04-03 08:54:20     打赏
5楼

非常好的贴子,值得学习。多谢共享.......... BOOT留出来就是干这个事的,


专家
2014-04-03 08:58:12     打赏
6楼
学习学习,还带锁的

高工
2014-04-03 09:05:18     打赏
7楼

这个在文档中适当说明就可以避免这个问题的,一般还是不复用调试管脚的好啊


助工
2014-04-03 17:08:56     打赏
8楼
笑而不语

高工
2014-04-03 18:14:32     打赏
9楼
正解

高工
2014-04-03 18:16:08     打赏
10楼
用IAP功能把片上内容清一下就好了。 清到不能启动就行

共13条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]