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.

C6657的DDR3地址问题

Other Parts Discussed in Thread: TMS320C6657

想使用TMS320C6657中DDR3_EMIF接口寄存器,在应用手册中找到是这样的:

比如我要在头文件中定义MIDR和STATUS寄存器

#define DDR3_MIDR         0x8000000;

#define DDR3_STATUS     0x8000004;

表中的000h、004h是指低位吗,前面高位8是我可以随便定义的吗。如果不是,那高位应该是什么呢,没有在应用手册找到相应解释 。感谢解答。

  • 0x8000000是DDR3映射到DSP memory的地址,不是寄存器的base address基址。

    DDR3的base address是 0x21000000,可以查看数据手册第166页上的DDR3 EMIF configuration
    www.ti.com/.../tms320c6657.pdf

    所以应该定义如下
    #define DDR3_MIDR 0x21000000;

    #define DDR3_STATUS 0x21000004;
  • 您好,我在您给出的文件中查到,EMIF16 configuration的base address是0x20C00000,而EMIF16 CE0 data space, supports NAND, NOR, or SRAM memory的是0x70000000 。我有些混淆这两个,我用EMIF16的寄存器时应该用哪个呢

    #define EMIFA_RCSR 0x7000000 /* Address of EMIF16 Revision Code and Status Register */
    #define EMIFA_AWCCR 0x7000004 /* Address of EMIF16 Async Wait Cycle Config Registerl */
    #define EMIFA_CE0 0x7000010 /* Address of EMIF16 CE0 control (A1CR) */

    #define EMIFA_CE0SEC 0x7000070 /*Address of NAND Flash CS2 (CE0) 1-Bit ECC Register */

    这样定义是正确的吗
  • 和DDR3一样的概念,EMIF16 configuration的base address是0x20C00000是EMIF16 register的基地址,0x70000000 是外挂memory映射到DSP空间的地址,所以您的定义不正确。