gpt4 book ai didi

arm - ARM/THUMB 状态切换

转载 作者:行者123 更新时间:2023-12-04 23:10:43 27 4
gpt4 key购买 nike

为什么 ARM Controller 在发生异常时要从 THUMB 状态返回到 ARM 状态?

最佳答案

一种解释可能是 ARM 模式是 CPU 的“ native ”操作模式,与有限的 Thumb 模式相比,在该模式下可以执行更多操作。据我所知,Thumb 模式针对代码大小进行了优化,这可能意味着它缺少某些在异常处理中可能是必需的指令。

This page提到异常处理总是在 ARM 模式下完成。它没有提供任何原因,所以也许它只是设计的方式。不过,它确实讨论了从异常处理退出到正确(ARM 或 Thumb)模式的方法,因此只要您不是自己编写异常处理程序,您就可以忽略这个问题。当然,这假设您的系统设置了一个“默认”异常处理程序,该处理程序保留了执行模式。

另一方面,this page这么说,关于 Cortex-M3 ARM 实现的中断向量:

The LSB of each exception vector indicates whether the exception is to be executed in the Thumb state.



所以它似乎并不普遍正确,也许您可​​以让您的特定异常在 Thumb 模式下运行。

关于arm - ARM/THUMB 状态切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1554497/

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