nadamxl 发表于 2012-06-24 00:21

[PPC问题求助]内存异常改写:在CPU不知情的情况下发生内存改写。求各路高手支招,感谢

【环境信息】
硬件环境:PowerPC750
操作系统:VxWorks5.5.1

【问题描述】
系统正常运行过程中,内存中的数据会被改写,且改写发生的时候CPU不知情(依据是:设置了硬件数据断点以及MMU保护都未能抓住内存改写)。如果确实不是CPU发起的修改,那么应该是DMA引起的修改,但初步分析,环境中的DMA设备较少,且从对DMA设备描述
符的监控情况来看,应该没有异常。
被修改的数据有个特点:修改的起始地址为32字节对齐的,内容多为全零,偶尔有少数非零字节,目前看到的都是小于10的。

请教各路大侠:
1、在系统中能访问内存的方式除了CPU发起的修改和DMA修改之外,还有没有其他途径可能导致内存值改写?
2、还有什么招可以用于定位此问题?

prc 发表于 2012-06-26 12:34

任何可以写memory的设备都可能导致此问题,比如card reader,flash controller,等等

此外,还有其他的可能性
1. 不同的虚地址指向相同的物理地址
2. 对cache没有进行正确的invalidate / write-back 操作
页: [1]
查看完整版本: [PPC问题求助]内存异常改写:在CPU不知情的情况下发生内存改写。求各路高手支招,感谢