DSP

Loading and starting DSP server c6accel_omap35

2019-07-13 12:35发布

Loading and starting DSP server 'c6accel_omap3530.x64P' FAILED

This question is answered Myosotis Posted by 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) Report Abuse All Replies
  • Robert Tivy Posted by 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
  • Myosotis Posted by 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
  • Robert Tivy Posted by on Jun 28 2012 16:21 PM Verified Answer Verified by 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
  • Myosotis Posted by on Jun 29 2012 04:12 AM Intellectual490 points I have no more opportunity to work with this board :( Anyway, Robert Tivy, thank you.