尊敬的团队
我参考安全库2.4演示代码。
在 sys_startup.c 中、我有一些问题
——————————————————————————————————————————————————————————————————
否则、如果(RESET_TYPE_CPU = resetResason)
{
SYS_EXception = CPU_RESET;
/*复位可能由 stcSelfCheck 运行或实际的 CPU 自检运行引起*/
/*检查这是否是 stcSelfCheck 运行*/
if ((stcREG->STCSCSCR & 0xFU)== 0xAU)
{
/*检查自检失败位是否已设置*/
if ((stcREG->STCGSTAT & 0x3U)!= 0x3U)
{
/* STC 自检失败*/
stcSelfCheckFae();
}
/* STC 自检已通过*/
其他
{
/*清除自检模式*/
stcREG->STCSCSCR = 0x05U;
/*清除 STC 全局状态标志*/
stcREG->STCGSTAT = 0x3U;
/*清除 ESM 组1通道27状态标志*/
esmREG->SR1[0U]= 0x08000000U;
/*启动 CPU 自检*/
cpuSelfTest (STC_INTERVAL、STC_MAX_TIMEOUT、TRUE);
}
}
/* CPU 自检完成导致的 CPU 复位*/
否则、如果((stcREG->STCGSTAT & 0x1U)== 0x1U)
{
/*设置自检失败标志*/
if ((stcREG->STCGSTAT & 0x2U)== 0x2U)
{
/*调用 CPU 自检故障处理程序*/
cpuSelfTestFae();
}
/*成功完成 CPU 自检*/
其他
{
/*清除 STC 全局状态标志*/
stcREG->STCGSTAT = 0x1U;
/*在 CPU STC 完成后继续启动序列*/
fterSTC();
}
}
/*软件写入 CPU 复位位引起的 CPU 复位*/
其他
{
/*在此处添加自定义例程以处理软件导致 CPU 复位的情况*/
}
}
————————————————————————————————————————————————————————————
我认为 CPU 能够在 CPU 自检(“SL_Self_Test_STC”)复位后进入这里。
if ((stcREG->STCSCSCR & 0xFU)== 0xAU)
此代码意味着什么?它意味着自检? 在此处输入的情况是什么
和该代码
cpuSelfTest (STC_INTERVAL、STC_MAX_TIMEOUT、TRUE);
SL_Self_Test_STC 之间的区别是什么