尊敬的支持部门:
我使用的是我的 CC1354P10-1 LP、并与采用 SDK v6.41的 TI-RTOS 一起运行、我有多个线程正在运行、其中1个线程正在进行处理并将数据传递给另一个执行额外处理的线程、然后向另一个传输无线电数据包的线程发送消息。 在线程之间使用信号量进行正确握手、以便按照预期正确处理和传输所有数据包。 然而、在某些时候(5到30秒、并且随机出现)、处理器锁定、并且当被调试器停止时、程序计数器一直位于这里(用黄色突出显示):
//*****
//
//将对讲机操作发送到门铃并等待确认
//
//*****
uint32_t RFCD 电容器 Sendto (uint32_t Pop)
{
//等到门铃可用
同时 (HWREG (RFC_DBELL_BASE + RFC_DBELL_O_CMDR)!= 0);
RFCAckIntClear ();
//通过门铃将命令提交给 CM0
HWREG (RFC_DBELL_BASE + RFC_DBELL_O_CMDR)=弹出;
//等待 CM0开始解析命令
同时 (! HWREG (RFC_DBELL_BASE + RFC_DBELL_O_RFACKIFG);
RFCAckIntClear ();
//返回状态寄存器的内容
返回 (HWREG (RFC_DBELL_BASE + RFC_DBELL_O_CMDSTA));
}
我已经尝试了很多不同的方法来帮助隔离问题、从增加延迟来打印语句、到更改线程优先级、都无法正常工作。 然而从黑暗中的刺伤,我发现,如果我取消选中.syscfg 文件的电源部分的"启用策略"框,如果修复了问题-一切都继续运行,没有更多锁定。
下面是几个问题:
1.) 您知道这里发生了什么、为什么会发生这种情况、以及为什么取消选中此复选框可以解决此问题?
2.) 选中此复选框的好处是什么?禁用它的不利之处是什么?
请告知。
谢谢。
时间