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

请教!!!DSPC6743所有程序下载到板子上之前一直运行正常,最近再跑程序所有程序都卡在初始化里的PLL初始化的这句话里: while(PLL0_PLLSTAT & 0x1==1){}

附件是我运行的 图片,请教这是什么原因呢???

Shine:

检查一下板子的供电电源, 看是否稳定干净, 纹波要求在数据手册上电气特性表列出的范围内.

user1853832:

回复 Shine:

谢谢您的回答,能否请教下C6743 EMIFA读写不正确的原因

Shine:

回复 user1853832:

先量一下时序是否正确?

user1853832:

回复 Shine:

您好,我单步运行写程序,在 运行*(temp_add) = 10;之前,用示波器观察CS、WE全是高电平,在运行这条程序的时候波形会出现一个向下的尖,运行下一条程序时就又变高了,不知道正确不

user1853832:

回复 user1853832:

附上程序,帮忙看看是否有问题:

void main( void ){ /* 初始化6747核*/ C6747_init(); C6747_GPIO_setDirection( 0x57,0);

while(1)

{ /* 调用SDRAM测试程序*/ testallblock(); } }

void testallblock(void){

Uint8 i; Uint8 *DRAM_StartAdd; Uint8 *temp_add; Uint32 Length=100; DRAM_StartAdd = (Uint8 *)(0x60000000);

for(i=0;i<Length;i++) {

temp_add = DRAM_StartAdd+i; *(temp_add) = 10; C6747_GPIO_setOutput ( 0x57, 0); //写 C6747_GPIO_setOutput ( 0x57, 1); //写 asm(" NOP 1 "); }

for(i=0;i<Length;i++) {

C6747_GPIO_setOutput ( 0x57, 1); temp[i]=*(DRAM_StartAdd+i); C6747_GPIO_setOutput ( 0x57, 1); //写 asm(" NOP 1 "); }

}

Shine:

回复 user1853832:

请检查一下程序中的其他配置.1. pinmux寄存器要使能EMIFA管脚.2. PSC里要enable EMIFA module. 3. EMIFA寄存器要根据外接memory进行配置.

user1853832:

回复 Shine:

您好,pinmux寄存器、 PSC已经仔细检查啦,没有错误,EMIFA外接的是FPGA的双口RAM,8位数据,9位地址,以下是EMIFA CE寄存器配置,能否请教下我的建立、触发、保持的设置是否正确?这些参数与数据宽度有关系么?

void CEint(){

AEMIF_A2CR = 0 //CE2 | ( 0 << 31 ) // selectStrobe | ( 0 << 30 ) // extWait | ( 0 << 26 ) // writeSetup //1 // 0 ns | ( 9 << 20 ) // writeStrobe //4 // 40 ns | ( 3 << 17 ) // writeHold //1 // 0 ns | ( 0 << 13 ) // readSetup //1 // 0 ns | ( 9 << 7 ) // readStrobe //8 // 80 ns | ( 3 << 4 ) // readHold // 1 // 10 ns | ( 0 << 2 ) // turnAround //3 // 10 ns | ( 0 << 0 ); // asyncSize // 8-bit bus // asyncSize // 8-bit bus*/

}

Shine:

回复 user1853832:

setupt, strobe, hold时间你要根据双口RAM的时序要求来配.

user1853832:

回复 Shine:

1 请问是根据DSP 的EMIFA 时序来设置还是根据FPGA的双口RAM时序来配置???

2 附件是两个手册分别给出的时序图,DSP的EMIFA时序上标注的2,3,2是指该寄存器要配置的值吗?

Shine:

回复 user1853832:

1. 根据双口RAM时序配EMIF寄存器

2. 这里只是个示例, 具体要根据外接memory的时序要求配.

赞(0)
未经允许不得转载:TI中文支持网 » 请教!!!DSPC6743所有程序下载到板子上之前一直运行正常,最近再跑程序所有程序都卡在初始化里的PLL初始化的这句话里: while(PLL0_PLLSTAT & 0x1==1){}
分享到: 更多 (0)