首页 > 解决方案 > 在 ARMv8 上的 EL1 中写入 RAM

问题描述

我正在为 armv8 arch 编写我的 RTOS,我正在使用 u-boot。现在,当我的板子启动时,它会在 EL1 中切换。但我不能写/读任何值。有没有办法禁用翻译表?还是其他地方的问题?提前感谢您的回答:)

标签: exceptionassemblyarmu-bootrtos

解决方案


我用 sctlr_el1 禁用了 mmu,无论如何我添加了一些 asm 代码,我可以读取 ram。gcc 生成的代码会停止 cpu,这是 .s 文件

ldr   w0, =__bss_size

它正在工作

adrp x19, __bss_size ldr w0, [x19, #:lo12:__bss_size]

它是由 gcc 生成的,它不工作


推荐阅读