Loading and starting DSP server c6accel_omap3530.x64P FAILED

Loading and starting DSP server 'c6accel_omap3530.x64P' FAILED

This question is answered
Intellectual 490 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)

Report Abuse
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Genius 10770 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
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Intellectual 490 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
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Genius 10770 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
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Intellectual 490 points

    I have no more opportunity to work with this board :(

    Anyway, Robert Tivy, thank you. 

你可能感兴趣的:(Loading and starting DSP server c6accel_omap3530.x64P FAILED)