本帖最后由 一只耳朵怪 于 2018-6-19 14:24 编辑
大家好,我用的是6678
开发板,看数据手册上有这么一段
To support MSMC, the L2 memory controller forces the MAR.PC bit corresponding to the MSMC memory to 1 (always MAR12.PC through MAR15.PC). This makes the MSMC memory always cacheable within L1D when accessed by its primary address range. Secondary ranges may exist due to aliases configured with XMC’s MPAX unit—these ranges are governed by their corresponding MAR.PC bits.
意思是说如果我访问MSMC的地址空间0x0C000000-0xC03FFFFF ,一共4MB时,数据会被cache到L1D,因为项目需要多核都会访问这个空间的数据,我想把这段空间CACHE禁止,怎么做。这段空间对应的MAR是只读的,试着改过了,没效果,CACHE还是开着。