Hi all,
I'm trying my best to get going with a mixed ARM/DSP application running on Gumstix 'Overo Fire'
DM3530- and DM3730-based modules. For this I use the "C6Run" tool, as it is envisioned as a
very clean and elegant way of accessing the C64+ DSP submodule (=IVA2 for OMAP3) without
having much (or any) knowledge about the DSP intrinsics and architecture -
another developer is creating the DSP code via Matlab's C/C++ generator tool.
I have installed the latest "C6Run" distribution, set up the "platform.mak" file according to instructions in INSTALL+README files,
with IPC-method='syslink', and successfully (i.e. no "error"/"fail" prints emitted) built all the components it drags in:
- userspace tools (C6RunApp, C6RunLib ++)
- DSP BIOS (Sys/BIOS6.x)
- Syslink and CMEM driver modules (for Linux kernel 3.0.x - see below)
- DSP IPC libraries
- tests
- examples (both for C6RunApp- and C6RunLib-type DSP-only and DSP/GPP-applications)
Kernel was 3.0.x taken from public OMAP GIT-repository (TI's PSP for DM35xx never fired on my Overo Gumstix board ...)
The IOMMU framework is in place (for IVA2), but I have disabled the PowerManagement layer in the kernel as we don't need
any PM functionality.
However, trying to run the applications after installing on target (under C6Run/examples/C6Run[App|Lib]-subdirs),
yields errors - terminating in ProcMgr_attach() with an obscure return value (status=0x8783c003).
Turning on TRACE-functionality for the syslink.ko driver module, emits a massive amount of info (see attachment),
6114.c6runapp_example_test_trace.txt but the essential part is identical on DM3530 and DM3730;
it says powering up the DSP subsystem failed appearently, indicated by the IVA2_RST-signal not being released.
Using the 'devmem2' tool to inspect registers, at least the relevant PMRC-register "CM_FCLKEN_IVA2" at addr=0x48004000 shows the IVA2 submodule
is clocked (value=0x00000001). But, does the SysLink-methodology rely on PM-layer in kernel being enabled - or any other kernel requirement I
may have forgot/overseen?? (not very impressed w. SysLink/C6Run docs w. respect to this, though ...)
Any other ideas???
TIA
Morten