在“BIOS MCSDK 2.0 User Guide.pdf”文档中,72页的Example 4 - Let's make it mul
ti-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中的程序运行将乱套了。这个理解是否正确?
谢谢了!