工具与软件:
尊敬的 TI 团队:
我目前在项目的终端上显示系统重置原因时遇到问题。
我已经实现了以下代码、来读取 RESETCTL 寄存器并检查 MCU 复位的原因:
#ifdef MCU_RESET_REHION
//读取 RESETCTL 寄存器
resetctl_value = HWREG (AON_PMCTL_BASE + AON_PMCTL_O_RESETCTL);//检查 MCU 复位原因
check_reset_source (resetctl_value);
#endif /* MCU_RESET_REHION */
在该check_reset_source
函数中、我定义了各种复位条件。 但是、我注意到、对于软件复位以及看门狗触发器在 VDDS 上显示"欠压检测"时、复位原因相同、而不是仅显示相关的原因。 以下是我的check_reset_source
实施的一部分:
void check_reset_source (uint32_t resetctl_value)
{//各种复位源的位位置/* 0h =上电复位1h =复位引脚、2h = VDDS 上的欠压检测、4h = VDDR 上的欠压检测、5h = SCLK_LF、SCLK_MF 或 SCLK_HF 时钟丢失检测、6h =通过 SYSRESET 或硬件电源管理超时检测实现软件复位。 注意:硬件电源管理超时电路始终处于启用状态。 7h =通过 PRCM 热复位请求*/进行软件复位
if (resetctl_value 和 POR_RST){
strcpy (resetMessageBuffer、"POR_RST\r\n");
//正在记录...
}
否则、if (resetctl_value & RST){
strcpy (resetMessageBuffer、"RST\r\n");
//正在记录...}
//附加重置检查...
否则{
strcpy (resetMessageBuffer、"UKN_RST\r\n");
//正在记录...
}
以下是项目详细信息。
- 微控制器: CC2651R3
- SDK: simplelink_cc13xx_cc26xx_sdk_7_41_00_17
- CCS 版本: CCS12.7.
- 基本代码: Project Zero
您能否提供有关如何修改check_reset_source
功能的指导、以确保仅记录并显示正确的重置原因?
谢谢你
此致、
Aarohi Shirbavikar