我使用的是omapl137,通过emifa外扩了一个16位的nor flash,按照手册,我将emifa的ba1接了flash的a0,没有用ba0,,这种接法是16位的接法。
但是,我本打算采用nor flash做程序存储器进行引导,但资料上说,处理器的bootloader在引导nor flash时先以8bit进行读配置word,然后从配置word中读取操作位数,如果是16bit再切换成16bit,我就有点迷糊了,这样如何由8bit切成16位呀,希望大侠指点,谢谢
Shine:
你好,
如果配置字中的ACCESS=1, ROM bootloader会去重新配置EMIF寄存器成16bit。
xiaojie wang:
回复 Shine:
你好!
那读配置字的时候,emifa是用8-bit来读,还是用16bit来读?跟emifa和flash的接法有关系吗?
我现在emifa接口和flash的接法是按手册中的16bit的接法,这个时候能读到配置字吗?可以从nor flash引导吗
谢谢
haibo Peng:
回复 Shine:
谢谢,
这个过程是不是这样的:omapl137先以8bit访问nor flash的配置字的第一个字节,读到access为1后,自动配置emifa为16bit ,再以16bit方式重新读配置字。请您指教,谢谢
Shine:
回复 xiaojie wang:
xiaojie wang
你好!
那读配置字的时候,emifa是用8-bit来读,还是用16bit来读?跟emifa和flash的接法有关系吗?
我现在emifa接口和flash的接法是按手册中的16bit的接法,这个时候能读到配置字吗?可以从nor flash引导吗
谢谢
Shine:
回复 haibo Peng:
过程是这样, 但读配置字是32bit的,4次8bit读。
xiaojie wang:
回复 Shine:
那硬件上接成16位的接法,emifa配置成8bit如何读配置字?
Shine:
回复 xiaojie wang:
应该分4次读8bit, 你可以量一下时序。
haibo Peng:
回复 Shine:
按8bit读完四次后,如果发现access=1后,再按照16bit重新读配置字吗?如果不重读,那先读的四次8bit怎么保证正确访问?
Shine:
回复 haibo Peng:
access=1后, 重新配置EMIF寄存器为16bit mode, 不需要重读配置字。
haibo Peng:
回复 Shine:
您好!如何按照8bit访问16bit的nor flash,则高8bit无法被访问,那么配置字中的8~11位表示的copy字节大小将如何被读取?这将影响后续boot程序的正确copy,谢谢