gpt4 book ai didi

linux - ARM Linux : bus error on one particular page of valid virtual memory

转载 作者:太空狗 更新时间:2023-10-29 11:15:45 25 4
gpt4 key购买 nike

我在嵌入式 ARM Linux 系统上工作,偶尔(但不总是)当访问虚拟地址 0x2b200000 的页面时,我的应用程序会出现总线错误。根据编译器/链接器是将代码还是数据放在该地址,我要么在读取变量时遇到总线错误,要么在从该页面获取指令时遇到总线错误。在出现总线错误后,我 cat/proc/self/maps 并确认该页面确实已映射到我的进程中有效的内容。

它似乎只是那一页。页面 0x2b201000 和 0x2b1ff000 总是正常的(很明显,在完全不同的地方可能有另一个错误的地址,我只是碰巧没有访问它)。

我知道这里有一百万个未知数,但想知道是否有人可以指出我的调查方向。系统有自定义驱动程序 .kos,它使用保留或隐藏在内核其余部分中的物理内存,但我不明白这对虚拟地址有何影响。

非常感谢任何宝贵的见解。

最佳答案

感谢大家的帮助。我发现了问题 - 行为不端的驱动程序期望某些用户地址是 2MB 对齐的。例如,如果有效的映射地址实际上是 0x2b3cc000,它将错误地对齐到 0x2b200000,并践踏我的应用程序!

关于linux - ARM Linux : bus error on one particular page of valid virtual memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10229600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com