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

多个内核共享DDR3外部存贮器,下面的理解正确吗?

在“BIOS MCSDK 2.0 User Guide.pdf”文档中,72页的Example 4 – Let's make it multi-core中,C6678中的四个核采用了相同的工程文件,同时也采用了相同的配置文件.cfg。在配置文件中有这样的section配置内容:

Program.sectMap[".const"] = "DDR3";
Program.sectMap[".text"] = "DDR3";Program.sectMap[".code"] = "DDR3";Program.sectMap[".data"] = "DDR3";
Program.sectMap[".sysmem"] = "DDR3";Program.sectMap[".sharedVar"] = "DDR3";
Program.sectMap["platform_lib"] = "DDR3";

这也就是说明,这四个核在.const, .text, .code, .data, .system, .sharedvar, platform_lib是在同一物理内存上的同一个数据内容。看了一下程序,在整个程序中只有一个四核均需共享的全局变量next,在工程文件中再也没有其它全局变量与静态变量了,因而程序运行不存在问题。

如果每个core工程文件中有各自的非共享的全局变量,上述.cfg的设置就存在问题了。这个理解是否正确?

或者:该工程文件的.stack段也配置在DDR3中,则四个core中的程序运行将乱套了。这个理解是否正确?

谢谢了!

chenpjh:

回复 Adam Yao94020:

谢谢

user5792666:

回复 Adam Yao94020:

你好,我需要用到很大的临时数组,所以把核1对应工程的stack段放到了DDR。核0初始化的工程可以正常load,运行;但是核1的工程就load不了了,一直提示no source available for "0x20b00000"。请问是什么原因呢?

user5792666:

回复 chenpjh:

你好,我需要用到很大的临时数组,所以把核1对应工程的stack段放到了DDR。核0初始化的工程可以正常load,运行;但是核1的工程就load不了了,一直提示no source available for "0x20b00000"。请问是什么原因呢?

user5144466:

回复 user5792666:

准确的来说是load的时候一直running,然后进不到main函数里,一点击暂停,就报错

赞(0)
未经允许不得转载:TI中文支持网 » 多个内核共享DDR3外部存贮器,下面的理解正确吗?
分享到: 更多 (0)