Loading and starting DSP server 'c6accel_omap3530.x64P' FAILED
This question is answered
Posted by
Myosotis
on Jun 25 2012 07:50 AM
Intellectual490 points
6445.log.txt
Hello!
I used kernel sources for my device from git://gitorious.org/devkit8000/linux-omap-devkit8000.git
I recompiled modules sdmak, cmemk, dsplinkk, lpm_omap3530.ko. They starts ok.
Running /usr/share/ti/gst/
omap3530/loadmodules.sh[ 51.053039] CMEMK module: built on Jun 22 2012 at 15:33:52
[ 51.058837] Reference Linux version 2.6.38
[ 51.063354] File /home/chet/devkit8000/linuxutils_3_21_00_04/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
[ 51.076690] allocated heap buffer 0xc7000000 of size 0x53d000
[ 51.082763] cmemk initialized
[ 51.183105] DSPLINK Module (1.65.01.06) created on Date: Jun 22 2012 Time: 17:46:06
[ 51.292999] SDMAK module: built on Jun 22 2012 at 16:21:42
[ 51.298858] Reference Linux version 2.6.38
[ 51.303375] File /home/chet/devkit8000/linuxutils_3_21_00_04/packages/ti/sdo/linuxutils/sdma/src/module/sdmak.c
done
root@beagleboard:/home/c6accel-apps# lsmod
Module Size Used by
sdmak 3691 0
lpm_
omap3530 6385 0
dsplinkk 123194 1 lpm_
omap3530
cmemk 20119 0
But I have 2 error
* FATAL: Module omaplfb not found.
* FATAL: Module bufferclass_ti not found
So I tried to execute c6accel sample app and I got error
app: C6accel_create() failed
with
CE_DEBUG=2 I got this in logs (see attachments)
Loading and starting DSP server 'c6accel_omap3530.x64P' FAILED, status=[0x80008050] (look for error code 'DSP_EBASE
+ 0x50' in dsplink*/packages/dsplink/gpp/inc/usr/errbase.h)
Would you please help me with this issue?
P.S. my device is
devkit8000. I used
DVSDK
for
omap3530 but some packages I updated to the new version (with 2.6.38 kernel support)
omap3530
DSP
C6Accel
devkit8000
Report Abuse
All Replies
-
Posted by Robert Tivy
on
Jun 26 2012 12:42 PM
Genius10770 points
Myosotis
But I have 2 error
* FATAL: Module omaplfb not found.
* FATAL: Module bufferclass_ti not found
I'm not familiar with the above 2 modules. They are not part of the MFP suite (CE, Linux Utils, FC), which is my area of knowledge. It's possible that they are not needed for what you're doing. I don't think they're related to your problem with c6accel.
Myosotis
Loading and starting DSP server 'c6accel_omap3530.x64P' FAILED, status=[0x80008050] (look for error code 'DSP_EBASE
+ 0x50' in dsplink*/packages/dsplink/gpp/inc/usr/errbase.h)
Error code 0x80008050 is DSP_EALREADYEXISTS. It is returned by a number of APIs in DSPLink, so it's hard to say which one you're hitting (you could enable dsplinkk.ko kernel modole tracing to find out, but I'm not sure it's important). Regardless, it means
that some DSPLink IPC-related entity used for communicating/synchronizing with the DSP has already been created. This could happen if your Linux boot process already launched a c6accel application "behind the scenes", or a DSPLink application crashed before
having a chance to clean up "global" resources.
Is this error happening during an initial run after boot? Can you see if your boot process launches a DSPLink-related application ('ps' could help to see if one is already running)?
If you'd like to see more details, you could enable DSPLink tracing, as outlined here:
http://processors.wiki.ti.com/index.php/Enabling_trace_in_DSPLink. Kernel module tracing is more useful than app-level tracing for this issue, I would think. There's not much
more that CE_DEBUG can tell you with this failure, further details are inside DSPLink.
Regards,
- Rob
Report Abuse
-
Posted by Myosotis
on
Jun 27 2012 03:15 AM
Intellectual490 points
Robert Tivy,
thank you for aswer.
>Can you see if your boot process launches a DSPLink-related application ('ps' could help to see if one is already running)?
root@dm37x-evm:/home/c6accel-apps# rmmod dsplinkk.ko
ERROR: Module dsplinkk is in use by lpm_omap3530
root@dm37x-evm:/home/c6accel-apps# rmmod lpm_omap3530.ko
root@dm37x-evm:/home/c6accel-apps# rmmod dsplinkk.ko
root@dm37x-evm:/home/c6accel-apps# rmmod cmemk.ko
It seems that dsplinkk was in use only by lpm_omap3530.
>Is this error happening during an initial run after boot?
I got this one error after initial run:
[ 31.995605] CMEMK module: built on Jun 26 2012 at 15:43:47
[ 32.001373] Reference Linux version 2.6.37
[ 32.005920] File /usr/local/dvsdk/linuxutils_2_26_03_06/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
[ 32.016723] CMEM Range Overlaps Kernel Physical - allowing overlap
[ 32.023284] CMEM phys_start (0x83700000) overlaps kernel (0x80000000 -> 0x85000000)
[ 32.031372] CMEMK Error: Failed to request_mem_region(0x83700000, 35651584)
FATAL: Error inserting cmemk (/lib/modules/2.6.37/kernel/drivers/dsp/cmemk.ko): Bad address
That's why I changed the CMEM configurations in the loadmodules.sh
Was:
modprobe cmemk phys_start=0x83700000 phys_end=0x85000000 pools=20x4096 allowOverlap=1
Now:
modprobe cmemk phys_start=0x85000000 phys_end=0x86300000 pools=20x4096 allowOverlap=1
To be on the safe side, I attached logs with CE_DEBUG=3. Look please. 6646.log_DEBUG_3.txt
Report Abuse
-
Posted by Robert Tivy
on
Jun 28 2012 16:21 PM
Verified Answer
Verified by
Myosotis
Genius10770 points
Myosotis
Now:
modprobe cmemk phys_start=0x85000000 phys_end=0x86300000 pools=20x4096 allowOverlap=1
I noticed this entry in your log file:
@0,882,750us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - entry #6:
@0,882,781us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - entry = 0x6
@0,882,811us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - name = "DDRALGHEAP"
@0,882,872us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - physAddr = 0x86000000
@0,882,903us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - dspVirtAddr = 0x86000000
@0,882,964us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - gppVirtAddr = 0xffffffff
@0,882,994us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - size = 0x1000000
@0,883,055us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - shared = FALSE
@0,883,086us: [+3 T:0x40b1e490 S:0x40b1dcec] OP - syncd = FALSE
It appears to be clashing with CMEM's physical memory, which goes from 0x85000000 -> 0x86300000. I don't know that a clash of this sort would cause the error you're seeing (the DSP_EALREADYEXISTS one), although it might be the cause, but it's not right
and needs to be placed after CMEM's memory. Please try changing that and report back if there's still an issue and I'll dig deeper.
FYI, you don't need allowOverlap=1 since you're no longer clashing with kernel memory.
Regards,
- Rob
Report Abuse
-
Posted by Myosotis
on
Jun 29 2012 04:12 AM
Intellectual490 points
I have no more opportunity to work with this board :(
Anyway, Robert Tivy, thank you.