arm - 在 LDR 之后立即在 ARM 中预取中止
问题描述
我在此代码段中面临系统预取中止。我在中断服务例程中面临 2 -3 预取中止。
LDR r1, [r5] ; Load branch address from vector table and branch
UXTH r0,r4 ; load vector number as argument to call
BLX R1
在检查核心转储时,我可以看到 r5 寄存器的内容是有效的,并且 r5 寄存器指向的内存也具有有效信息,即有效信息的地址。
是否可能是保留 uxth 指令的效果。请建议
如果我们将 UXTH 保持在 LDR 以上,这个问题会得到解决吗
UXTH r0,r4 ; load vector number as argument to call
LDR r1, [r5] ; Load branch address from vector table and branch
BLX R1
解决方案
推荐阅读
- razor - Razor 无法正确渲染特殊字符
- vuejs2 - 在 beforeMount() 中操作 v-model 时,el-select 不显示所选标签
- database - arangodb 数据定义执行问题
- javascript - 如何在笑话中获取锚标签的文本
- html - 父级上的框阴影必须忽略子级边距
- angular - 在指令(材料)中注入宿主组件
- c# - 未拍摄屏幕截图 - C# Selenium WebDriver
- ruby-on-rails - Rails 5.2 用于生成两个查询的关系的缓存键
- django - Django-admin 必须填写的字段之一 django-models
- javascript - 你能告诉我如何在我的 html 幻灯片中添加图像和文本吗?