DSP的emif上连了一块nandflash,用的是cs2,不管程序执行到哪一步从0x70000000处开始到0x7FFFFFFF处的值都在跳动,单步调试时每一步都在跳动,相同的程序在开发板上运行就没有问题,怀疑是nandflash的问题但是不知道怎么测试nandflash,麻烦了解情况的朋友告知下,万分感谢
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.
Shine Zhang 说:请问具体是EMIF的软�配置原因还是硬件方面的问题?
是软件方面的原因,emif和FPGA连着,FPGA写数据,我调试的时候没有注意这个问题,后来改了下FPGA程序就好了,现在有一个问题是当我把cmd文件里section都指向ddr3的时候,程序会卡在一个for循环的地方,之前指向l2sram的时候没有问题,cmd文件内容和for循环在下面,希望能告知这是什么原因
cmd文件内容
MEMORY
{
L1PSRAM (RWX) : org = 0x0E00000, len = 0x7FFF
L1DSRAM (RWX) : org = 0x0F00000, len = 0x7FFF
L2SRAM (RWX) : org = 0x0820000, len = 0xe0000
MSMCSRAM (RWX) : org = 0xc000000, len = 0x200000
DDR3 (RWX) : org = 0x80000000,len = 0x10000000
}
SECTIONS
{
.csl_vect > DDR3
.cppi > DDR3
.linkram > DDR3
.mac_buffer > DDR3
platform_lib > DDR3
.text > DDR3
GROUP (NEAR_DP)
{
.neardata
.rodata
.bss
} load > DDR3
.stack > DDR3
.cinit > DDR3
.cio > DDR3
.const > DDR3
.data > DDR3
.switch > DDR3
.sysmem > DDR3
.far > DDR3
.testMem > DDR3
.fardata > DDR3
}
for循环
Platform_STATUS platform_delay(uint32_t usecs)
{
int i=0;
// int32_t delayCount = (int32_t) usecs *platform_mcb.frequency;
// int32_t start_val = (int32_t) CSL_chipReadTSCL();
//
// while (((int32_t)CSL_chipReadTSCL() - start_val) < delayCount);
for(i=0;i<usecs*2000;i++)
{
}
return Platform_EOK;
}