SUOTA应用程序在更新时无响应,停留在0%

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
8个职位/ 0个新职位
最后发表
mahmed106
离线
最后看到:3个月1个星期前
加入:2019-05-03所
SUOTA应用程序在更新时无响应,停留在0%

嗨对话框

我正在开发一个基于DA14681的定制板。我在这个董事会工作了一年多,它工作得很好。但是现在当我执行一个SUOTA更新,在第1,它曾经连接和突然断开和DA14681重启。

这是发生在我的固件是在这个月。旧公司的二进制运行良好,5个6个月的旧公司。

所以然后我禁用看门狗,现在当SUOTA更新正在进行时,它没有断开,但它冻结在0%,甚至45分钟。

我无法找到问题所在,也无法在发生这种情况的代码中找到我做了什么。cz最近6个月的旧binries找到了,但最近一个月没有找到。

请帮助我。

设备:
mahmed106
离线
最后看到:3个月1个星期前
加入:2019-05-03所
我已经问过了

我已经检查了调试器,它卡在这里

附件:
PM_Dialog
离线
最后看到:1周3小时前
工作人员
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

让我检查一下,然后再打给你。我可以问一下您在设计中使用的QSPI闪存是什么吗?

谢谢,PM_Dialog

mahmed106
离线
最后看到:3个月1个星期前
加入:2019-05-03所
GD25LQ80CEIG

GD25LQ80CEIG

Suota工作时,计时器0有1Khz的时间,但在20Khz失败

PM_Dialog
离线
最后看到:1周3小时前
工作人员
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

能否分享一下定时器是如何配置的?你能在非suota项目中复制这个吗?如果你能提供进一步的投入,以便在我这边复制,那将是非常有帮助的。

谢谢,PM_Dialog

mahmed106
离线
最后看到:3个月1个星期前
加入:2019-05-03所
空白_timer0_init(空白)

空白_timer0_init(空白)

Timer0_config CFG = {
/*
*选择时钟源。

*这可以是外部晶体XTAL32K(低功率时钟)
*或晶体XTAL16MHz(快速时钟)。

* \注意:如果选择慢时钟(XTAL32K),并在HW复位(冷启动),
晶体沉淀大约需要8秒(最坏情况)。
*因此,为了避免不同的PWM脉冲,你不应该启用任何计时器
*这段时间的功能。
*/
.clk_src = HW_TIMER0_CLK_SRC_FAST,

/*
*选择时钟分压器。

*在本例中,我们将选定的时钟源(即XTAL16MHz)除以8。
因此,TIMER0的实际时钟源是16/8 = 2MHz(每个时钟滴答0.5us)
*/
.fast_clk_div = HW_TIMER0_FAST_CLK_DIV_8,

/*对于PWM功能,应禁用计数器上的时钟分频器*/
.on_clock_div=false,

/*
* T0计数器值在每个时钟周期递减。一开始它是从
*M寄存器,然后,一旦达到零,从N寄存器加载(然后再次加载M和N)。

* PWM0在m寄存器计数时为高,在n寄存器计数时为低。

*在这个例子中,我们想要产生一个4kHz脉冲(250us周期)。这意味着TIMER0
*应该测量250us / 0.5us = 500个时钟滴答。
*/

/*
*占空比ON,用时钟滴答声表示。

*在这个例子中,我们想要产生一个占空比为50%的脉冲
*值应该设置为500 / 2 = 250个时钟节拍

*/
.t0_reload_m = 19,//1KHz 10% -> 199, 249, //减去1个时钟滴答,因为我们从0开始计数

/*
*占空比OFF,用时钟滴答声表示。

*在我们的例子中,这个值应该设置为(500 - 250)= 250个时钟节拍

*/
.t0_reload_n = 79,//1KHz 10% -> 1789,249, //减去1个时钟滴答,因为我们从0开始计数

/*
*该值声明了将发出中断的时间(用时钟滴答声表示)。
在一个典型的应用程序中,这个值等于m寄存器和n寄存器的和。

* \注意:当ON-counter到达0和T0-counter到达时将发出中断
* 0而递减的值加载在n寄存器。(当PWM周期全时
*完成)。例如,给定当前配置,将值设置为
*[500]将导致每2个PWM周期(500us)发出一个中断
*/
.on_reload = 98 //1KHz -> 1998,//498, // 249 + 249 = 498

/* PWM表21Khz
* 21千赫共92千赫,1千赫1998千赫
*高值= 92 x (PWM_Percentage/100)
* LowValue = 92 - High Value
* PWM %高低
5 5 87
9 83
78年14日15日
18 74
25 23 69
64年28日30日
35 32 60
40 37 55
45 41 51
50 46 46
55 51 41
60 55 37
65 60 32
70 64 28
75 69年23
18 80 74
85 78年14
90 83 9
95 87 5
100 92 0
*/

};

/ /初始化TIMER_0
hw_timer0_init(&cfg);

在一个非suota项目中,我可以做suota更新,这在一个suota项目中没有多大意义,问题发生在suota更新

PM_Dialog
离线
最后看到:1周3小时前
工作人员
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

谢谢你的更新-我会试着复制它。与此同时,是否可以使用BLE嗅探工具和共享捕获,以便我可以了解在空中发生了什么?

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:1周3小时前
工作人员
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

很抱歉耽误了你的时间,能和我分享一下这个项目吗?另外,您是否也可以共享嗅探器日志?

谢谢,PM_Dialog