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.

[参考译文] LP-AM243:在运行时读取动态存储器分配

Guru**** 2465700 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1472064/lp-am243-read-dynamic-memory-allocation-during-the-runtime

器件型号:LP-AM243

工具与软件:

你(们)好;

我将尝试在运行时检查堆内存使用情况或动态内存分配。 第一步、我尝试在 ROV 工具上监控它。 但我意识到 已使用的堆的大小在运行时并没有改变。 它始终相同。  



我应该信任我在图片上看到的值(131072)。  它完全不改变是正常的吗?  


或者如何在代码端获取运行时堆大小。 我找到了有关堆管理的 API 文档。
https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/08_00_00_21/exports/docs/api_guide_am243x/group__KERNEL__DPL__HEAP.html#ga33a544214b66c9fb0201f08a3be189b1
能否将  HeapP_getHeapStats 方法用于目标?  如果愿意、 我需要 将 Heap_Object 作为第一个参数传递。 为此、我需要了解堆内存的起始地址和大小详细信息。 如何找到这些值?

另外、我认为 LP-AM243x 评估板只有2MB SRAM、没有额外的 DDR。 您能否确认这一点?

此致
卡迪尔

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

    尊敬的 Kadir:

    我正在研究这个问题、请预计1-2天内得到回复。

    此致、
    开会。

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

    我正在尝试访问 portable.h 中的 FreeRTOS-Kernel 方法



    但我遇到了未解析的符号错误。!!!

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

    尊敬的 Kadir:

    ROV 工具使用宏 configTOTAL_HEAP_SIZE 向您展示在 FreeRTOSConfig.h 中定义的总堆大小。 它实际上并不表示当前堆利用率。

    提供的堆 API 使用户能够创建多个用户定义的堆、你需要 HeapP_getHeapStats 的 HeapP_Object 句柄、当你调用 HeapP_structure ()来创建一个用户定义的堆时、会提供此句柄作为输出。 我怀疑您是否能够为 FreeRTOS 堆使用这些 API。

    我将继续检查以了解为什么在使用 FreeRTOS 函数时可能遇到未解析的符号错误、我会在有更新后再给您答复。

    此致、

    开会。

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

    LP-AM243x 评估板没有额外的 DDR、SoC 中提供了 SRAM、因此它存在。

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

    嗨认识;

    未解析符号的原因是我正在使用的活动堆是 heap3。 Heap3不包含这些方法的实现。 堆4或5实现来说很重要。

    另一个对我非常重要的主题;
    我想查看2MB SRAM 被占用了多少。 或许代码中有一个百分比对 TI 提供的工具有所帮助?

    此致
    卡迪尔

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

    你好、Kadir、  

    CCS 窗口中提供了内存分配工具、请尝试使用该工具。

    希望此工具能帮助满足您的要求。

    此致、

    Anil。

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

    尊敬的 Anil:

    这看起来非常好。 非常感谢。 但在 CCS 12中、我看不到像您图片中那样的图形。 当我将鼠标悬停在它上时、我可以看到使用率的百分比。 有什么方法可以在可能您的图上看到它吗?
    或者我应该升级 CCS 版本吗?

    此致
    卡迪尔


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

    尊敬的 Kadir:

    我不确定您指的是哪个图形、在 Anil 共享的图像中、您还可以看到仅使用百分比、这是 CCS 版本12.8.1、建议 使用 MCU+SDK 文档中提到的 CCS 版本。

    此致、

    开会。