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分钟。

我不能找到什么是问题,我在代码中做了什么,这是发生的。发现了6个月大的双星,但没有发现1个月大的。

请帮助我。

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

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

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

嗨mahmed106,

让我查一下,然后给你答复。请问您在设计中使用的QSPI flash是什么?

谢谢,PM_Dialog

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

GD25LQ80CEIG

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

PM_Dialog
离线
最后看到:1周2小时前
工作人员
加入: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-counter时钟分压器应该被禁用*/
.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
69年25日23日
64年28日30日
35 32 60
40 37 55
45 41 51
50 46 46
55 51 41
60 55 37
65 60 32
28 70 64
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周2小时前
工作人员
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

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

谢谢,PM_Dialog

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

嗨mahmed106,

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

谢谢,PM_Dialog