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.

TMS320C6678: EMIF的一个CE是否支持128M的nor flash?

Part Number: TMS320C6678

EMIF的一个CE是否支持128M的nor flash?

现在有个项目,DSP的一个CE接了一个128M的nor flash 。

nor flash 的 高位 bit 通过 DSP 的两个 GPIO 管脚来拉高拉低。正常读低位的时候,GPIO都为底,当读写到高位的时候其中一个 GPIO 拉高

经过测试,只要高位不超过 0x04000000 ,都可以这样控制。但是如果超过了这个范围(64M),DSP就不能正常擦除读写FLASH。GPIO的控制逻辑应该没错。

问:DSP的EMIF是不是本质上就不支持读写超过64M的nor flash?(nand flash 没这个限制)

如果支持的话,需要注意配置哪些?

  • nor flash是线性寻址的,寻址范围有多少根EMIF地址管脚数决定。如EMIFA口有24根地址线,所以寻址范围2^24xdata width.  实际没有64M,请看下面的datasheet上memory map下面的注释。
    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.
    https://www.ti.com/lit/ds/symlink/tms320c6678.pdf


  • 经过测试,

    1,我明白你的意思了,EMIF地址线【23,0】,可访问16M空间大小,因为数据线16位,所以16M*2 = 32M,DSP的一个CE原则上最多只能访问32M空间。

          也就是说一个CE空间 0x74000000---0x78000000这64M,其实前面32M访问的内容和后面32M访问的内容是同样的。经过测试确实是这样。

    2,如果nor Flash容量大于32M,想访问flash高位的存储空间,就需要额外用GPIO控制flash的高位。经过测试可以控制,需要控制好每次读写nor flash的基地址。例如如果访问0x76000000,则需把flash  24 bit位拉高。访问的基地址隐射到0x74000000.就行了。

         经过测试一个CE能访问128M大小的nor flash。

  • 还有个新问题:

    原理图上,为什么DSP的EMIF的第23bit位接在了flash的 0 bit位。其他位也都往后顺延了一位。

  • 新问题麻烦另起新帖,方便其他客户参考,谢谢!

x 出现错误。请重试或与管理员联系。