Other Parts Discussed in Thread: OMAP-L138
Tool/software: Linux
Using TI-PROCESSORSDK-RTOS 05.00.00.15 on the DSP and TI-PROCESSOR-SDK-LINUX-05.00.00.15 on the ARM.
Developed a custom firmware for our custom board using the OMAP-L138, it's based on the LCDK board, however it doesn't have several chips for video, etc and I'm using custom codecs.
I am to get my firmware to load straight into the DSP if I just connect and load the default ARM GEL file and then start my code for the DSP.
I am unable to do this using Linux, the resource table file is attached, all the proper IPC modules are loaded.
This happens whenever I specify any memory to be NOT in the DDR either using the #pragma and specifying the sections to be in IRAM (L2 RAM) using the app.cfg file, or using the config.bld file
Build.platformTable["ti.platforms.evmOMAPL138:dsp"] = { externalMemoryMap: [ [ "DDR", { name: "DDR", space: "code/data", access: "RWX", base: 0xC3100000, len: 0x800000, comment: "DSP Program Memory (8 MB)" }] ], codeMemory: "DDR", dataMemory: "DDR", stackMemory: "DDR", l1DMode: "32k", l1PMode: "32k", l2Mode: "0k" };
if I specify any of the Memory to be not in DDR, the remoteproc from Linux will not be able to load the firmware.
However, my dataMemory has to be in IRAM because of the drivers and their communication with the codec through McASP and EDMA.
So, how do I go about loading memory from the DDR after the initial load into the other respective memories. I tried to search around, but couldn't find anything.
Side note: If I start Linux and get it running I then can use JTAG to load the DSP firmware into the DSP core using my original settings, and it works fine.