17715|24

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

对于生手来说,ST提供的GPIO这个sample够害人的 [复制链接]

对于生手来说,GPIO这个sample够害人的
我的一个产品在用STM32F103,打样回来,焊接。
焊接好最小系统,USB转串口的sample测试,OK;继续焊接,GPIO的sample测试,挂了。然后开始怀疑自己的焊工是不是不过关,或者烙铁的ESD不起作用了。
算了,重新焊块板子,继续上次的OK和失败。
最后得一结论,每次都在GPIO这个sample的测试后就挂了,于是去仔细看source code,找到了,原来是在演示如何把JTAG的Port做IO用。多亏留下一个后门,好像是PB9,这里有个if和else,否则这JTAG怕是挂了,除非用烧录器把它恢复(ISP是否能行,没有仔细斟酌)。
于是,把if else对应的这个IO接VDD,复位,跑,ULINK连接,哈哈哈,好了。断电再上电,一试验,又不行了,还得拉IO到VDD救命。这次学乖了,当ULINK可以连接的时候,赶快把我熟悉的USB串口程序下载上去,然后怎么断电也不怕了。
此帖出自stm32/stm8论坛

最新回复

                                     详情 回复 发表于 2009-5-20 15:32
点赞 关注
 

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

学习学习~~~

                                  
此帖出自stm32/stm8论坛
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

哈哈哈哈

我就看你当先烈  我不吱声~~~~~   

这些Demo 的作者完全是站在IC的角度很炫耀的来写Demo的,根本不是为了用几句简单的话来把用法说明白。

呵呵 

其实在KEIL网站上下的 NXP的Demo, 呵呵 写法完全不一样,就很简单的相关部分。


此帖出自stm32/stm8论坛
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 

看了一下资料,应该挂不掉吧!

                                 应该执行一次上电复位的条件.
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 

这个问题前面已经讨论过了

                                 本人刚开始就遭遇过这样的苦恼,也在这里求助,并得到解决!
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 

JTAG做GPIO在任何ARM都会遇到同样的问题

肯定要有什么功能开关之类的机关.否则运行中要误入DEBUG状态的.

ISP也存在此问题,所以它有RST和BOOT0/1的硬件保护,避免误入.

总之苦恼过的人之后永远是"微笑"...
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 

差点当先烈换来的裤子

                                 跟解放军似的,挂了一条腿,没有功劳也给个二等功
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 

哈哈~~~向"革命烈士"敬礼~~~

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

9
 

革命烈士可千万别埋洛阳哈!

                                 不过老兄也真是有点大意了,还是要尽量别当烈士,难保不肖子孙给你个保护性修缮哈!
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

10
 

怎么在我的裤子上发广告

在ST的地盘上得一裤子容易吗?还被人贴牛皮癣
而且是KEIL淘汰的ULINK1,好歹也得个ULIN2才有面子啊
此帖出自stm32/stm8论坛
 
 
 

回复

62

帖子

0

TA的资源

一粒金砂(初级)

11
 

哈哈,那时玩LM101时,也搞毁了两只

                                 用JTAG做IO口
此帖出自stm32/stm8论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

12
 

碰到楼主这种问题,还有另外两种处理办法

如果把JTAG引脚映射到GPIO而不能使用JTAG的调试功能后,通常有两种方法可以恢复:

1)启动芯片内置的Bootloader或俗称的ISP功能,把Flash中的内容擦除即可恢复芯片的JTAG调试功能。

2)把BOOT0和BOOT1引脚配置成从RAM启动,然后芯片可以在RAM中进行JTAG调试,这时在RAM中运行一个擦除Flash的程序,亦可恢复芯片的JTAG调试功能。不过使用这种办法,最好是事先准备好相应的擦除Flash的程序。

上述第1种方法比较简单。


为防止发生楼主这种情况,建议可以如同ST提供的这个例子程序那样,单独设立一种机制能够打开JTAG引脚的功能。

还有一种比较好的方法是,在复位后程序刚刚运行起来的时候,不要马上就把JTAG引脚映射到GPIO,而是等待一个用户的输入事件(如按下了一个按键),然后再进行映射操作;这样可以很方便的进行JTAG调试和实时调试之间的切换。
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

13
 

其实想从这种状态恢复过来很简单

1)把BOOT0和BOOT1引脚配置成从RAM启动
2)通过JTAG口,把程序下载到FLASH中,覆盖掉原来的“问题”程序
3)把BOOT0和BOOT1引脚配置成从FLASH启动(该步骤为可选)
OK
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

14
 

本来认为BOOT1没什么用(不用RAM启动),现在要想想了~~~

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

15
 

呵呵,是JTAG口当普通IO的问题,,其它一些IC也有的

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

16
 

14楼这招更高!!

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

17
 

学习了^_^

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

18
 

学习……

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

19
 

这个铁自比较重要,计下了

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

20
 

楼上说得好

                                 但重要的贴为什么不能加入收藏夹呢?
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表