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

TMS320C6678: 【TMDXEVM667LE】使用memset函数对DDR空间写入数据

Part Number:TMS320C6678

使用的是STK例程,在初始化之后,get_dsp_number函数前加入下面四行程序进行测试。

memset((void*)0x80000000,0,0×10000000);
memset((void*)0x90000000,0xA5,0x10000000);
*((int *)0xc0000000)=0xAAAA5555;

*((int *)0x80000000)=0x5555AAAA;

使用如上代码对DDR空间进行写数

执行完memset((void*)0x80000000,0,0×10000000)后,0x80000000 0xa0000000 0xc0000000 0xe0000000空间上均被写0

执行完memset((void*)0x90000000,0xA5,0x10000000)后,0x90000000 0xb0000000 0xe0000000 0xf0000000空间上均被写0xA5

但是对0xc0000000上写入0xAAAA5555发现在DDR空间上仅该地址写入该值,而对0x80000000写入0x5555AAAA也同样只有0x80000000地址上写入0x5555AAAA

结论 对DDR空间进行连续写操作会改变其他DDR空间上的值 请问为什么会出现这种情况?

Zahir Wang:

随后又使用hyperlink的stk例程进行测试,发现无论是memcpy还是edma测试均出现这样的现象即在0x88300000 0xa83000000 0xc8300000 0xe8300000空间上看到同样的数据0x48300000

,

Nancy Wang:

请问是在哪个例程上添加的,添加在哪个地方?请详细再说明一下。

,

Zahir Wang:

Hyperlink例程 

,

Zahir Wang:

Zahir Wang 说:随后又使用hyperlink的stk例程进行测试,发现无论是memcpy还是edma测试均出现这样的现象即在0x88300000 0xa83000000 0xc8300000 0xe8300000空间上看到同样的数据0x48300000

随后我跑了hyperlink例程 发现了上面所述的情况

,

Nancy Wang:

memory test例程测试过吗?是否有问题?

,

Zahir Wang:

memory test测试过 同样的问题 往0x80000000空间写数据 在0xa0000000 0xc0000000 0xe0000000 空间上均可以看到被写入同样的数据

,

Zahir Wang:

您好 请问上边这个问题你清楚怎么解决吗?

,

Nancy Wang:

抱歉回复晚了,暂时不清楚什么原因导致的,memory test例程您也是在修改之后测试的吗?如果是的话,请贴出具体修改的部分,我需要在开发板上测试看看。

,

Zahir Wang:

memory test没有修改过

难道是因为TMDXEVM6678LE只外挂了512M的ddr 所以导致在ccs memory上查看的时候会出现以512M为间隔的数据重复?

,

Nancy Wang:

该板子上不是只外挂了512M.

The TMS20C6678 DDR3 interface connects to four 2Gbit (128Mega x 16) DDR3 1333 devices on Rev 3.0 EVM and 1Gbit (64Mega X 16) DDR3 devices on all EVMs through Rev 2.0A.

我测试下来是0x80000000和0xc0000000会重复。

我转给其它工程师看一下。

,

Zahir Wang:

我这边的板子型号是TMDXEVM6678LE REV1.0

DDR外挂的好像就是512M

,

Tony Tang:

Zahir Wang 说:难道是因为TMDXEVM6678LE只外挂了512M的ddr 所以导致在ccs memory上查看的时候会出现以512M为间隔的数据重复

如果你的板子上是512MByte DDR,那么显示或者访问就会如你说的以512MBtyte为间隔进行重复。

因为这时比512MByte大的高位地址的译码结果只是用来参生CS有效信号,并不是用来寻址地址单无的。所以就如你看到的0x80000000空间写数据 在0xa0000000 0xc0000000 0xe0000000看到的是一样的。本身它们在物理上也是同一个物理地址。

如果没理解,再细想一下,高位地址的译码过程及作用。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: 【TMDXEVM667LE】使用memset函数对DDR空间写入数据
分享到: 更多 (0)