【问题标题】:Green Hills Integrity Dynamic memory allocationGreen Hills Integrity 动态内存分配
【发布时间】:2015-01-08 08:45:12
【问题描述】:

我有一个需要重复分配和释放内存的需求。目前正在 Integrity ARM 模拟器上试用。

我创建了两个任务: 第一个任务(编码器):从套接字接收视频数据并对其进行编码并将其发送到第二个任务。 第二个任务(解码器):从编码器接收数据并解码。在这个解码过程中,它动态分配内存,解码后释放内存。

解码器任务暂停一段时间后,无法读取受保护的内存错误。我该如何解决这个动态内存问题?我不想使用固定大小的数组。

谢谢

【问题讨论】:

    标签: c++ memory-management dynamic rtos integrity


    【解决方案1】:

    我看到这是一篇旧帖子,您可能已经找到了修复方法,但是当 int 文件中为虚拟地址空间保留的内存不足时,我在 Integrity 中看到了类似的行为。尝试增加 VAS int 文件中的 MemoryPoolSize 和/或 HeapSize。还要再次检查您分配的相同数量的内存稍后是否正确释放。我知道您看到的错误似乎与内存不足无关,但我看到当 VAS 的内存耗尽时,Integrity 的行为非常奇怪。您可以使用 INDRT2 调试会话和“lt”命令检查内存使用情况,看看是否接近限制,该命令将报告每个 VAS 的 Used/Size 内存池大小。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2014-04-08
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 2021-02-15
      • 2013-07-01
      相关资源
      最近更新 更多