这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 在TC377三板上重置应用程序后SMUAG6/7中出现意外值的原因?

共2条 1/1 1 跳转至

在TC377三板上重置应用程序后SMUAG6/7中出现意外值的原因?

工程师
2024-03-01 14:52:22     打赏

在 Aurix TC377 triboard 上,我使用以下代码进行重启(应用程序重置),之后我在第一个代码行停下来,然后检查 SMU_AGX 寄存器。 但是 SMU_AG6/7 得到了意想不到的值:请查看下面的快照进行比较。
有理由认为 SMU_AG6/7 的值不符合预期吗?

重启代码:

206      /* Get the CPU EndInit password */

207      uint16_t CPUEndinitPw = IfxScuWdt_getCpuWatchdogPassword();

208

209      /* Configure the request trigger in the Reset Configuration Register */

210      IfxScuRcu_configureResetRequestTrigger(IfxScuRcu_Trigger_sw, IfxScuRcu_ResetType_application);

211

212      /* Clear CPU EndInit protection to write in the SWRSTCON register of SCU */

213      IfxScuWdt_clearCpuEndinit(CPUEndinitPw);

214

215      /* Trigger a software reset based on the configuration of RSTCON register */

216      IfxCpu_triggerSwReset();

寄存器比较:左边是安全手册中的预期值。 右边是我的 TC377 三脚板上的实际值:

来自 memtool 的 UCB_DFLASH 配置





关键词: TC377     SMU    

助工
2024-03-01 14:52:49     打赏
2楼

SMU_AG6/7 寄存器的意外值可能有以下几个可能的原因:

1. 软件配置问题:可能在重置应用程序之前或之后,软件配置了 SMU_AG6/7 寄存器的某些值,导致不符合预期的结果。

2. 硬件问题:可能存在硬件故障或连接错误,导致 SMU_AG6/7 寄存器无法正确读取或写入。

3. 中断或异常处理问题:在重置应用程序期间,可能发生了中断或异常处理事件,导致 SMU_AG6/7 寄存器的值被修改。

为了确定具体原因,可以进一步进行以下步骤:

1. 确保在重置应用程序之前和之后,没有其他代码修改了 SMU_AG6/7 寄存器的配置。

2. 检查硬件连接是否正确,并确保没有任何硬件故障。

3. 调试代码中可能与中断或异常处理有关的部分,以确定是否有任何影响 SMU_AG6/7 寄存器的事件发生。

4. 当 SMU_AG6/7 寄存器的值不符合预期时,比较其与预期值的差异,并根据差异分析可能的原因。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]