TI中文支持网
TI专业的中文技术问题搜集分享网站

请问多核心同时在DDR3上分配内存的问题Memory_alloc/malloc

引用Andy在回答他人问题时:”多个master可以同时访问DDR3,内部会由总线优先级仲裁,相对单个master访问时效率有所下降,但是可以保证正确性,不需要软件干预。“

我现在遇到,多个核心通过IPC同时运行时,几乎同时使用Memory_alloc函数或者malloc函数分配空间,基本都会出错,很多核心都分配不到,返回的Error_Block eb都有错误产生。请问这个要怎么解决,谢谢

Andy Yin1:

多个核进行动态分配malloc时,还没涉及到memory的访问,只是去分配内存而已。分配内存失败有可能是多个核从同一个heap中分配,或者heap不够用导致,建议每个core使用自己私有heap试试。

Ping Li3:

回复 Andy Yin1:

Andy Yin1

多个核进行动态分配malloc时,还没涉及到memory的访问,只是去分配内存而已。分配内存失败有可能是多个核从同一个heap中分配,或者heap不够用导致,建议每个core使用自己私有heap试试。

han yang1:

回复 Ping Li3:

建议主核负责地址分配,然后将分配的地址通过IPC传给其他核保证地址不会冲突。

qiao qian:

回复 Ping Li3:

请问,你是怎么创建多个heap的实在一个cmd中操作 还是可以多个cmd文件?

Andy Yin1:

回复 qiao qian:

不带bios时,每个cmd只能有一个heap,此时每个core可以有不同的cmd来指定各自heap,带bios的话可以定义多个heap。

yu liang2:

回复 Ping Li3:

麻烦问一下,你有关注过malloc的耗时吗?会不会申请到偏大的地址就会耗时相对增加?

Ping Li3:

回复 yu liang2:

还真的没有注意过

赞(0)
未经允许不得转载:TI中文支持网 » 请问多核心同时在DDR3上分配内存的问题Memory_alloc/malloc
分享到: 更多 (0)