Hi,
First,My work platform is DM8168.
Video capture is working on VPSS-M3,and A thread of an application on the A8 can get the video capture buffer by syslink from VPSS-M3.
But if B thread of the application create four remote codeces on the dsp,A thread can't get capture buffer by syslink.
I suppose that memory configuration is not correct.
The following lines is the relative script .
==========================================
dspserver.cfg:
var TI816X_DSP_MemoryMap = [
["DDR3_HOST", {
comment: "DDR3 Memory reserved for use by the A8",
name: "DDR3_HOST",
base: 0x80000000,
len: 0x10000000/* 256 MB */
}],
["DDR3_DSP", {
comment: "DDR3 Memory reserved for use by the C674",
name: "DDR3_DSP",
base: 0x9a400000,
len: 0x800000/* 8 MB (Default memory reserved for c674x changed based on size of the DSP code)*/
}],
["DDR3_CMEM", {
comment: "DDR3 Memory reserved for use by the C674/ARM for CMEM",
name: "DDR3_CMEM",
base: 0x9ac00000,
len: 0x3c00000/* 60MB (CMEM region defined based on application requirement) */
}],
["DDRALGHEAP", {
comment: "DDR3 Memory reserved for use by algorithms on the C674",
name: "DDRALGHEAP",
base: 0x9e800000,
len: 0x1000000/* 16 MB (Region used by algs and codec engine for memory allocations)*/
}],
["DDR3_SR1", {
comment: "DDR3 Memory reserved for use by SharedRegion 1",
name: "DDR3_SR1",
base: 0x9f800000,
len: 0x800000 //8 MB (Reserved)
}],
["DDR3_HDVPSS", {
comment: "DDR3 Memory reserved for use by HDVPSS",
name: "DDR3_HDVPSS",
base: 0x91000000,//DDR3_HDVPSS_base,
len: 0x800000,//DDR3_HDVPSSLen //2 MB (Reserved)
}],
["DDR3_V4L2", {
comment: "DDR3 Memory reserved for use by V4L2",
name: "DDR3_V4L2",
base: 0xb2c00000,
len: 0x200000,//2 MB (Reserved)
}],
["DDR3_SR0", {
comment: "DDR3 Memory reserved for use by SharedRegion 0",
name: "DDR3_SR0",
base: 0x90000000,
len: 0x1000000//16 MB (Reserved)
}],
["DDR3_M3", {
comment: "DDR3 Memory reserved for use by the M3 core",
name: "DDR3_M3",
base: 0x95800000,
len: 0x800000,//16 MB (Reserved)
}],
];
var common = xdc.loadCapsule('../examples/ti/sdo/ce/examples/buildutils/common_sys.cfg');
if (platformName.match(/3530|DM8148/)) {
var syslinkSharedMem = Program.cpu.memoryMap["SysLink"];
var ipcSharedMem = Program.cpu.memoryMap["IpcShared"];
}
else {
var syslinkSharedMem = Program.cpu.memoryMap["DDR3_SR0"];
var ipcSharedMem = Program.cpu.memoryMap["DDR3_SR1"];
}
var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
var entry = new SharedRegion.Entry();
entry.base = syslinkSharedMem.base;
entry.len = syslinkSharedMem.len;
entry.ownerProcId = MultiProc.getIdMeta("HOST");
entry.isValid = true;
entry.name = "SysLink";
SharedRegion.setEntryMeta(
common.SharedRegion_map["SysLink: HOST<--->DSP"], /* index */
entry
);
var entry2 = new SharedRegion.Entry();
entry2.base = ipcSharedMem.base;
entry2.len = ipcSharedMem.len;
entry2.ownerProcId = MultiProc.getIdMeta("HOST");
entry2.isValid = true;
entry2.createHeap = true;
entry2.cacheEnable = true;
entry2.name = "IpcShared";
SharedRegion.setEntryMeta(
common.SharedRegion_map["Ipc"], /* index */
entry2
);
==========================================================
common_sys.cfg:
/* system wide shared region assignments */
var SharedRegion_map = {};
SharedRegion_map["SysLink: HOST<--->DSP"] = 0;
SharedRegion_map["Ipc"] = 1;
SharedRegion_map["unused 02"] = 2;
SharedRegion_map["unused 03"] = 3;
SharedRegion_map["unused 04"] = 4;
SharedRegion_map["unused 05"] = 5;
SharedRegion_map["unused 06"] = 6;
SharedRegion_map["unused 07"] = 7;
SharedRegion_map["unused 08"] = 8;
SharedRegion_map["unused 09"] = 9;
SharedRegion_map["unused 10"] = 10;
SharedRegion_map["unused 11"] = 11;
SharedRegion_map["unused 12"] = 12;
SharedRegion_map["unused 13"] = 13;
SharedRegion_map["unused 14"] = 14;
SharedRegion_map["unused 15"] = 15;
/* system wide MessageQ heapId assignments */
var MessageQ_heapMap = {};
MessageQ_heapMap["Ipc"] = 0; /* application */
MessageQ_heapMap["App"] = 1; /* application */
=================================================================================
the shared region (syslink) is from 0x90000000 to 0x91000000,are the three core (VPSS-M3,Video-M3,DSP)use it?