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.

[参考译文] CC2530:在 CC2530的 z 堆栈上浪费 RAM。

Guru**** 2568565 points
Other Parts Discussed in Thread: CC2530

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/719030/cc2530-tow-wasting-of-ram-on-cc2530-s-z-stack

器件型号:CC2530
Thread 中讨论的其他器件:Z-stack

1、CC2530 z 堆栈中的 UART DMA 驱动程序正在浪费 RAM。 为了 避免从 UART 中读取每个字节、RX 缓冲区最好设置 lager、而不是 UART 命令的 Max-Size。 但 RX 缓冲器增加了一个字节、RAM 增加了两个字节。

2、在 NV-RAM 和 RAM 中分配绑定表。 但是、当需要更多绑定表时、RAM 无法提供更多空间。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的观察 Aries、我将将此反馈提交给软件开发部门、以供进一步考虑。 您是否了解优化 RAM Wiki 页面? processors.wiki.ti.com/.../Optimizing_Flash_and_RAM_Usage_of_Z-Stack_for_CC2530

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、但我还有其他建议。

    UART 缓冲器由 CC2530中的 DMA 控制、并由 uint16而不是 uint8计数。 我认为它可以像这样进行优化:为 DMA 传输设置一个小型 DMA 缓冲区(32字节);UART RX 缓冲区按字节而不是字计数;当 DMA 缓冲区已从 UART 接收数据时、在 DMA 中断和 HAL 轮询时将其移动到 UART 缓冲区。 用户任务通过 HalUARTRead 从 UART 缓冲器读取 UART 数据。


    绑定表出现在 NV-RAM 和 RAM 中。 当用户需要更大的绑定表而不关心速度时、它只能出现在 NV-RAM 中。

    布景表和组表也只能出现在 nV-RAM 中、而出现在堆中。 有时、当用户为 CC2530添加外部闪存 ROM 时、它可能出现在外部闪存 ROM 中。