我手头有一块第三方的C6748的开发板(称为T板),上面nandflash是128MB的。
然后我自己做了一块C6748的板子(称为M板),上面nandflash是2GB的。
M板,用startware中的其他程序测试,全都正常。
然后用startware中的nandflash程序测试,对nandflash程序唯一修改的内容如下:
原本是(T板用此配置):
#define NAND_PAGE_SIZE_IN_BYTES (NAND_PAGESIZE_2048BYTES)
#define NAND_BLOCK_SIZE_IN_BYTES (NAND_BLOCKSIZE_128KB)
#define NAND_NUMOF_BLK (4096)
#define NAND_MANUFATURER_MICRON_ID (0xEC)
#define NAND_DEVICE_ID (0xF1)
针对我采用的nandflash,改为了(M板用此配置):
//#define NAND_PAGE_SIZE_IN_BYTES (NAND_PAGESIZE_4096BYTES)
//#define NAND_BLOCK_SIZE_IN_BYTES (NAND_BLOCKSIZE_256KB)
//#define NAND_NUMOF_BLK (8192)
//#define NAND_MANUFATURER_MICRON_ID (0x96)
//#define NAND_DEVICE_ID (0xD5)
其他程序都完全相同。
测试结果:M板读写nandflash完全正常,并且读写的数据一致:
但是,当我按下红色的Terminate按钮退出debug,然后再次点击debug按钮时,出现了:
红色文字内容为:
C674X_0: Trouble Reading Memory Block at 0x1c11100 on Page 0 of Length 0x4: (Error -1137 @ 0x1C11100) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.232.0)
C674X_0: GEL: Error while executing OnTargetConnect(): Target failed to read 0x01C11100 at (*((unsigned int *) (0x01C11000+0x100))&=0xFFFFFEFF) [TronLong_C6748.gel:12] at device_PLL0(0, 18, 0, 0, 1, 3, 9) [TronLong_C6748.gel:451] at Set_Core_456MHz() [TronLong_C6748.gel:468] at Core_456MHz_DDR2_156MHz() [TronLong_C6748.gel:260] at CPU_PLL_PSC_DDR_Init() [TronLong_C6748.gel:250] at OnTargetConnect() .
只有断了电再上电,然后重新点击debug,才能重新进入debug。
而开发板做同样的操作,并不会出现上述现象。
根据红字的提示,似乎是访问PLL这块寄存器地址时出了问题。
请问有可能是什么原因?
有可能是硬件原因吗,但是我板子运行程序时很正常,包括DDR、SPI接口、I2C接口、USB、MMCSD、GPIO等测试程序,都完全正常。
谢谢!
Tony Tang:
在重新连接时去掉gel文件,或者把gel文件里的PLL配置去掉再reload gel file,再重新连接看有没有同样的问题?
你是说跑其它例程时,同样的terminate/debug操作就没问题吗?
我初步怀疑是核电压不稳定,但是应该不只对NAND的操作才有这种问题,应该出问题的概率差不多才对。
这个操作也没有必要terminate,直接右键断开连接,连接即可。
Feng Xu3:
回复 Tony Tang:
Hi Tony Tang,
感谢回复!
1、重新连接时去掉gel文件,就没此问题了。
2、又试了下,跑其它例程时,同样的terminate/debug操作也有这个问题。
3、1.3V电压波形:
直流耦合,波形上确实偶尔有小毛刺,
交流耦合,放大毛刺
是否有可能真的是1.3V电压毛刺造成的。
4、是的,右键断开,再连接就会这样。
谢谢
Frank
Feng Xu3:
回复 Tony Tang:
Hi Tony Tang,
之前手头只有这一块板子。我今天又拿了几块新的板子试了一下,没有这个问题。
看来是前一块板子硬件上出了问题,是个案。
不过我用示波器观测了新板子的1.3V,波形毛刺状况和那块板子差不多。因此,不像是电源的问题。
既然是个别板子的问题,就不用继续深究了。
不过之前您帮忙回答的另外一个问题:
http://www.deyisupport.com/question_answer/dsp_arm/c6000_dsp/f/32/p/110632/308609.aspx#308609
我再次确认了,在每一块板子上都出现这个现象。我再看看。
非常感谢您的帮助!
Frank
Tony Tang:
回复 Feng Xu3:
Frank,
除了CVDD的毛刺,我还更关心的是在gel文件运行到使能PLL时CVDD的波动。(你如果愿意debug,可以在gel文件里加打印信息,应该是在使能PLL时出现你说的问题的)。我曾经在有这种问题的客户板子上观察到在使能PLL时CVDD有一个明显的下落。解决了这个电源问题后,就不出现这种问题了,你可以试试。