把28377 emif 总线 设置为32bit,异步模式
setup_emif1_pinmux_async_32bit(0);
Emif1Regs.ASYNC_CS2_CR.all = (EMIF_ASYNC_ASIZE_32 |
EMIF_ASYNC_TA_1 |
EMIF_ASYNC_RHOLD_1 |
EMIF_ASYNC_RSTROBE_4 |
EMIF_ASYNC_RSETUP_1 |
EMIF_ASYNC_WHOLD_1 |
EMIF_ASYNC_WSTROBE_1 |
EMIF_ASYNC_WSETUP_1 |
EMIF_ASYNC_EW_DISABLE |
EMIF_ASYNC_SS_DISABLE );
但实际测试中发现,所谓的32bit总线其实是个假的。其实是把32bit的数据分成2个16bit的,然后先后两次,第一次用数据总线低16bit传,第二次用数据总线高16bit传。不知道这样的32bit总线有什么意义呢?
Susan Yang:
建议您看一下您是否置位了Narrow Mode
When set to 1, the data bus is set to 16-bits. When set to 0, the data bus is set to 32-bits.
把28377 emif 总线 设置为32bit,异步模式
setup_emif1_pinmux_async_32bit(0);
Emif1Regs.ASYNC_CS2_CR.all = (EMIF_ASYNC_ASIZE_32 |
EMIF_ASYNC_TA_1 |
EMIF_ASYNC_RHOLD_1 |
EMIF_ASYNC_RSTROBE_4 |
EMIF_ASYNC_RSETUP_1 |
EMIF_ASYNC_WHOLD_1 |
EMIF_ASYNC_WSTROBE_1 |
EMIF_ASYNC_WSETUP_1 |
EMIF_ASYNC_EW_DISABLE |
EMIF_ASYNC_SS_DISABLE );
但实际测试中发现,所谓的32bit总线其实是个假的。其实是把32bit的数据分成2个16bit的,然后先后两次,第一次用数据总线低16bit传,第二次用数据总线高16bit传。不知道这样的32bit总线有什么意义呢?
qingyulan:
回复 Susan Yang:
在F2837xD_emif.h里看,SDRAM_CR是用来配置访问SDRAM的,ASYNC_CS2_CR_REG才是配置异步访问外部存储器的(比如FPGA),但ASYNC_CS2_CR_REG里只有一个设置的地方ASIZE,但设置为EMIF_ASYNC_ASIZE_32没啥用,还是16bit的
把28377 emif 总线 设置为32bit,异步模式
setup_emif1_pinmux_async_32bit(0);
Emif1Regs.ASYNC_CS2_CR.all = (EMIF_ASYNC_ASIZE_32 |
EMIF_ASYNC_TA_1 |
EMIF_ASYNC_RHOLD_1 |
EMIF_ASYNC_RSTROBE_4 |
EMIF_ASYNC_RSETUP_1 |
EMIF_ASYNC_WHOLD_1 |
EMIF_ASYNC_WSTROBE_1 |
EMIF_ASYNC_WSETUP_1 |
EMIF_ASYNC_EW_DISABLE |
EMIF_ASYNC_SS_DISABLE );
但实际测试中发现,所谓的32bit总线其实是个假的。其实是把32bit的数据分成2个16bit的,然后先后两次,第一次用数据总线低16bit传,第二次用数据总线高16bit传。不知道这样的32bit总线有什么意义呢?
li jianguo:
回复 qingyulan:
你好,这个问题你解决了吗?能分享一下解决方法吗?