platform_reset_func调用者

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
8个帖子/ 0个新
最后发表
gbmej
离线
最后看到:2年4个月前
加入:2017-09-13 3
platform_reset_func调用者

你好,
我在函数中得到了assertplatform_reset_func ()

#ifdef ram_build.
空白platform_reset_func (uint32_t错误)

reset_reason =错误;
ASSERT_ERROR (0);


你在论坛中说这个函数在函数时被调用platform_reset ()被称为SW。但是,我从来没有调用这个函数,我在SDK中没有看到调用者。你能给我解释一下这个函数是怎么调用的吗?我没有读到错误代码,但即使有错误代码值,我也不知道我能做什么,因为我不知道调用者…

非常感谢。
gbmej

设备:
PM_Dialog
离线
最后看到:2天7小时前
工作人员
加入:2018-02-08 11:03
嗨gbmej,

嗨gbmej,

Τhe platform_reset_func()是从platform_reset()调用的,它是一个由ROM代码实现的函数。得到这个断言的最可能的原因是内存不足,或者有什么触发了680本身上的复位引脚。你能不能澄清一下你想要实现的目标,因为你的描述太笼统了。为你提供正确的指导将是非常有帮助的。

谢谢,PM_Dialog

gbmej
离线
最后看到:2年4个月前
加入:2017-09-13 3
谢谢你的回答。我

谢谢你的回答。

我有另一个CPU驱动680,它可以使用680的重置引脚重置它。但是在大多数情况下,不会调用platform_reset_func()函数,也不会抛出断言。680只是重新启动。
680也可以重启自己的错误(硬错误,freertos错误,如堆栈溢出等)。但是在这种情况下重新启动之前,我记录了重新启动状态,然后让680重新启动(调用hw_cpm_reboot_system()或使用看门狗),我从来没有看到我的日志。
就像你说的,我有一些重启680的东西,但是我不知道是什么…
正如我前面所说的,我没有读取错误代码(680放在一个黑盒中),但即使我可以读取它,我也不知道哪些是可用的错误代码,以及我可以在哪里发挥,以防止这种重新启动。

谢谢,gbmej

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

嗨gbmej,

重置后,如果你没有使用__RETAINED_UNINIT属性,日志中的数据将不会被保留。这个属性将使您的数据在680重新启动和系统初始化重新开始后保持在保留RAM中未初始化。你能在调试模式下运行你的代码并检查代码在哪里崩溃吗?你启用或禁用看门狗了吗?请尝试运行你的固件与启用和禁用看门狗,让我知道你的代码在哪里卡住。另外,你能解释一下哪个SDK的例子和你使用的是哪个板吗?您是否开发了带有DA14680芯片的定制板,或在我们的开发套件中运行您的固件?如果您有定制板,请检查电源线和可能的原因ii,为什么您得到一个BOD复位。

谢谢,PM_Dialog

gbmej
离线
最后看到:2年4个月前
加入:2017-09-13 3
你好,

你好,

我有一个定制板,在一个黑盒(没有jtag,没有串行)。在重新引导之前,我已经记录了这个断言。我不能在一个开发板上或在一个带有jtag的板上复制。我唯一能看到的是,这个断言被抛出了,我不知道为什么。此外,这个断言是非常罕见的,所以我很难对它进行研究。
—关闭看门狗。
- - - - - - SDK 1.0.8
我会照你说的检查电线。
谢谢你的帮助

gbmej

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

嗨gbmej,

请在开启看门狗的情况下运行固件。另外,请检查你的定制板的电源线,并让我知道结果。

谢谢,PM_Dialog

gbmej
离线
最后看到:2年4个月前
加入:2017-09-13 3
你好,

你好,
assert错误代码为RESET_MEM_ALLOC_FAIL.哪个和平的代码可以抛出这个错误?我需要增加哪一堆/堆栈/范围?
谢谢,
gbmej

注:在我的项目中,malloc连接FreeRTOS malloc;我已经启用了FreeRTOS分配错误。我没有错误的FreeRTOS(回调没有调用),但我有平台重置RESET_MEM_ALLOC_FAIL错误代码…

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

嗨gbmej,

你能不能试着增加堆的总大小,通过改变configTOTAL_HEAP_SIZE自定义custom_config_qspii .h头文件中的宏。最明显的原因是由于内存分配失败,这意味着在您的软件中存在内存泄漏,您将数据分配到某个地方,但永远不会释放它们。

谢谢,PM_Dialog