最近在做C6678这块,由于内存需求比较大,外接了8个G的内存,目前暂时使用2个G。算法打算采用OpenMp的方式进行多核并行,创建了一个OpenMp的例子工程 OpenMp Matri vector,完全按照它的东西运行是没有问题的。但是我需要使用2G的内存,修改它自带的RTSC内存配置,增加额外的内存 MSMCSRAM_CACHE,当MSMCSRAM_CACHE 长度为0x10000000时,结果也是正常的;当MSMCSRAM_CACHE长度为0x20000000或者其他大于0x10000000长度的,多核就跑飞了。
MSMCSRAM_CACHE存储段只是定义了,在工程里面没有使用到,既然没有使用到怎么会飞掉呢。我想问下是不是对于OpenMp的例子它配套的RTSC存储段的配置是不是在它的内核里面做了限制不能修改,不能增加额外的内存。对于OpenMp的内存配置除了增加这里,还需要在其他的地方设置。
请TI的专家帮我解答下,谢谢。
Andy Yin1:
check一下编译生成的map文件有没有使用到这块内存呢。
Jason miller:
回复 Andy Yin1:
首先这块内存是我自定义的,没有显示用到,data,code ,stack等段都没有放到这个区域里面;其次,我也检查了map的确没有用到后面那块内存。