使用OTA时冬眠唤醒后芯片死亡

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
8个帖子/ 0新
最后一篇
万华奇芳
离线
最后一次露面:3个月1周前
加入:2020-01-02 07:07
使用OTA时冬眠唤醒后芯片死亡

我发现也许是SDK中的错误。当我将二级引导加载程序放入外部闪光灯时,芯片从休眠唤醒时。它将陷入“system_da14531.c”重新应用Bandgap Regs。

if((getbits16(hibern_ctrl_reg,hibernation_enable)== 1)&&(getbits16(sys_ctrl_reg,remap_adr0)> 1))){//应用bandgap_reg值setword16(bandgap_reg,booter_val.bandgap_reg);//应用clk_rc32m_reg值setword16(clk_rc32m_reg,booter_val.clk_rc32m_reg);//应用clk_rc32k_reg值setword16(clk_rc32k_reg,booter_val.clk_rc32k_reg);//应用调试器配置setbits16(sys_ctrl_reg,debugger_enable,booter_val.dbg_cfg);}

当我们从eREDFLASH唤醒次击静电时,每当我们在Hibernate之前设置的时候,rawap_adr0将始终>唤醒。它将重新申请这些regs。

但是在引导加载程序中,分散文件未定义“otp_cs_booter”部分`s地址。它将导致对这些regs应用不正确的价值。它会导致芯片死了!

lr_1 0x07fc0000 0x00008000 {;加载区域size_region er_1 +0 0x00002000 {;加载地址=执行地址* .o(重置,+第一)*(Inroot $$部分)startup_da14531.o system_da14531.o} er_2 0x07fc8000 0x3000 {;将其推到Sysram .any(+ Ro).any(+ RW + Zi).any(堆栈)};***************************************************************************;以上地址0x07fcb000(0x07fc8000 + 0x3000),RAM不得;由辅助引导加载程序使用,并应保持未初始化。缓冲区;DA14531 TRNG软件机制使用必须仅使用未初始化;RAM空间以产生随机种子。 ; ; The maximum size of the uninitialized RAM data, which can be fed to the ; TRNG buffer, is 0xA00 since the DA14531 flash programmer (UART version) ; leaves unattached the memory space from 0x07FCB000 to 0x7FCBA00. ; *************************************************************************** }

这是引导程序使用的分散文件。没有“OTP_CS_BOOTER”部分。

现在,让我们看到SDK的分散文件有关“OTP_CS_BOOTER”部分。

lr_irom1 0x07fc0000 0xc0 {;ER_IROM1 0x07FC0000 0xC0 {;加载地址=执行地址* .o(重置,+第一个).any(otp_cs_booter)}}

它设置了.any(otp_cs_booter)。因此,从休眠唤醒Wone的原因应用程序卡住,它只导致二级引导程序卡住了!

请告诉我,当我将bootloader刻录到OTP时,错误会消失吗?

或者,我可以使用这种方法来解决吗?

er_1 +0 0x00002000 {;加载地址=执行地址* .o(重置,+第一).any(otp_cs_booter);添加部分*(Inroot $$部分)startup_da14531.o system_da14531.o}

将部分添加到引导加载程序分散.any(otp_cs_booter);在此添加部分

设备:
PM_DIALOG.
离线
最后一次露面:1天17小时前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

谢谢你的反馈。您能否注明您正在使用的SDK版本?

谢谢,PM_DIALOG.

万华奇芳
离线
最后一次露面:3个月1周前
加入:2020-01-02 07:07
i`M使用SDK版本:6.0.14

i`M使用SDK版本:6.0.14.1114使用修补程序_001

PM_DIALOG.
离线
最后一次露面:1天17小时前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

谢谢你的建议。让我评估一下,我会很快告诉你。

Thansk,PM_Dialog.

eddwhite1.
离线
最后一次露面:5个月4周前
加入:2020-10-02 23:29
这是一个确认的错误

这是SDK中的确认错误吗?我也面临休眠问题,并在闪存中具有辅助引导加载程序

万华奇芳
离线
最后一次露面:3个月1周前
加入:2020-01-02 07:07
为什么对话_pm没有

为什么对话框_PM没有注意到它?

PM_DIALOG.
离线
最后一次露面:1天17小时前
职员
加入:2018-02-08 11:03
大家好,

大家好,

为延迟道歉。我们正在努力,并将在本周末回来。

谢谢,PM_DIALOG.

PM_DIALOG.
离线
最后一次露面:1天17小时前
职员
加入:2018-02-08 11:03
大家好,

大家好,

请查看更新的SW示例,演示如何在休眠模式下配置DA14531。这是下载它的链接:DA14531配置休眠和状态感知休眠模式。在运行此示例之前,我建议首先检查自述文件。

谢谢,PM_DIALOG.