gpt4 book ai didi

arm - 重新定位 ARM 异常向量?

转载 作者:行者123 更新时间:2023-12-01 16:09:38 24 4
gpt4 key购买 nike

我将如何重新定位 ARM 异常向量 ?

基本上,我需要能够以某种方式重新映射它们,因此当 ARM 内核尝试执行向量时,它应该执行存储在内核 RAM 位而不是 中的自定义异常向量。只读存储器那是在0x0 .那可能吗?还是我打算将中断从 路由到内核?只读存储器 ?

所以本质上,有没有办法告诉 ARM 内核,“这是你的向量表的新地址”? 我知道你可以在高矢量模式下启动 CPU,但这不是我想要的。我需要能够动态地将向量基数设置为自定义地址。

最佳答案

这高度依赖于您正在使用的核心。

Cortex-M3 芯片可以使用系统控制 block 中的向量表偏移寄存器 (VTOR) 更改基地址。一些实现可能会限制可能的地址。

在“传统”芯片(ARM7/9、Cortex-A/R)中,我认为没有一个允许您指定任意基数,尽管它们中的大多数可以在 00000000 和 FFFF0000 之间切换,少数允许使用“start of RAM”地址。

但是,如果芯片有 MMU,您通常可以在 FFFF0000 映射一个 RAM 页面并将您的处理程序复制到那里。我相信这就是 Linux 所做的。

关于arm - 重新定位 ARM 异常向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8969792/

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