您好!
我们在用TMS320F28335,外置独立看门狗芯片。由于产品为安全应用,所以在代码中需要添加一些异常检测程序来防止异常。比如MCU片内部集成RAM存储区损坏。如果自检程序运行时检查到异常,应当让MCU的输出导向安全侧。
经查阅资料,有一种做法是采取断言调用assert()函数,那调用该函数之后MCU进入了什么状态呢?是进入了调试模式了吗?假设进入了调试模式的话,MCU就不会再去喂看门狗,那么看门狗会定时复位MCU,从而让系统进入周期复位的模式,这种做法是否可取?有没有更好异常处理方法?
谢谢
Young Hu:assert适用于调试阶段做代码验证的。
如果批量的产品的话,可以采用带ECC RAM的c2000芯片,单bit错误会被纠正,2个及以上的会触发NMI中断,进行后续处理。
您好!
我们在用TMS320F28335,外置独立看门狗芯片。由于产品为安全应用,所以在代码中需要添加一些异常检测程序来防止异常。比如MCU片内部集成RAM存储区损坏。如果自检程序运行时检查到异常,应当让MCU的输出导向安全侧。
经查阅资料,有一种做法是采取断言调用assert()函数,那调用该函数之后MCU进入了什么状态呢?是进入了调试模式了吗?假设进入了调试模式的话,MCU就不会再去喂看门狗,那么看门狗会定时复位MCU,从而让系统进入周期复位的模式,这种做法是否可取?有没有更好异常处理方法?
谢谢
Frank Lee96:
回复 Young Hu:
那要是自检程序监测到异常应该让CPU执行什么指令或操作来避免危险侧输出呢?