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.

[参考译文] RTOS/SW-EK-TM4C123GXL:如何配置邮箱分配大小?

Guru**** 2463330 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/659908/rtos-sw-ek-tm4c123gxl-how-to-configure-the-mailbox-allocbuf-size

器件型号:SW-EK-TM4C123GXL
Thread 中讨论的其他器件:SYSBIOS

工具/软件:TI-RTOS

大家好:

当我使用 cfg 文件对邮箱进行实例处理时、它将在 SRAM .bss 段自动生成".common:ti_SysBIOS_KNL_Mailbox_Instance_State_0_allocBuf_a"缓冲区。(大小2048字节)

如何配置  "ti_sysbios_KNL_Mailbox_instance_State_0_allocBuf_A "缓冲区大小?

环境:

Code Composer Studio 版本:7.3.0.00019,XDCtools 版本:3.32.0.06_core

感谢你的帮助。  

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

    msg 的大小和 msg 的数量决定了缓冲区的大小(以及一些对齐要求)。 这些值被传递到.cfg 中的 Mailbox.create 中(假设您正在将.cfg 编辑为文本文件)。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Todd、
    假设在运行时创建邮箱、它不需要缓冲区、对吧?为什么?

    感谢你的帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您在运行时创建它、则有两个选项:

    1.离开 Mailbox_Params。 buf NULL (这是使用 Mailbox_Params_init 时的默认值)和 Mailbox_create API 将分配用作 msgs 的内存。 它将使用在 Mailbox_Params.heap 字段中指定的堆。 默认情况下、此值也为 NULL。 null 表示使用内核创建的默认系统堆。

    2.设置 Mailbox_Params。 缓冲器。 仔细考虑后、由于存在对齐要求、因此尺寸有点棘手。

    您看到的.common:ti_sysbios_KNL_Mailbox_instance_State_0_allocBuf_A 用于静态创建的邮箱。 如果在.cfg 中创建了两个邮箱、则会看到两个缓冲区。

    Todd