gpt4 book ai didi

logging - 微 Controller 上的错误记录

转载 作者:行者123 更新时间:2023-12-01 04:35:24 27 4
gpt4 key购买 nike

我有一个一般性的问题。我在微 Controller 上记录错误。但是微 Controller 的资源比 Windows 计算机更有限。在我的例子中,我将 64 个错误代码保存在一个队列中,由 FreeRTOS 管理。我选择了 64,因为资源有限。

我的问题是:当这个队列已满时我该怎么办?

客户端通过 USB 连接到微 Controller ,负责读取这些错误代码,从而将它们从队列中移除。但是当客户端不这样做时,队列会在64个错误码后变满。

我应该从队列中删除最早的错误并用最新的替换它吗?还是只要队列已满,我就应该保存未读的错误代码并丢弃新的错误代码?

请说说你的看法,为什么?

提前感谢您的建议。

最佳答案

不要担心 64 与任何其他大小。无论大小,您最终都需要做出这个决定,因为主机可能决定永远不读取队列。

正确的方法取决于您的系统如何工作以及您记录的错误类型。

保持第一个记录的好处:如果您的系统在出现问题时会级联成许多其他故障,那么记录第一个错误将有助于确定导致错误的原因链发生。

保持第一个记录的弱点:根据主机决定读取错误的时间,代码可能是 1 分钟前或 1 周前的,没有人知道。正如 Ian 的回答说明,可以向主机提供错误计数,知道它丢失了错误。

保留最后记录的好处:如果您的错误之间存在很大的独立性,那么最早的错误可能并不重要,只有最近的错误才能很好地了解当前的情况设备状态。

保留最后记录的缺点:与保留第一个的好处相反。您可能会丢失所有错误的根本原因。

因此,您必须查看您的设备可能产生的错误类型,并决定哪种技术最有可能对您的用户有用。

关于logging - 微 Controller 上的错误记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12859201/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com