您好专家、
我的客户在不同的闪存扇区上同时执行应用程序和引导加载程序映像。 它们需要在两个映像的开头使用 codestartbranch.asm 在这两个映像之间跳转。 两个问题:
第一个:
您能解释一下将外设热恢复到其复位状态的方法吗?
第二个:
在切换图像时、我们是否需要对全局变量、静态变量或自动变量采取行动?
谢谢
谢尔登
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好专家、
我的客户在不同的闪存扇区上同时执行应用程序和引导加载程序映像。 它们需要在两个映像的开头使用 codestartbranch.asm 在这两个映像之间跳转。 两个问题:
第一个:
您能解释一下将外设热恢复到其复位状态的方法吗?
第二个:
在切换图像时、我们是否需要对全局变量、静态变量或自动变量采取行动?
谢谢
谢尔登
您好、Sheldon、
[引用用户="Sheldon He "]
第一个:
您能解释一下将外设热恢复到其复位状态的方法吗?
[/报价]
您能否进一步解释一下热复位的含义? 他们想要重置所有外设、还是仅重置某些外设? 许多(如果不是全部)外设都有一个寄存器位来复位外设。
[引用用户="Sheldon He "]
第二个:
在切换图像时、我们是否需要对全局变量、静态变量或自动变量采取行动?
[/报价]
不确定。 需要返回给您或让其他人在此处发表评论。
最棒的
Kevin
您好、Sheldon、
[引用 USER="Sheldon He ]]我说热复位来描述这种情况:将一些外设的寄存器位(所有这些位)设置为在不关闭器件电源的情况下复位值。 他们希望在不关闭电源的情况下重置其中的大部分内容。
实现这一点的一种方法是向看门狗寄存器写入一个错误的密钥、然后让 WD 对器件进行热复位。 复位后、代码可以分支到所需的映像。 这个热复位确保所有外设被复位、而不是单独复位每个外设。
[报价用户="Sheldon He "]我知道一些类似 SCI 的软件会被重置,但您是否可以列出任何其他类似的外设?
我没有一个包含寄存器复位位位位的所有外设的明确列表、但我知道所有通信外设至少都有。 需要检查 TRM 部分以了解其他外设。
[引用 USER="Sheldon He ]BTW、如果我们不使用某些外设、您是否可以切断它的时钟电源? 这是否足够安全、足以杀死它?[/引述]
不知道什么是"终止"、但您确实可以关闭到未使用外设的时钟。
[引用 USER="Sheldon He "]在切换图像时,我们是否需要对全局变量、静态变量或自动变量执行操作?
变量的处理最终由应用程序负责。 我要说的是、RAM 内容在热复位期间被保留。
最棒的
Kevin