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有参考工程