平台:PXA270,设置同步方式后同样从FLASH读取1M WORD数据,发现比异步方式更慢,用逻辑分析仪看异步时平均300ns取一个数据,同步竟到了370ns。 可能是同步一次有8个突发,但CPU还是以单WORD方式来读,结果反而大大增加时间,没找到如何编程能触发同步传送,即后几次MEMC不发地址仅读取数据。难道只有DMA才能触发同步突发访问或者需要DCACHE? 测试方式: pdwFlash = (volatile WORD *)BOOT_FLASH_BASE_U_VIRTUAL;
OST1 = v_pOSTRegs->oscr0; *pdwFlash = 0x00FF; for (i = 0; i < 1000000; i++) value = *pdwFlash++; OST2 = v_pOSTRegs->oscr0; EdbgOutputDebugString("time = %d ms
", (OST2 - OST1) / 3250);
知道的指点指点,谢了。 |