Green Hills Integrity动态内存分配

时间:2014-11-11 17:42:02

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

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

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

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

由于

1 个答案:

答案 0 :(得分:2)

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

祝你好运!