使用OTA时休眠唤醒后芯片死机

了解更多常见问题教程

8个员额/0个新员额
最后一篇文章
万华奇方
离线
最后一次见到:1周3天前
加入:2020-01-02 07:07
使用OTA时休眠唤醒后芯片死机

我可能在SDK中发现了一个bug。当我将辅助引导加载程序放入外部闪存时,当芯片从休眠状态唤醒时。如果重新应用带隙寄存器,它将卡在“system_DA14531.c”上。

如果((GetBits16(HIBERN\u CTRL\u REG,HIBERNATION\u ENABLE)=1)和(&(GetBits16(SYS\u CTRL\u REG,REMAP\u ADR0)>1)){//应用带隙\u REG值SetWord16(带隙\u REG,booter\u val.BANDGAP\u REG);//应用CLK\u RC32M\u REG值SetWord16(CLK\u RC32M\u REG,booter\u val.CLK\u RC32M\u REG)//应用CLK\u RC32K\u REG值SetWord16(CLK_RC32K_REG,booter_val.CLK_RC32K_REG)//应用调试器配置SetBits16(SYS_CTRL_REG,debugger_ENABLE,booter_val.dbg_cfg);)

当我们从休眠中唤醒ExtFlash中的二级botloader存储时,无论我们在休眠前设置什么,在唤醒后重新映射ADR0总是>1。它将重新应用这些regs。

但在引导加载程序中,分散文件未定义“otp_cs_booter”部分的地址。这将导致对这些注册表应用不正确的值。这将导致芯片死机!

LR_1 0x07FC0000 0x00008000{;加载区域大小\u区域ER_1+0 0x00002000{;加载地址=执行地址*.o(重置,+First)*(在root$$Sections中)启动\u DA14531.o系统\u DA14531.o}ER_2 0x07FC8000 0x3000{;将其推到SysRAM的末尾。ANY(+RO)。ANY(+RW+ZI)。ANY(堆栈)}在地址0x07FCB000(0x07FC8000+0x3000)上方辅助引导加载程序不应使用RAM,且应保持未初始化状态。DA14531 TRNG软件机制使用的缓冲区必须仅使用未初始化的RAM空间,以便生成随机种子;自DA14531闪存编程以来,可馈送至;TRNG缓冲区的未初始化RAM数据的最大大小为0xA00rammer(UART版本);保留从0x07FCB000到0x7FCBA00的未附加内存空间。***********************************************************************************************************************************************************************************************************}

这是引导加载程序使用的分散文件。其中没有“otp_cs_booter”部分。

现在,让我们看看SDK关于“otp_cs_booter”部分的分散文件。

LR_IROM1 0x07fc0000 0xc0{;ER_IROM1 0x07fc0000 0xc0{;加载地址=执行地址*.o(重置,+FIRST).ANY(otp_cs_引导器)}

它设置.ANY(otp\u cs\u引导器)。所以从休眠中唤醒不会导致应用程序卡住,它只会导致辅助引导加载程序卡住!

请告诉我,当我将引导加载程序刻录到OTP时,bug会消失吗?

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

ER_1+0 0x00002000{;加载地址=执行地址*.o(重置,+First).ANY(otp_cs_booter);在此处添加节*(InRoot$$Sections)启动_DA14531.o系统_DA14531.o}

将节添加到引导加载程序scatter.ANY(otp_cs_booter);在此处添加节

设备:
PM_对话框
离线
最后一次见到:8小时34分钟前
工作人员
加入:2018-02-08 11:03
你好,

你好,

感谢您的反馈。请您指出您正在使用的SDK版本好吗?

谢谢,下午好

万华奇方
离线
最后一次见到:1周3天前
加入:2020-01-02 07:07
我使用的是SDK版本:6.0.14

我正在使用SDK版本:6.0.14.1114和修补程序

PM_对话框
离线
最后一次见到:8小时34分钟前
工作人员
加入:2018-02-08 11:03
你好,

你好,

谢谢你的意见。让我来评估一下,我会很快告诉你的。

坦斯克,下午对话

eddwhite1
离线
最后一次见到:2个月1天前
加入:2020-10-02 23:29
这是一个确认的错误吗

这是SDK中确认的错误吗?我还面临着休眠和在Flash中使用辅助引导加载程序的问题

万华奇方
离线
最后一次见到:1周3天前
加入:2020-01-02 07:07
为什么对话还没有结束

为什么对话还没有注意到呢?

PM_对话框
离线
最后一次见到:8小时34分钟前
工作人员
加入:2018-02-08 11:03
大家好,,

大家好,,

抱歉耽搁了。我们正在处理这件事,将在本周末回来。

谢谢,下午好

PM_对话框
离线
最后一次见到:8小时34分钟前
工作人员
加入:2018-02-08 11:03
大家好,,

大家好,,

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

谢谢,下午好