This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TM4C129XNCZAD:ROV邮箱用法

Guru**** 2418170 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/614811/ccs-tm4c129xnczad-rov-mailbox-usage

部件号:TM4C129XNCZAD

工具/软件:Code Composer Studio

是否有办法获得在运行序列期间在任务邮箱中排队的邮箱邮件的最大数量?

我希望确保每个任务都有足够的邮箱插槽来处理其负载。

谢谢!

标记

使用ROV:邮箱视图,我得到了以下数据,看起来像是调试器停止时当前条件的快照。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mark,您好!

    您可以使用Mailbox_getNumFreeMsgs和Mailbox_getNumPendingMsgs API。 在这两者之间,您可以获得#免费,#二手和总计(#免费+#二手)。 如果您想调用两者以获得总数,我会禁用呼叫周围的中断,以确保您不会在不知道的情况下切换上下文并进行邮箱活动。 这两个API速度很快(基本上只是一个偏离)。

    Int Mailbox_getNumFreeMsgs(Mailbox_Object *obj)

    /*返回免费消息数*/
    返回(obj->numFreeMsgs);
    }

    TI-RTOS (或SYS/BIOS)产品中详细介绍了API。 例如,单击此页面 dev.ti.com/.../上的“TI-RTOS内核运行时API和配置(CDOC)”链接后,可以导航到邮箱

    托德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的迅速回复。
    我将使用这些API。

    其他问题:
    在任务对象的ROV中,'已完成'屏幕显示'任务大小'和'任务峰值'。
    是否有方法使用ROV为'工具箱'获取相同的数据?

    再次感谢,
    标记
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ROV不会显示实际的邮箱邮件或邮件的使用量。 它将告诉您有多少条消息及其大小,我们使用了多少条消息以及有多少条消息是免费的。

    邮箱不知道实际的邮件数据。

    请注意,Mailbox_POST和Mailbox_Pend不会使用大小。 每个邮件只复制在创建邮箱时指定的邮件大小。 常见的错误是为Mailbox_Pend呼叫提供少量缓冲区。 例如,如果创建了邮件大小为64的邮箱,但调用带48缓冲区的Mailbox_Pend,则模块会盲目地将64字节复制到缓冲区中...从而覆盖16字节。

    托德
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢