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

2019-03-23 22:16发布

28377d 使用EMFI读写数据,地址需要移位才能正确读取,这是什么原因?
通过emif读数据的时候,我想访问的数据例如我想读取异步设备地址0x90上的数据。要在DSP端访问地址0x100000+0x120。相当于0x90左移一位之后加上0x100000。不知道是因为什么。以下是初始化代码。
  Emif1Regs.ASYNC_CS2_CR.all =  (EMIF_ASYNC_ASIZE_32    | // 16Bit 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);
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
BasaraTama
2019-03-24 01:27
0x90是以半字(16bit)为单位的地址,0x120是以字节(8bit)为单位的地址

一周热门 更多>

相关问题

    相关文章