公司做的板子在调网口,发现EMAC的寄存器(0x4A100000开始)仿真器读不到,我现在的SATA_SERDES时钟还没调出来,是因为这个原因吗?
Chris Meng:
Chi Xiaoyan,
一般寄存器无法读是因为该模块时钟没有打开,你看看PRCM里面相关时钟是否使能。
xiaoyan Chi:
回复 Chris Meng:
你好,我是用gel打开的EMAC的PRCM,但还是访问不了EMAC的寄存器(0x4A100000)
gel程序
emac_clkenable()
{ GEL_TextOut("CONFIGURE PRCM CLOCKS of EMAC in progress \n\r"); *((unsigned int*)(0x48181404)) = 0x2; //CM_ETHERNET_CLKSTCTRL Register *((unsigned int*)(0x481815d4)) = 0x2; //CM_ALWON_ETHERNET_0_CLKCTRL Register while(RD_MEM_32(0x48181404)!=0x0302); while((RD_MEM_32(0x481815d4)&0x2)!=0x2); GEL_TextOut("PRCM CLOCKS of EMAC is complete \n\r");
}
xiaoyan Chi:
回复 Chris Meng:
用仿真器看PRCM寄存器已经打开了EMAC的时钟,但还是访问不了。能访问到0x4A108000这个地址。
Chris Meng:
回复 xiaoyan Chi:
Chi Xiaoyan,
我在DM814x EVM上连上仿真器运行了初始化gel,可正常访问0x4A100000的地址。
你能否再检查一下你们的20Mhz晶振输入是否正常?
TI中文支持网


