我是无操作系统的裸奔cache,使用了EMIF 接口以EDMA方式从FPGA读取数据,通过网口发送数据,将EDMA的目的buffer开在了DDR2中,测试的时候我发现(使用的是starterware的库)
(1)如果不使能cache,在ddr2中数据与L1D L2的数据是一致的,不存在一致性的问题
(2)按照下面的操作使能了cache,反而带了一致性的问题
CacheEnableMAR((unsigned int)FPGA_ADC_EDMA, 1280); //在L1D中数组buffer申请了空间
CacheEnable(L1PCFG_L1PMODE_32K | L1DCFG_L1DMODE_32K | L2CFG_L2MODE_256K); //将所有的存储器使能为cache
必须使用函数进行一致性操作
所以我想请教一下:在OMAPL138中进行数据操作的时候,主存储器(ddr2)是否是默认与L1D L2保持一致性,不必人为的去使能cahce功能,保证一致性
xiaobin lin:
自己顶一个