亲爱的对话团队,
我使用UART在DA14585开发套件和来自另一个制造商的开发板之间进行通信。在大量数据交换的情况下,通信过程有时通过调用平台重置函数而中断,并被卡在那里。它发生在调试会话中执行代码时。当DA14585上闪烁带有代码的图像时,在正常操作过程中会发生什么?如何避免代码执行卡住(UART通信期间看门狗被冻结)?此时SW重置也适用于我,但是,正如我从函数内容中看到的,必须为此定义PRODUCTION_TEST宏,但这里不是这样。在不改变SDK代码的情况下,是否存在任何可行的方法?
void platform_reset_func(uint32_t error) {uint16_t tmp;//如果重置原因不是RESET_AFTER_SUOTA_UPDATE ASSERT_WARNING(error == RESET_AFTER_SUOTA_UPDATE),则触发断言; #endif // Trigger SW reset tmp = GetWord16(SYS_CTRL_REG); tmp = (tmp & ~REMAP_ADR0) | 0; // Map ROM at address 0 tmp |= SW_RESET; SetWord16(SYS_CTRL_REG, tmp); }