Unhandled fault: Precise External Abort on non-linefetch 错误?
我的程序在启动时,有一定概率触发以下错误:
Unhandled fault: Precise External Abort on non-linefetch (0x1018) at 0x24800000
我估计是我访问mmap的内存引起的,因为我之前遇到过,如果我访问一个没有反应的物理地址映射出来的内存时,也会有类似的打印。
我有如下的疑问:
1、这个错误是在哪打印的?内核层还是用户层?
2、报错的地址是物理地址还是虚拟地址?因为即使在内核层,linux也是不能直接访问物理地址吧!而0x24800000
这个地址却是个实际的物理地址。而我之前出错时,出错的地址均是虚拟地址。这是为什么呢?