两年前
平台\u重置\u func调用方
过帐人gbmej0分 7答复你好,
我在函数中有断言平台\u reset\u func()
:
#ifdef RAM\u构建
void platform\u reset\u func(uint32\u t错误)
{
复位\u原因=错误;
断言错误(0);
}
你在论坛上说这个函数是在函数调用时调用的平台\u重置()
由软件调用。但是,我从未调用这个函数,而且在SDK中没有调用程序。你能解释一下这个函数是怎么调用的吗?我没有读过错误代码,但即使有错误代码值,我也不知道我能做什么,因为我不认识调用方。。。
谢谢。
gbmej
两年前
谢谢你的回答。
我有另一个CPU,它驱动680,它可以重置它使用680的复位引脚。但是在大多数情况下,函数平台uReset_uFunc()从未被调用,也不会抛出assert。680刚刚重新启动。
680在错误时也可以重新启动自己(硬故障、自由操作系统错误,如堆栈溢出等)。但是在这种情况下重新启动之前,我先记录重新启动状态,然后让680重新设置自己(调用hw\cpm\u reboot\u system()或使用看门狗),而我从未看到日志。
正如你所说,我有一些东西可以重新引导680,但我不知道。。。
正如我之前所说,我没有读过错误代码(680放在黑匣子里),但即使我能读到它,我也不知道哪些是可用的错误代码,我可以在哪里玩以防止重新启动。
谢谢,gbmej
两年前
嗨,gbmej,
重置后,如果您不使用保留的\u unnit属性,则日志中的数据将不会保留。此属性将使您的数据在680重新启动后未初始化到保留RAM中,系统初始化将再次启动。您能在调试模式下运行代码并检查代码崩溃的位置吗?您是否启用或禁用了看门狗?请尝试使用启用和禁用的看门狗运行固件,并让我知道您的代码卡在哪里。另外,您能否澄清SDK的哪个示例以及您使用的是哪个板?您是否开发了带有DA14680芯片的自定义板,或在我们的开发工具包中运行固件?如果您有自定义板,请检查电源线和可能的原因ii,为什么您要获得BOD复位。
谢谢,下午好
两年前
你好,
我有一个定制的板,在黑匣子里(没有jtag,没有序列号)。在重新启动之前,我已经记录了这个断言。我无法在开发板上或在带有jtag的板上复制。我唯一能看到的是,这个断言已经被抛出,我不知道为什么。此外,这种说法非常罕见,因此我很难对其进行调查。
-看门狗已禁用。
-SDK 1.0.8
我会按照你说的检查电源线。
谢谢你的帮助
gbmej
两年前
你好,
断言错误代码为重置\u MEM\u ALLOC\u失败
. 哪个代码的和平可以抛出这个错误?我必须扩展哪些堆/堆栈/范围?
谢谢,
gbmej
注:在我的项目中,马洛克
连接到FreeRTOS malloc;我已经启用了FreeRTOS分配错误。FreeRTOS上没有错误(回调未调用),但我已重置了平台重置\u MEM\u ALLOC\u失败
错误代码。。。
两年前
嗨,gbmej,
Τ平台reset_ufunc(),它是从平台u reset()调用的,是一个由ROM代码实现的函数。获得此断言的最可能原因是内存不足,或者是某些东西触发680本身的重置pin。你能澄清一下你想完成什么吗,因为你的描述很通用。这将是非常有帮助的,以便为您提供正确的指导方针。
谢谢,下午好