3587|4

70

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

TI的时钟使能函数掉用ROM类型芯片被锁 [复制链接]

今天在调试TI的一块LM4F129N的板子,发现一个问题:当使用时钟使能函数掉用ROM类型芯片被锁。如下:
ui32SysClock = ROM_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
                                       SYSCTL_OSC_MAIN |
                                       SYSCTL_USE_PLL |
                                       SYSCTL_CFG_VCO_480), 120000000);
如果调用上面这个函数,芯片就会死锁,然后需要用TI的软件工具解锁。

必须调用下面这种形式:
ui32SysClock = SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
                                       SYSCTL_OSC_MAIN |
                                       SYSCTL_USE_PLL |
                                       SYSCTL_CFG_VCO_480), 120000000);


芯片解锁方法如下:
安装TI的LM FlashProgrammer软件,然后在Other Utilities中如图中所选,然后在点击Unlock后,会提示保持Reset低,然后点击确认后,会提示放开Reset,重新上电就可以了。



大家手上有TI板子的能否一起看看是否是TI的bug。不要担心芯片被锁,用一次学习一次,呵呵,并且解锁方法也已经告诉了大家。

最新回复

错别字太多了。研究研究可以了,你反正不用来做项目。   详情 回复 发表于 2014-12-23 16:10
 
点赞 关注

回复
举报

1119

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
过来看看~~~~~~~~~~~~
 
 

回复

70

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
找到了原因,但是TI是不是也存在问题呢?

因为如果用ROM和他一系列的时钟都要用ROM开头的,我后面调用了一个SysCtlClockGet所以就导致系统出现了问题。

如果调用ROM_SysCtlClockFreqSet先,然后想调用ROM_SysCtlClockGet又出现了问题,129N输出snow系列的,这个系列在库里面的宏没事没有snow,导致不能使用ROM_SysCtlClockGet函数。也不知道是TI忘记加了,还是这个玩法不行,有没有TI的FAE,你们关注下这个问题

#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlClockGet                                                    \
        ((uint32_t (*)(void))ROM_SYSCTLTABLE[24])
#endif

点评

错别字太多了。研究研究可以了,你反正不用来做项目。  详情 回复 发表于 2014-12-23 16:10
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

4
 
zhangyao 发表于 2014-12-23 16:02
找到了原因,但是TI是不是也存在问题呢?

因为如果用ROM和他一系列的时钟都要用ROM开头的,我后面调用了一个SysCtlClockGet所以就导致系统出现了问题。

如果调用ROM_SysCtlClockFreqSet先,然后想调用ROM_SysCtlClockGet又出现了问题,129N输出snow系列的,这个系列在库里面的宏没事没有snow,导致不能使用ROM_SysCtlClockGet函数。也不知道是TI忘记加了,还是这个玩法不行,有没有TI的FAE,你们关注下这个问题

#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlClockGet                                                    \
        ((uint32_t (*)(void))ROM_SYSCTLTABLE[24])
#endif
错别字太多了。研究研究可以了,你反正不用来做项目。

点评

我是用他的来做项目的,关键他这个rom.h里面snow系列的没有 #if defined(TARGET_IS_BLIZZARD_RA1) || \ defined(TARGET_IS_BLIZZARD_RA3) ||  详情 回复 发表于 2014-12-25 11:37
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(中级)

5
 
Study_Stellaris 发表于 2014-12-23 16:10
错别字太多了。研究研究可以了,你反正不用来做项目。
我是用他的来做项目的,关键他这个rom.h里面snow系列的没有
#if defined(TARGET_IS_BLIZZARD_RA1) ||                                        \
    defined(TARGET_IS_BLIZZARD_RA3) ||                                        \
    defined(TARGET_IS_BLIZZARD_RB1)
#define ROM_SysCtlClockSet                                                    \
        ((void (*)(uint32_t ui32Config))ROM_SYSCTLTABLE[23])

然后我就直接用了SysCtlClockSet,后发现出来的不是我设置的120M时钟,然后在UCOS中,导致了我的系统主频就不对了,OS delay(100)之类和tick相关的函数时钟都错了。我用的固件库是2.0版本,现在TI的2.1不知道改了没,准备下载个试试。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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