This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6748 R11与R12管教的DDR_DQGATE0,与DDR_DQGATE1上为什么要连接0R电阻?



工程师你们好:

                         C6748 R11与R12管教的DDR_DQGATE0,与DDR_DQGATE1上为什么要连接0R电阻,现在我需要使用16位的带cache的UPP功能,程序所有的代码和数据都放在DDR里面,发现UPP在发送一定的数据后程序就会跑飞,连仿真器后跑飞后界面显示如下图所示,请问这与这个0R电阻的有无有关系吗?现在的硬件是去掉了0R电阻而直接将R11与R12管教短接在一起的。

                          另外,我想把定义的UPP接收缓存区upp_buffer_a[132],与定义的发送缓存区upp_buffer_b[132]数据放在公共内存区SHRAM后为什么程序就不运行了呢?UPP这两个缓存区为什么不能定义在公共内存区呢?

  • 这样的位置添加0欧电阻一般是为了可能的阻值适配或断路、调试或跳线预留的。0欧电阻不会影响到你的使用。因此你上面跑飞的情况和它没有任何关系。

  • 对于跑飞的问题,不知道你之前是否测试过DDR,如果没有测试过,建议先进行DDR全片进行 8位,16位,32位随机数读数测试。

    如果测试过,那问题必然出现在你程序上了。

    另外,不管是shram,还是外部ddr,数据段都没有问题的。

  • 您好:

          感谢您的回复,程序里面去掉UPP发送功能(现在表现的现象是程序跑飞和UPP发送的值还有关系,比如,如果发65535可能很快就跑飞,发0就一直正常,不会跑飞)后程序就一切正常,不会出现跑飞现象,是不是说明DDR没有问题呢?

  • 我觉得谨慎起见,你还是先测试一下DDR比较好。

    测试也不麻烦,建一个空工程,关闭L1/L2 cache功能,然后实现一下固定数读写DDR,使用下rand()函数造一些随机数进行DDR全盘读写,还可以用rand()函数制造随机地址进行突发访问。

    确认正确的情况下。

    你的代码里铁定是有越界的情况发生了。

    就你描述现象,如果DDR在这个项目中已经使用很成熟,那可以跳过。不然你必须进行测试。否则,这个问题明显就是你程序越界导致的。