请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F280039C Thread 中讨论的其他器件:C2000WARE
工具与软件:
尊敬的专家:
我的客户使用 ERAD 执行堆栈自检测、以通过认证和实现以下功能。 此 示例根据 C:\ti\c2000\C2000Ware_5_02_00_00\driverlib\f28003x\examples\ERAD\ERAD_ex3_stack_overflow_detect.c
客户想知道 为什么 HWBP_STATUS 寄存器 偶尔有一个非0条件并且其他寄存器无法写入?
-
EALLOW;
//
//应用程序是所有者
//
清除 GlobalRegs.GLBL_owner.bit.owner = 1;
//
//常规屏蔽比较
//
EradHWBP1Regs.HWBP_CNTL.bit.COMP_MODE = 0;
//
//停止 CPU
//
// HWBP1Regs.HWBP_CNTL.bit.stop = 0;// No Stop
清除 HWBP1Regs.HWBP_CNTL.bit.RTOSINT = 1;// GEN RTOSINT
//
//地址的 DWAB 比较
//
清除 HWBP1Regs.HWBP_CNTL.bit.BUS_SEL = 2;
//
//清除 HWBP 事件
//
清除 HWBP1Regs.HWBP_Clear.bit.EVENT_CLR = 1;
//
//不设置掩码
//
清除 HWBP1Regs.HWBP_MASK = 0;
//
//设置参考地址
//
清除 HWBP1Regs.HWBP_REF = stackRefAddress;
//
//启用 HWBP
//
清除 GlobalRegs.GLBL_ENABLE.bit.HWBP1 = 1;
IER |= M_RTOS;//使能中断
EDIS;此致Anka Zhang
