15382|29

2万

帖子

74

TA的资源

管理员

楼主
 

有没有什么办法可以防止LM3S811锁死? [复制链接]

坛子有个朋友,刚拿到811就被锁了:https://bbs.eeworld.com.cn/thread-290411-1-1.html  从目前的讨论看,可能只能换芯片了。

 

有没有方法可以预防类似的情况发生呢?

 

刚跟一个朋友闲聊,他提供了一个思路,希望有兴趣的朋友可以做深入研究,一会拉他来跟帖;

 

大家也可以看看有啥好的方式可以避免此类情况发生。

 

 

 

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

最新回复

好提议,相当于提供一段延时等待JTAG连接,没有连接,正常跑程序,比较人性化的设置,细心周到。撒花:rose:  详情 回复 发表于 2012-7-6 09:12
 
点赞 关注
个人签名

加油!在电子行业默默贡献自己的力量!:)


回复
举报

35

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
TI的sample codes里有一个jtag_gpio的范例
利用一个空pin interrupt来作切换,一方面可以埋入这样防锁的机制
一方面也可把jtag的pin脚拿来作gpio使用。

以前也看过网友建议,使mcu在开机时先delay 2秒,
让programmer软体有时间中断程序,不过我们在debug阶段常常会把delay值取消
强迫戴套的方式,也不符合人性。

不晓得各位先进有何其他的想法吗?
 
 

回复

2804

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 
可以的,以前用ZLG 1138的时候看到过,但是具体怎么做忘记了!~
 
个人签名QQ:1625345502
 
 

回复

7173

帖子

195

TA的资源

五彩晶圆(高级)

4
 
这样我都不敢随便玩了
 
 
 

回复

431

帖子

0

TA的资源

一粒金砂(高级)

5
 
1000以上的芯片可以解锁,以下的芯片就没办法了
 
 
 

回复

246

帖子

0

TA的资源

纯净的硅(初级)

6
 

回复 楼主 soso 的帖子

对啊 main函数 里面加一段防锁死的代码就可以了  楼下正解!

[ 本帖最后由 missforever 于 2011-5-3 23:39 编辑 ]
 
 
 

回复

35

帖子

0

TA的资源

一粒金砂(中级)

7
 
试试这个办法呗

//  定义KEY(针对TI_OEM_LM3S811)
#define  KEY_PERIPH             SYSCTL_PERIPH_GPIOB
#define  KEY_PORT               GPIO_PORTB_BASE
#define  KEY_PIN                 GPIO_PIN_5
//  防止JTAG失效
void jtagWait(void)
{
    SysCtlPeriEnable(KEY_PERIPH);           //  使能KEY所在的GPIO端口
    GPIOPinTypeIn(KEY_PORT, KEY_PIN);  //  设置KEY所在管脚为输入

if (GPIOPinRead(KEY_PORT, KEY_PIN) == 0x00)
      //  若复位时按下KEY,则进入
    {
         for (;;);                           //  死循环,以等待JTAG连接
    }
    SysCtlPeriDisable(KEY_PERIPH);  //  禁止KEY所在的GPIO端口
}
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

8
 

原帖由 hui370 于 2011-5-3 22:13 发表 试试这个办法呗 // 定义KEY(针对TI_OEM_LM3S811) #define KEY_PERIPH SYSCTL_PERIPH_GPIOB #define KEY_PORT GPIO_PORTB_BASE #define KEY_PIN GPIO_PIN_5 ...

 

bingo!

参考周立功:LM3S基本例程.PDF,第4页。

 

我稍作修改了一下,貌似EK-LM3S811中的按键是PC4。

 

// 防止JTAG失效
void jtagWait(void)
{
SysCtlPeriEnable(SYSCTL_PERIPH_GPIOC); // 使能KEY所在的GPIO端口
GPIOPinTypeIn(GPIO_PORTC_BASE, GPIO_PIN_4); // 设置KEY所在管脚为输入

if (GPIOPinRead(GPIO_PORTC_BASE, GPIO_PIN_4) == 0x00)
// 若复位时按下KEY,则进入
{
while(1);// 死循环,以等待JTAG连接
}
SysCtlPeriDisable(SYSCTL_PERIPH_GPIOC); // 禁止KEY所在的GPIO端口
}

 

LM3S基本例程.PDF (321.77 KB, 下载次数: 464)

JtagWait.jpg (8.62 KB, 下载次数: 5)

JtagWait.jpg

点评

可能这样不行吧?周工那个板子按键是PG5(JTAG PC[0:3]),然后通过按住按键复位,进入死循环等待JTAG...但是这个按键是PC4 按住按键进入死循环后PC已经被配置成普通IO口.难道不应该这样理解???  详情 回复 发表于 2012-7-5 19:17
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

9
 
main函数开始,先调用这个函数void jtagWait(void),这样,复位前按下EK-LM3S811板的USER即S2按键,则进入这个死循环,等待Jtag连接,就不会锁死了。
 
 
 

回复

2751

帖子

0

TA的资源

裸片初长成(初级)

10
 
摘周立功:LM3S基本例程.pdf,第6页。
需要当心的是:对于 Sandstorm 家族(即 LM3S100、300、600、800 等) ,一旦JTAG接口因为误将其无防护地配置为 GPIO接口而被锁定,则有可能再也无法恢复。为了防患于未然,我们建议在编写每一个应用程序时都必须要在 main( )函数的开始处插入一段能够预防JTAG失效的代码 (对于Fury和DustDevil家族也推荐这样做)
 
 
 

回复

4138

帖子

0

TA的资源

五彩晶圆(中级)

11
 
学习了,幸亏我不是最早尝试的,我要是在家,出问题的一定是我,期待问题兄弟早日解决问题
 
 
 

回复

7173

帖子

195

TA的资源

五彩晶圆(高级)

12
 

回复 11楼 鑫海宝贝 的帖子

哈哈 幸亏我也没开始玩 哈哈
 
 
 

回复

7173

帖子

195

TA的资源

五彩晶圆(高级)

13
 
大卫李给力啊
 
 
 

回复

1万

帖子

16

TA的资源

版主

14
 

这个可以,打开一个周公例程就会明白

 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

1万

帖子

16

TA的资源

版主

15
 

就是利用等待按键,在这期间,JTAG管脚是好用地

 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

2万

帖子

74

TA的资源

管理员

16
 

原帖由 常见泽1 于 2011-5-3 19:50 发表 这样我都不敢随便玩了

 

像TOUCH  IPAD 还能刷成砖呢 做啥事都是有风险的 嘿嘿 不过如果按照操作手册做 应该没啥问题

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

2万

帖子

74

TA的资源

管理员

17
 
对于初学者 大家有没有一个一步步怎么做的措施?
这样可以告诉大家怎么操作
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 

回复

1282

帖子

10

TA的资源

五彩晶圆(初级)

18
 

回复 17楼 soso 的帖子

按照david Lee的方法做应该没问题!!
 
 
 

回复

431

帖子

0

TA的资源

一粒金砂(高级)

19
 
换芯片没那个技术~~~~~~~~~~~~
 
 
 

回复

4138

帖子

0

TA的资源

五彩晶圆(中级)

20
 

回复 12楼 常见泽1 的帖子

那个白色透明的是液晶显示吗,为什么能拿下来呢
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表