gpt4 book ai didi

embedded - 嵌入式领域中的 "soft reset"和 "hard reset"有什么区别?

转载 作者:行者123 更新时间:2023-12-02 19:33:46 28 4
gpt4 key购买 nike

我认为:软重置:从重置向量启动。硬复位:拉CPU的电平。

最佳答案

硬复位当然意味着整个CPU芯片及其所有外设都被复位。造成这种情况的原因可能有很多:复位引脚被外部拉高、时钟故障、片内低电压检测、看门狗、非法指令陷阱等。

软复位可能意味着返回复位向量的“脏”分支,其中复位向量恢复包括堆栈在内的所有 CPU 核心寄存器。我想说这是非常值得怀疑的做法,我不确定它会有什么好处。主要问题是,当您执行此操作时,所有 MCU 外围硬件寄存器都不会重置为默认值。对所有此类寄存器的复位状态不做出任何假设几乎是不可能的,尤其是现在平均 MCU 带有 1000 多个寄存器。因此,通过这种软且脏的重置,您很可能最终会出现如下行为:

subtle intermittent bugs <= my program <= complete haywire

更牵强的是,软重置可能意味着由软件引起的重置。在这种情况下,它可能会向看门狗寄存器写入错误的值以强制复位,或者无法刷新看门狗。或者可能是执行了非法指令。这些很可能会导致整个芯片完全重置。

关于embedded - 嵌入式领域中的 "soft reset"和 "hard reset"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10491919/

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