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

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};

Shine:

请参考下面的多核编程文档。6 Memory Managementhttps://www.ti.com/lit/an/sprab27b/sprab27b.pdf

,

wapdasta:

确实是,mcdsk多核开发套件里面有个image ipc有参考工程

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6678: 多核段的共享理解
分享到: 更多 (0)