在6678多核的Device Cycle Approximate Simulator时,对于0核总是弹出
关于TMS320C66x_0 : warning : A memory access is pending for greater than 100000 CPU cycles.的警告
请问可能的原因是什么??不知道如何分析
Shine:
请问是下载.out文件的时候报的错还是运行程序的时候报的错?用emulator也会有这个问题吗?
Liu Chunjing:
回复 Shine:
是在下载 .out文件的时候报错的。
我测试了一下,我在cfg文件里面加入openMP的代码以后就报错,删除以后就好了。openMP的代码段如下:
// ********************************************************************
//Load OpenMP module
var OpenMP = xdc.useModule('ti.omp.utils.OpenMP');
// use local stack
OpenMP.stackRegionId = -1;
OpenMP.stackSize = 0x4000;
OpenMP.setNumProcessors(8);
// disable opneMP internal memory consistency
OpenMP.enableMemoryConsistency = false;
// disable openMP internal memory consistency;
// write through has been disabled for better performance;
// cache coherency maintined explicitly in BLAS codes
OpenMP.enableMemoryConsistency = false;
// Non-cached MSMC Alias
OpenMP.noncachedMsmcAlias = 0xA0000000;OpenMP.qmssInit = false;
OpenMP.ipcHeapSize = 0x30000;
OpenMP.qmssMemRegion = -1;
OpenMP.qmssStartIndex = 0;
OpenMP.qmssDestQueueNum = -1;
OpenMP.internalOsal = true;
OpenMP.cppiHwSem = 3;
OpenMP.qmssHwSem = 4;
OpenMP.mpaxIndex = 3;// Configure HeapOMP for the shared memory heap
var HeapOMP = xdc.useModule('ti.omp.utils.HeapOMP');
HeapOMP.sharedRegionId = 2;HeapOMP.localHeapSize= 0x8000;
HeapOMP.sharedHeapSize = 0x1f000000;// Specify the Shared Region
var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
SharedRegion.setEntryMeta( HeapOMP.sharedRegionId,{base: 0x80000000,len:HeapOMP.sharedHeapSize,ownerProcId: 0,cacheLineSize: 128,cacheEnable: true,createHeap: true,isValid: true,name: "sr2-ddr3",});
// Initialize HeapMem parameters
var HeapMem= xdc.useModule('ti.sysbios.heaps.HeapMem');
var heapMemParams = new HeapMem.Params();
heapMemParams.size = HeapOMP.localHeapSize;// Create a HeapOMP instance
var heapOmpParams = new HeapOMP.Params();
heapOmpParams.localHeap = HeapMem.create(heapMemParams)
heapOmpParams.sRegionId = HeapOMP.sharedRegionId;// Setup defaultHeapInstance to a HeapOMP instance
var Memory = xdc.useModule('xdc.runtime.Memory');
if (Memory.defaultHeapInstance)Program.$logWarning("Memory.defaultHeapInstance already set!", this);Memory.defaultHeapInstance = HeapOMP.create(heapOmpParams)
Program.global.dataHeap = Memory.defaultHeapInstance;*/