Hi all,
I'm a bit lost on the configuration for SYSLINK for the Linux side.
I have a board with the OMAPL138. The ARM core is running a custom linux (kernel 3.0.23)
I am validating the use of SYSLINK on our system for ARM<=>DSP communication.
The board has 128Mbytes of RAM, of which 96 are reserved to Linux (I specify "mem=96M" in uboot) the rest will be for DSP and syslink.
I am using: bios_6_35_01_29; ipc_1_25_02_12; syslink_2_21_01_05; TI_CGT_C6000_7.4.2; xdctools_3_25_00_48.
I am trying to run the first SYSLINK example (ex01_helloworld).
In ex01_helloworld/shared/config.bld I have set:
var SR_0 = {
name: "SR_0", space: "data", access: "RWX",
base: 0xc6000000, len: 0x00300000,
comment: "SR#0 Memory (3 MB)"
};
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = {
externalMemoryMap: [
[ SR_0.name, SR_0 ],
[ "DSP_PROG", {
name: "DSP_PROG", space: "code/data", access: "RWX",
base: 0xC7000000, len: 0x00800000,
comment: "DSP Program Memory (8 MB)"
}]
],
codeMemory: "DSP_PROG",
dataMemory: "DSP_PROG",
stackMemory: "DSP_PROG",
l1DMode: "32k",
l1PMode: "32k",
l2Mode: "256k"
};
as the RAM for Linux will go from 0xC0000000 to 0xC6000000 (96Mbytes).
But from what I understand, this configuration will specify the memory layout on the DSP side only.
Don't I have to do some configuration on the linux side as well?
I can compile SYSLINK itself and the example. Then I can load the syslink.ko driver on the Linux side without any error. Then I can load the DSP code, again without any error, but when I run the Linux side application, the whole board hangs for good (power cycle required).
Using printf I can track that the app code runs up to Ipc_control(Ipc_CONTROLCMD_STARTCALLBACK) before hanging
I've been stuck on this for a couple of days now and I'm seriously considering if I would not be better off by avoiding using SYSLINK completely and rolling my own code.
I started off hoping that using SYSLINK would have saved me a lot of grief but it seems that I cannot even run a canned example...
thanks
Claudio