我在调试6678的emif启动时出现了很奇怪的问题,就是使用示波器量emif的ce2片选信号,一直为高电平,根本没有去读0x70000000的地址空间。我确定 boot管脚是正确的,因为使用仿真器连接之后读取寄存器,读出来的值0x00000a01,和6678datasheet的启动描述是一致的,确定配置方式是emif没问题,使用小段模式。
看了论坛的一些其他资料,不知道是否与pg1.0的pll bug有关系?从6678片子上来看,标示没有诸如A的字符,应该就是比较早的芯片,1.0版本的。
我的问题是:
1。emif启动的配置,寄存器读出来的值0x00000a01, 小段模式,boot device配置为emif启动,没有错误吧?其他字段是否还要配置,比如pll相关的?
2。不读取0x70000000地址,是否就是与boot rom的pll bug相关?必须要使用i2c rom来修正?
3。板子上没有i2c rom,但是把两个管教引到了fpga里面,如果必须的话,使用fpga模拟一个i2c slave rom是可以的。我想问的是,i2c rom的地址是?如果我只在i2c rom里面只进行 emif配置, emif空间配置,nor flash读写配置,跳转0x70000000,是否可行?
这个问题已经被折磨三周了,很头疼,谢谢!