您好:
最近在做C6678、C6672的调试。买了2块C6678的开发板,还做了一个c6672的板卡。自己做的板卡用CCS5.2调试时,EMIF寄存器CEnCFG无法写入值,之后试了其它EMIF寄存器也无法写入,而且0x20000000的寄存器、DDR3 EMIF寄存器都不能写入。所有值都是为0x00000000。相同的程序,而在开发板上一切正常,而且上电后load程序,EMIF寄存器会有一组默认值。
我想问一下,理论上EMIF寄存器应该能够直接写值吧。不需要额外的使能,也不存在需要配置时钟才能写寄存器。我把pll设置了也不可以写值。这个究竟是什么原因呢。我在水木上看到有人有类似的问题,但是说是地址线的问题。这个跟地址有关系么?
一般的寄存器都有reset value。那是不是说,只要一上电,相应的寄存器九应该是复制值,而不是全0。而我出现的全零是错误的。
希望大神能够帮助,现在卡到这了。
user2003297:
这几天在调自己做的C6670的板子,也碰到了类似问题,你可以别连接core0,连接其他的核,然后尝试直接读取寄存器,
论坛里做硬件的比较少,希望交流一下哈,4841691@qq.com,我做了2版C6670的板子了,有些经验也有些教训。
Di Wu4:
回复 Brighton Feng:
我在PPL设置之后,增加了KeyStone_enable_PSC_module(CSL_PSC_PD_ALWAYSON, 3);函数,power sleep这个使能后就好使了。应该是片子为了低功耗,把一些外设给关了吧。我是这么认为的。具体的内容还的看这里面的内容。而这个PSC具体都默认关闭哪些内容呢?而EVMC6678开发板好使,是不是里面默认加了程序,上电后先跑了程序,这之后再load程序此PSC已经打开了。因为做实验,把拨码开关设置为no boot貌似就出现以前的问题了。
Di Wu4:
回复 noaming:
应该是不需要使能的。但是我加入了PSC使能函数,这些寄存器就好了。应该是为了片子低功耗把这些屏蔽了吧。
Di Wu4:
回复 user2003297:
我增加了KeyStone_enable_PSC_module(CSL_PSC_PD_ALWAYSON, 3);函数,power sleep这个使能后就好使了。你可以试试。