Green Hills Integrity 动态内存分配

Posted

技术标签:

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

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

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

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

谢谢

【问题讨论】:

【参考方案1】:

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

祝你好运!

【讨论】:

以上是关于Green Hills Integrity 动态内存分配的主要内容,如果未能解决你的问题,请参考以下文章

Green Hills Software(GHS)的安装和申请License文件

Green Hills Software(GHS)编译下载瑞萨RH850程序

Green Hills Software(GHS)编译下载瑞萨RH850程序

2018 Multi-University Training Contest 5 1008 / hdu6357 Hills And Valleys LCS,思维

Hills——一道转移方程很“有趣”的线性DP

List of Top 3 Hills