如果不开cache,spi flash没有问题;开cache后,发现写进进flash的数据和回读数据不一致。
cache开启流程如下:
MMUTtbInit();
// Configures translation table base register
// with pagetable base address.
CP15TtbSet((UINT)m_auiPageTable);
// Enables MMU
CP15MMUEnable();
// Enable Instruction Cache
CP15ICacheEnable();
// Enable Data Cache
CP15DCacheEnable();
是否是cache使用有误?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
DMA搬移前确实需要clean cache,因为DMA只认物理地址;但我的spi没有用DMA,照道理cache不会影响spi读写啊。
一周热门 更多>