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.

28377d 使用EMFI读写数据,地址需要移位才能正确读取,这是什么原因?

28377d 使用EMFI读写数据,地址需要移位才能正确读取,这是什么原因?
通过emif读数据的时候,我想访问的数据例如我想读取异步设备地址0x90上的数据。要在DSP端访问地址0x100000+0x120。相当于0x90左移一位之后加上0x100000。

而通过EMIF写数据的时候发现地址也是移位了。例如我访问地址0x001。实际要写0x100000+0x003,才可以。

不知道是因为什么。以下是初始化代码。


  Emif1Regs.ASYNC_CS2_CR.all =  (EMIF_ASYNC_ASIZE_32    | // 32Bit Memory
                                                          // Interface
                                 EMIF_ASYNC_TA_4        | // Turn Around time
                                                          // of 2 Emif Clock
                                 EMIF_ASYNC_RHOLD_1     | // Read Hold time
                                                          // of 1 Emif Clock
                                 EMIF_ASYNC_RSTROBE_4   | // Read Strobe time
                                                          // of 4 Emif Clock
                                 EMIF_ASYNC_RSETUP_1    | // Read Setup time
                                                          // of 1 Emif Clock
                                 EMIF_ASYNC_WHOLD_1     | // Write Hold time
                                                          // of 1 Emif Clock
                                 EMIF_ASYNC_WSTROBE_1   | // Write Strobe time
                                                          // of 1 Emif Clock
                                 EMIF_ASYNC_WSETUP_1    | // Write Setup time
                                                          // of 1 Emif Clock
                                 EMIF_ASYNC_EW_DISABLE  | // Extended Wait
                                                          // Disable.
                                 EMIF_ASYNC_SS_DISABLE    // Strobe Select Mode
                                                          // Disable.
  );
setup_emif1_pinmux_async_32bit(0);