This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320C6678: 多核段的共享理解

Part Number: TMS320C6678


如果多核共用同一个代码,同一个cfg配置。想知道哪些段是每个核独有的,哪些段是核与核之间必须区分的。

例如:.text段应该是可以放到共享内存或者DDR中的,因为多核用同一套代码。

           .stack段应该是每个核单独用,不能多核共享,因为每个核跑的代码不一致,会引起栈冲突。

问题是 其他的那些段怎么区分呢,.far ,.neardata .switch 等等

Program.sectMap["sharedL2"] = "DDR3";
Program.sectMap["systemHeap"] = "DDR3";
Program.sectMap[".sysmem"]  = "L2SRAM";
Program.sectMap[".args"]    = "DDR3";
Program.sectMap[".cio"]     = "L2SRAM";
Program.sectMap[".far"]  =  "L2SRAM";
Program.sectMap[".rodata"]  =  "L2SRAM";
Program.sectMap[".neardata"]  =  "L2SRAM";
Program.sectMap[".cppi"]  =  "DDR3";
Program.sectMap[".init_array"]  =  "DDR3";
Program.sectMap[".qmss"]  =  "DDR3";
Program.sectMap[".cinit"]  =  "L2SRAM";
Program.sectMap[".bss"]  = "L2SRAM";
Program.sectMap[".const"] = "L2SRAM";
Program.sectMap[".text"] = "DDR3";
Program.sectMap[".code"] = "DDR3";
Program.sectMap[".switch"] = "L2SRAM";
Program.sectMap[".data"] = "L2SRAM";
Program.sectMap[".fardata"] =  "DDR3";
Program.sectMap[".args"]  =  "DDR3";
Program.sectMap[".cio"]  =  "DDR3";
Program.sectMap[".vecs"]  =  "DDR3";
Program.sectMap["platform_lib"]  =  "DDR3";
Program.sectMap[".far:taskStackSection"] = "L2SRAM";
Program.sectMap[".stack"] = "L2SRAM";
Program.sectMap[".nimu_eth_ll2"] = "L2SRAM";
Program.sectMap[".resmgr_memregion"] = {loadSegment: "L2SRAM", loadAlign:128}; /* QMSS descriptors region  */
Program.sectMap[".resmgr_handles"] = {loadSegment: "L2SRAM", loadAlign:16}; /* CPPI/QMSS/PA Handles   */
Program.sectMap[".resmgr_pa"] = {loadSegment: "L2SRAM", loadAlign:8};  /* PA Memory     */
Program.sectMap[".far:IMAGEDATA"] = {loadSegment: "L2SRAM", loadAlign: 8};
Program.sectMap[".far:NDK_OBJMEM"] = {loadSegment: "L2SRAM", loadAlign: 8};
Program.sectMap[".far:NDK_PACKETMEM"] = {loadSegment: "MSMCSRAM", loadAlign: 128};