我的ddr不能跑程序,但是用官方开发板自带的test程序能跑通。 也就是说可以用作数据空间,但是不能用作程序空间。
这个问题应该怎么解决呢?请求帮忙,谢谢!
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.
我的ddr不能跑程序,但是用官方开发板自带的test程序能跑通。 也就是说可以用作数据空间,但是不能用作程序空间。
这个问题应该怎么解决呢?请求帮忙,谢谢!
我这么问吧 ,在官方开发板自带的DDR的test程序能跑通地情况下,怎样正确使用DDR作为程序空间,需要哪些配置?
之前程序小,就直接放在DSP的RAM中运行,程序都可以正常运行。后来程序大了,放不下了,我就想把它放在DDR中,我就在CMD文件中把对应的段定义在了DDR上,这样运行的结果是不对的。经过分析我觉得问题是应该先对DDR初始化,然后再放程序,我就想知道应该怎样做?CMD文件如下配置;
-o Debug\flash.out
-m Debug\flash.map
-l rts64plus.lib
-stack 0x00000800 /* Stack Size */
-heap 0x00000800 /* Heap Size */
MEMORY
{
INT: o = 0x10800000 l = 0x0000FFFF
L2RAM: o = 0x10810000 l = 0x00020000
DDR2: o = 0x80000000 l = 0x10000000
}
SECTIONS
{
.vectors > INT
.bss > DDR2
.cinit > L2RAM
.cio > L2RAM
.const > DDR2
.data > DDR2
.far > DDR2
.stack > DDR2
.switch > DDR2
.sysmem > L2RAM
.text > DDR2
.ddr2 > DDR2
}
在GEL文件中对DDR先进行初始化设置, 然后CCS才能load程序到DDR. 可以参考下面evm6424的GEL文件中setup_ddr gel函数