打印

地址不连续的多块内存,如何交给FreeRtos去管理?

[复制链接]
3701|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TECHWELL|  楼主 | 2014-1-28 00:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 TECHWELL 于 2014-1-28 13:48 编辑

  请教:
       地址不连续的多块内存,如何交给FreeRtos去管理?
我的系统中,主CPU是LPC1788,它内部有多达96KB的内存(片内RAM,有速度优势);同时,因为使用TFT LCD,外部扩展了64MB的SDRAM(片外SDRAM,有容量超大之优势),LCD缓存占用其中的800*480*2字节(16位色)。这2块内存的地址,是不连续的。
     用FreeRtos的heap_4.c中的内存管理机制,来管理其中一块内存,当然OK。另一块内存,如何交给FreeRtos去管理?
     我估计的话,通过修改heap_4.c,是可能实现的。
     有哪位先行者,对此有研究?说说思路?
   

相关帖子

沙发
TECHWELL|  楼主 | 2014-2-10 14:44 | 只看该作者
   各路神仙,怎么没有谁回话呢?
   难道这,原本就不是个问题?
   ......

使用特权

评论回复
板凳
ilovezeno| | 2014-2-11 13:39 | 只看该作者
你自己写个heap_5.c搞定。。。。

使用特权

评论回复
地板
TECHWELL|  楼主 | 2014-2-20 17:43 | 只看该作者
本帖最后由 TECHWELL 于 2014-2-20 21:40 编辑

   大侠们再不回话,
  俺只好去问苍老师了....
  呜呜.....

使用特权

评论回复
5
TECHWELL|  楼主 | 2016-1-7 12:14 | 只看该作者
本帖最后由 TECHWELL 于 2016-1-7 12:28 编辑

  我的LPC1788系统中,它内部有多达96KB的内存(片内SRAM,有速度优势),我称之为A块内存;同时,外部扩展了64MB的SDRAM(片外SDRAM,有容量超大之优势),称之为A块内存。这2块内存的地址,是不连续的。
  在FreeRTOS V8.1.2中,已经有heap_5.c,它实现了对多个内存块的管理、分配。
    但是,我们向系统索要内存时,不能指定从某块内存中分配。也就是说,程序员不能“定向地“从A块或B块,索要他指定数量的内存。
  有时候,这是个不的小问题。
  我通过修改 void *pvPortMalloc( size_t xWantedSize ) 函数,克服了这一问题。
请搜索源文件中的字串”techwell”

Heap_5.rar

6.29 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

68

帖子

5

粉丝