TI中文支持网
TI专业的中文技术问题搜集分享网站

6678 device is held in reset

大家好,

我在做C6678板子,现在写完了上电时序,给板子加电后,遇到了如下的问题:

在CCS的“Target Configuration”中,测试连接了一下,显示JTAG链正常。

但是我写了一个简单的程序后Debug,却弹出对话框,显示:“Device is held in reset”。

可是我板子上C6678的RESETSTST引脚已经指示高电平了,怎么还显示说Device处于reset状态??

我的上电程序中,对BOOTMODE[]12:0]的配置是:0b011 0000000 000

还有就是C6678的GEL文件怎么编写?

Andy Yin1:

1. 对照手册看看上电时序是否满足要求;

2. 测量各输入电压及时钟是否满足要求并且稳定。

gel就是用来初始化main pll及DDR,可以参考ccs及mcsdk中自带的模板修改其中的pll及DDR初始化程序即可,或者可以参考如下链接中提供的基本例程,这些例程中包含了PLL及ddr的初始化代码,此时不需要gel。

http://www.deyisupport.com/question_answer/w/faq/215.keystone-c66xdsp.aspx

Feng Jin:

回复 Andy Yin1:

谢谢您的回复!

我供给6678的电源、时钟应该没有问题。上电时序也是按照advantech的EVM手册来的。

最后都把POR、RESET、RESETFULL都拉高了。

而且RESETSTAT引脚都指示高电平了,为什么还是显示“device is held in reset?

#############################################################################

目前,我只是做了以下步骤,烦您看看正确与否

1. C6678的CVDD、CVDD_Fixed、1.8V、1.5V、0.75V都正常供应。

2. C6678的Core(100MHz)、DDR(66.67MHz)、PASS(100MHz)都正常供应

3. FPGA端按照advantech的EVM写了上电时序,

4. 在上电时序的最后阶段:拉高RESET(同时给BOOTMODE[12:0]为0b0110000000000),接着拉高POR,最后拉高RESETFULL

对于这样的步骤,我有以下几个问题:

1.我计划是先给NO BOOT,然后写个GPIO程序测试一下软件到硬件的通路。那么我在第4步骤时,给BOOTMODE[12:0]为0b0110000000000行不行?我参照6678最新的Datasheet的2.5.4 PLL Boot Configuration Settings一节,我的Core是100MHz、器件是1.25GHz的,所以如果我把BOOTMODE[12:10]给了0b011,则6678的工作频率就是1.25GHz?其中的PLLD=0、PLLM=24,是RBL固化的,不需要自己配?

2. 我这样操作后,C6678的RESETFULL引脚已经指示高电平了。那么为什么我在CCS端写个GPIO程序后,Debug,连接C6678时显示“Device is held in reset”?我想问一下:CCS是根据什么判断6678处于RESET状态的?比如,CCS是去读6678的某个寄存器的值后判断的?还是?我这样问是为了定位我的板卡中6678仍然处于RESET的原因。

Feng Jin:

回复 Andy Yin1:

我发现问题了:应该是我直接就是NO BOOT模式,导致内部的Main PLL处于Bypass模式,输入的100MHz没有经过PLLD、PLLM。而且我检测到C6678的SYSCLKOUT引脚输出的是16.67MHz(100MHz/6)。所以C6678没有运行起来。请问是这么回事吗?

那么我现在想让C6678的Core0跑起来,我打算切换到SPI BOOT Mode。按照Secondary Boot的方式,RBL将从外部的SPI Flash拷贝最前一段的参数表以便去配置PLL。那么我很疑惑:

我怎么把这个参数表烧到SPI FLASH里面去呢?在RBL执行这个参数表之前,C6678是没有运行的,也就无法通过C6678去烧写这个SPI FLASH。难道要把SPI FLASH拆下来后,用外部烧写器烧写??

还有这个SPI FLASH的parameter table,有例子参考吗?

期待您的回复!!

Nick Zhang~:

回复 Feng Jin:

16.67M是正常的 默认就是bypass模式

Feng Jin:

回复 Nick Zhang~:

您好!

您说的对。我目前给了SPI BOOT mode,默认是Bypass mode,100MHz的COREclk的话,SYSCLK输出的是16.6MHz。我还没有写第二级bootloader去配置Main PLL。

.

请问您知不知道,为什么在bypass mode下,我用CCS去连接C6678,却显示“Device is held in reset”?我的C6678的RESETSTAT引脚,已经指示高电平了啊。

我写的是很简单的一个程序,就是在控制台下显示“Hello”。没有添加GEL文件,没有添加CMD文件。只是弄了“target configuration”cxml文件,然后点击”test connection“显示的是”JTAG DR interigty chain had been scanned successfully“(大概是这样)。

.

难道是必须要CMD文件?或者GEL文件?

.

望您回复

Feng Jin:

回复 Feng Jin:

自己的错误:

1. 把LRESET、LRESETNMIEN、NMI、CORESEL0~3漏了;

2. BOOTMODE[12:0]对应到GPIO的[12:0]了。

改了后,加上EVM的GEL、TI原始的CMD,程序可以调试了。

物色物色:

回复 Feng Jin:

你好,问题具体怎么解决的啊,我也遇到了和你一样的问题,望指点一二,谢谢

yimin dong:

回复 Feng Jin:

Feng Jin:

你好,我现在也正在调试6678,现在能跑通helloworld的例程,但是有时会发生错误,不知道是不是LRESET、LRESETNMIEN、NMI、CORESEL0~3的配置有问题。

我现在把LRESET=1、LRESETNMIEN=0、NMI=1、CORESEL0~3=1000是在拉高RESET的同时赋值的,不知道这个值和时序是否是正确的?

能不能告诉我你LRESET、LRESETNMIEN、NMI、CORESEL0~3的时序?

user4939991:

回复 yimin dong:

同问,现在手头也遇到这个问题了

user4802057:

您好,我们目前调试6678,也碰到跟你一样的问题6678 device is held in reset,麻烦问一下,你怎么解决的呀?谢谢!就是上电是怎么初始化,自己的错误:

1. 把LRESET、LRESETNMIEN、NMI、CORESEL0~3漏了;

2. BOOTMODE[12:0]对应到GPIO的[12:0]了。
怎么解决的呀?

赞(0)
未经允许不得转载:TI中文支持网 » 6678 device is held in reset
分享到: 更多 (0)