我有个产品,出现死机情况,程序是有设置看门狗的。
我做了两个任务,一个RF任务优先级最高,2分钟唤醒发一包数据。另一个任务优先级低一级,维护闪灯和串口,8s唤醒一次并喂狗,可通过引脚中断唤醒,唤醒后开启串口休眠前关闭串口。
现在有个产品,无线不工作了,且串口也不工作了。我尝试通过debug running去查看目前程序处于什么情况。但是连接不上,报错,我试了一下其他的板子,都是可以仿真的。这是怎么回事,求助!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我有个产品,出现死机情况,程序是有设置看门狗的。
我做了两个任务,一个RF任务优先级最高,2分钟唤醒发一包数据。另一个任务优先级低一级,维护闪灯和串口,8s唤醒一次并喂狗,可通过引脚中断唤醒,唤醒后开启串口休眠前关闭串口。
现在有个产品,无线不工作了,且串口也不工作了。我尝试通过debug running去查看目前程序处于什么情况。但是连接不上,报错,我试了一下其他的板子,都是可以仿真的。这是怎么回事,求助!
您好,
您先查看这个和您有相同问题的帖子,尝试帖子中的步骤或许可以解决您的问题:https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/589066/ccs-launchxl-cc1310-icepick_c-error-connecting-to-the-target-error--242-0x0-a-router-subpath-could-not-be-accessed-the-board-configuration-file-is-probably-incorrect-emulation-package-6-0-576-0
您收到的错误 242 显示在以下页面的第 5.24 节中:
https://software-dl.ti.com/ccs/esd/documents/ccsv7_debugging_jtag_connectivity_issues.html
你好,我们这边测试发现,我程序选用的是外部晶振,正常的板子,休眠的时候,外部晶振是起振的,但是这死机的板子,外部晶振是不振的。请问导致这种情况,会有哪些可能呢?
死机时外部晶振不振原因可能是:死机的板子提供给外部晶振的电源电压和电流供应不符合要求。
请参阅技术参考手册中关于 external crystal 的介绍:
你好,你这个原因我已经让硬件工程师去查了。
从软件角度,我想分析一下。我休眠是用信号量阻塞,然后休眠前启用定时器,定时器回调里释放信号量。
我这边分析了两个方向可能。
一:定时器时钟源是外部晶振,如果外部晶振不振了,那定时器唤醒不了任务,我可以理解。但是为什么引脚中断也失效了?
二:如果是我运行过程中,哪里溢出改掉了CCFG里的
1.死机的原因可能由硬件、软件错误、系统崩溃或其他不正常情况引起的。
2.因此要定位外部晶振不振也需要从以上几个方面考虑,可能的原因有:
以上是一般性考虑,具体的原因需要根据外部晶振的配置要求来考虑,可以参考一下外部晶振软件方面的设置问题,在下面链接中:
3.硬件方面参考上个回答的技术手册即可。
看门狗没起作用的原因有很多,其中一些可能包括:
1、目前表现的现象就是外部晶振没在工作,我看了手册里看门狗的结构,时钟源就是SCLK_LF。那是不是说,看门狗的时钟来源是外部晶振?
但是我尝试了把配置选项改成外部晶振的程序烧录到没接外部晶振的板子上,这时候看门狗又会起作用一直复位。
2、没有定时喂狗不应该就会复位吗?现在来看是没有复位。
3、看门狗定时器配置没问题,正常的板子如果不喂狗的话会复位。
1.
目前表现的现象就是外部晶振没在工作,我看了手册里看门狗的结构,时钟源就是SCLK_LF。那是不是说,看门狗的时钟来源是外部晶振?
但是我尝试了把配置选项改成外部晶振的程序烧录到没接外部晶振的板子上,这时候看门狗又会起作用一直复位。
据我所知,看门狗的时钟源默认应该是高速晶振。
2.对的,没有定时喂狗会导致系统复位重置。
据我说知,在我工作期间我使用的是高速晶振工作,我进入休眠的时候,用的是低速晶振高速晶振应该是关闭的吧,那休眠时候,外部低速晶振不起来,导致我定时器没正常工作,唤不醒我的mcu高速晶振没工作,那看门狗就不起作用了吧。
你好,我想问问,CCFG配置里和晶振相关的内容在初始化的时候会写入寄存器,那这些寄存器在运行的过程中运行修改吗?
假设我有个数组溢出了,刚好和这些寄存器的地址一样,会修改掉吗?
外部晶振没有振动的原因是什么?
1.物理状态有没有问题:检查连接、是否焊接不良等。
2.电源供电是否稳定?
3.晶振本身可能存在故障?
您是否可以抓包看一下设备在快要死机时的软件状态,可以更直接定位问题。
如果你对使用外部晶振还是内部晶振没有要求,那为什么不直接使用内部晶振呢。
抱歉,我们没找到原因,所以我才在向您咨询。
1、焊接没有问题
2、电源电池供电,还是很稳定的。
3、这个晶振在别的产品上已经用过很多,没什么问题。
4、这个是在挂机中出现的,而且不是必现的。很难通过抓包去看。
5、因为对时间要求很高,只能使用外部晶振‘。
另外,我们发现正常的样机,VDDS输入3.3V,VDDR输出1.6V,但是异常的样机VDDR无输出;DCDC_SW正常有3V,异常无电压 ;DCOUPL正常输出1.27V,异常无电压。
您好,
SWCU185 (CC13x2、CC26x2 SimpleLink 无线 MCU 技术参考手册)的 第 7.7.1.1 节:https://www.ti.com/lit/swcu185 表示可以启用时钟丢失检测功能(检测到 SCLK_LF 丢失会导致系统重置(如果启用)。
您可以查看第 7.5 节吗 和 SWCU185 的7.7 并检查这个吗?
另外,您可以使用以下方式提交其设计以供审核: 低于 1 GHz 设计审核提交:https://www.ti.com/tool/SIMPLELINK-SUB1GHZ-DESIGN-REVIEWS
通过设置 DDI_0_OSC:CTL0.CLK_LOSS_EN 和 AON_SYSCTL:RESETCTL.CLK_LOSS_EN 来启用时钟丢失检测
当通过 DDI_0_OSC:CTL0.CLK_LOSS_EN 和
AON_PMCTL:RESETCTL.CLK_LOSS_EN 寄存器,检测到 SCLK_LF 丢失会导致系统复位。
恢复后,AON_PMCTL:RESETCTL.RESET_SRC 寄存器显示时钟丢失作为复位源。
你好,这两个选项我检查了,都是使能的。但是在休眠期间晶振停止后是不起作用的。
另外,我发现正常的样机只要短路了外部晶振,就会出现
”另外,我们发现正常的样机,VDDS输入3.3V,VDDR输出1.6V,但是异常的样机VDDR无输出;DCDC_SW正常有3V,异常无电压 ;DCOUPL正常输出1.27V,异常无电压。”
这个现象,这是1310芯片自身的什么保护机制吗?
目前表现的现象就是外部晶振没在工作,我看了手册里看门狗的结构,时钟源就是SCLK_LF。那是不是说,看门狗的时钟来源是外部晶振?
它的时钟为SCLK_HF,默认通常为48MHZ XOSC_HF。