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

TMS320F28388D: DSP使用EMIF与SDRAM通信,定义一个大的数值,上电进入main函数时间变长

Part Number:TMS320F28388D

如官方例程那样,我在SDRAM里定义了一个256M的数组,DSP上电之后总是将这个数组初始化为零,这就需要很长一段时间才能进入main函数,怎么才能不让他初始化?

这是按照官方例程定义的数组 :  __attribute__((far)) volatile uint32_t extSDRAMBuf[134217728];

这是官方的CMD字段: 

emif_cs0_nonfar : > EMIF1_CS0_CS2n
.farbss : > EMIF1_CS0n
// .SDRAM : > EMIF1_CS0n
.farconst : > EMIF1_CS0n
.em1_cs0 : > EMIF1_CS0n

Susan Yang:

您可以尝试使用NOINIT

https://www.ti.com/lit/ug/spru514r/spru514r.pdf 

,

mingdong li:

我尝试了用NOINIT定义:

第一次定义:

//#pragma NOINIT (extSDRAMBuf)__attribute__((far)) volatile uint32_t extSDRAMBuf[500000];

第二次定义:

//#pragma NOINIT (extSDRAMBuf)volatile uint32_t extSDRAMBuf[500000];

这两次尝试程序单步调试没有问题,但是连续跑,程序就跑飞

另外我现在又把程序恢复成没用NOINIT 状态,发现单步调试数据正确,连续跑写数据不正确,读数据正确,但是程序不会跑飞

,

Susan Yang:

请问您现在情况如何了?我这边没有测试过NOINIT 在EMIF下的读写

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28388D: DSP使用EMIF与SDRAM通信,定义一个大的数值,上电进入main函数时间变长
分享到: 更多 (0)