This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678 EMIF16 地址空间问题



1、在数据手册中, 给出了 EMIF16 4个片选信号的 地址分配空间,分别都是64MB,

       CE0 :70000000 - 73FFFFFF

       CE1 :74000000 - 77FFFFFF

       CE2 :78000000 - 7BFFFFFF

       CE3 :7C000000 - 7FFFFFFF

2、也在数据手册中,Pin Map,P50 

      EMIF16 的地址线 是24位,数据线是16位,片选4个CE0-CE4

      24位,只有16M范围,就算考虑到数据线16位,也只有32M bytes  空间。

请教,这个疑惑,怎么理解?

  • 是滴,地址空间时64MB,但是在16位模式下仅能访问32MB的空间,8位下就只有16MB了,6678 SOC的memory map章节的最后有备注的.
    这个地址空间设计的更大是为了方便后续有需要可以SOC设计的时候多加一根线,就像当前6678 的MSMC出来的DDR EMIF地址空间是36位的,但是硬件支持仅能上8GB的内存,一是在设计的那个年代,8GB内存是很奢侈很够用的东东了,假如将来TI 要出6688了,仅需要内存控制器换成DDR4 然后多加两个信号(DDR甚至不需要加)就能支持更大的内存了. 而如果地址空间规划的时候只规划了8GB的空间呢... 那就悲催了.
    可能DDR的设计有些太牵强,但是对EMIF16来说,绝对是这个道理的;
    实际上TI C64+ 的EMIF空间还是很大的,以6455为例,都是整整的256MB空间的规划,但是实际地址线20根仅能支持2MB...因为那个时候DDR内存太贵了,而且也没那么大的内存需求.
    时代变了...
  • EMIF16 地址空间
  • 实际能访问的空间表下有备注
    1 32MB per chip select for 16-bit NOR and SRAM. 16MB per chip select for 8-bit NOR and SRAM. The 32MB and 16MB size restrictions do not apply to NAND.