exception - 在 ARMv8 上的 EL1 中写入 RAM
问题描述
我正在为 armv8 arch 编写我的 RTOS,我正在使用 u-boot。现在,当我的板子启动时,它会在 EL1 中切换。但我不能写/读任何值。有没有办法禁用翻译表?还是其他地方的问题?提前感谢您的回答:)
解决方案
我用 sctlr_el1 禁用了 mmu,无论如何我添加了一些 asm 代码,我可以读取 ram。gcc 生成的代码会停止 cpu,这是 .s 文件
ldr w0, =__bss_size
它正在工作
adrp x19, __bss_size
ldr w0, [x19, #:lo12:__bss_size]
它是由 gcc 生成的,它不工作
推荐阅读
- python - 如果更深的卷积层首先收敛,这意味着什么?
- c# - 使用多线程删除 SQL Server 中的数据?
- python - Kivy,Python:更新标签 on_file_drop
- visual-studio-code - 如何从企业内部网络获取 Visual Studio 扩展?
- sql - Teradata 从多表错误的 UNION 创建表:(3707)
- php - 您如何使用 Timber 处理复杂的 ACF 灵活内容字段的上下文?
- sql-server - SQL 管理器 if 语句和 try/catch 语句
- c# - 在循环中将 CDATA 添加到节点值
- apache-curator - 策展人连接优先级/偏好
- c# - Winforms和服务之间的命名管道只能连接一次