This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Syslink memory problem using DM8168

Other Parts Discussed in Thread: SYSBIOS

I've pulled some of the sample application code into one of my applications running on Linux (specifically ex08).  After I load the DSP core with the application, I get the output below.  I am using a custom platform and have named memory sections "DDR3_CODE" "DDR3_STACK" and "DDR3_DATA".  I suspect this is really a memory allocation error as the application is small and I looked through the syslink source and the MAX_MEMORY_SECTIONS parameter is set to 96u.  I am using Syslink 2.21.0.3 as you can see from the output.  I can run the examples 'stand alone' and they work fine, which says it is likely something I have done rather than a problem with syslink.

I turned on trace in syslink in hopes that I could figure this out.

Incidentally, I was receiving the message earlier that the section ".plt" did not have a SECTION and so I added Program.sectMap[".plt"]="DDR3_CODE";  to the .cfg file.  This section is marked as RWX/code.

Any ideas?

Starting DSP Subsystem...

3 Slave Processor Cores located

[25731.750000] *** _ProcMgr_map: All memEntries slots are in use!

[25731.750000]  Error [0x97d2000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25731.770000] *** _ProcMgr_map: All memEntries slots are in use!

[25731.770000]  Error [0x97d2000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25731.800000] *** _ProcMgr_map: All memEntries slots are in use!

[25731.800000]  Error [0x97d2000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25731.820000] *** _ProcMgr_map: All memEntries slots are in use!

[25731.820000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25731.840000] *** _ProcMgr_map: All memEntries slots are in use!

[25731.840000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

Attached to slave procId 0.

Loading procId 0 with 'mbdsp.xe674'.

[25731.910000] *** _ProcMgr_map: All memEntries slots are in use!

[25731.910000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25731.940000] *** _ProcMgr_map: All memEntries slots are in use!

[25731.940000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25732.010000] *** _ProcMgr_map: All memEntries slots are in use!

[25732.010000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25732.040000] *** _ProcMgr_map: All memEntries slots are in use!

[25732.040000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25732.070000] *** _ProcMgr_map: All memEntries slots are in use!

[25732.070000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25732.100000] *** _ProcMgr_map: All memEntries slots are in use!

[25732.100000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25732.120000] *** _ProcMgr_map: All memEntries slots are in use!

[25732.120000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25732.150000] *** _ProcMgr_map: All memEntries slots are in use!

[25732.150000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25732.170000] *** _ProcMgr_map: All memEntries slots are in use!

[25732.170000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

[25732.230000] *** _ProcMgr_map: All memEntries slots are in use!

[25732.230000]  Error [0x6a85000] at Line no: 2589 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/procMgr/common/ProcMgr.c

Loaded file mbdsp.xe674 on slave procId 0.

Started slave procId 0.

Current status of slave cores:

Slave core [25732.280000] *** MemoryOS_alloc: Could not allocate memory

[25732.280000]  Error [0x897d2001] at Line no: 316 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/knl/osal/Linux/MemoryOS.c

0:      DSP [Run[25732.300000] *** Memory_alloc: Failed to allocate memory!

[25732.300000]  Error [0x8c97e001] at Line no: 138 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/utils/hlos/Memory.c

ning]

Slave cor[25732.330000] *** Platform_loadCallback: Memory_alloc failed

[25732.330000]  Error [0xffffffff] at Line no: 2408 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/ti81xx/Platform.c

e 1: VIDEO-M3 [U[25732.350000] *** Ipc_control: Platform_loadCallback failed!

[25732.350000]  Error [0xffffffff] at Line no: 828 in file /home/n5ac/Desktop/syslink_2_21_00_03/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/ipc/hlos/knl/Ipc.c

nknown]

Slave core 2:  VPSS-M3 [Unknown]

  • Hi Stephen,

    If you are still having issues, can you provide some more details as to how you have modified your custom platform and added the new memory section names.
    Do you have config.bld where you have defined new memory sections/map? Can you attach this and any other .cfg files that may be relevant?

    Best,
    Murat

     

  • I'm still having this problem.  I looked for a config.bld and found one in Debug/configPkg/ -- it looks like there's an error (I'll try to attach the file), but this was not apparent in the build:


    **** Build of configuration Debug for project mbdsp ****

    /opt/TI/ccsv5/utils/bin/gmake -k all
    Building file: ../main.cfg
    Invoking: XDCtools
    "/opt/TI/xdctools_3_24_05_48/xs" --xdcpath="/opt/TI/bios_6_34_02_18/packages;/opt/TI/syslink_2_21_00_03/packages;/opt/TI/ipc_1_25_00_04/packages;/home/n5ac/microburst/smoothlake/trunk/packages;/opt/TI/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C674 -p flexradio.microburst_dsp -r release -c "/opt/TI/ccsv5/tools/compiler/c6000_7.4.1" --compileOptions "-g --optimize_with_debug" "../main.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring main.xe674 from package/cfg/main_pe674.cfg ...
    cle674 package/cfg/main_pe674.c ...
    Finished building: ../main.cfg
     
    Building file: ../main.c
    Invoking: C6000 Compiler
    "/opt/TI/ccsv5/tools/compiler/c6000_7.4.1/bin/cl6x" -mv6740 --abi=eabi -g --include_path="/opt/TI/ccsv5/tools/compiler/c6000_7.4.1/include" --define=dm8168 --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="main.pp" --cmd_file="./configPkg/compiler.opt"  "../main.c"
    Finished building: ../main.c
     
    Building file: ../server.c
    Invoking: C6000 Compiler
    "/opt/TI/ccsv5/tools/compiler/c6000_7.4.1/bin/cl6x" -mv6740 --abi=eabi -g --include_path="/opt/TI/ccsv5/tools/compiler/c6000_7.4.1/include" --define=dm8168 --display_error_number --diag_warning=225 --preproc_with_compile --preproc_dependency="server.pp" --cmd_file="./configPkg/compiler.opt"  "../server.c"
    Finished building: ../server.c
     
    Building target: mbdsp.xe674
    Invoking: C6000 Linker
    "/opt/TI/ccsv5/tools/compiler/c6000_7.4.1/bin/cl6x" -mv6740 --abi=eabi -g --define=dm8168 --display_error_number --diag_warning=225 -z --stack_size=0x800 -m"mbdsp.map" --heap_size=0x800 -i"/opt/TI/ccsv5/tools/compiler/c6000_7.4.1/lib" -i"/home/n5ac/microburst/smoothlake/trunk/packages" -i"/opt/TI/c674x-dsplib/lib" -i"/opt/TI/ccsv5/tools/compiler/c6000_7.4.1/include" --reread_libs --define=DSP_CORE=1 --warn_sections --display_error_number --retain=_Ipc_ResetVector --rom_model --dynamic=exe -o "mbdsp.xe674" -l"./configPkg/linker.cmd"  "./server.obj" "./main.obj" -ldsplib674x_elf.lib -l"libc.a"
    <Linking>
    Finished building target: mbdsp.xe674
     
    /opt/TI/ccsv5/utils/bin/gmake --no-print-directory post-build
    cp mbdsp.xe674 /nfsroots/microburst/home/root/
     

    **** Build Finished ****

  • Any file I attempt to attach get a "file type not allowed".  I've tried renaming to ._bld, etc. with no luck.

    Steve

  • This file is small enough, I'll just add it here directly (config.bld):

    /* THIS IS A GENERATED FILE -- DO NOT EDIT */
    /* configuro was passed the target's name explicitly */
    try {
        var target = xdc.module('ti.targets.elf.C674');
    }
    catch (e) {
        throw new Error("Can't find the target named '" + 'ti.targets.elf.C674'
                        + "' along the path '" + environment["xdc.path"]
                        + "': please check the spelling of the target's name and that it exists along this path.");
    }
    if (!(target instanceof xdc.module("xdc.bld.ITarget").Module)) {
        throw new Error("The module named 'ti.targets.elf.C674' exists but it's not a target: please check the spelling of the target's name");
    }
        
    target.ccOpts.prefix = "-g --optimize_with_debug " + target.ccOpts.prefix;
    Build.targets = [target];
    /* configuro was passed the target's rootDir explicitly */
    Build.targets[0].rootDir = '/opt/TI/ccsv5/tools/compiler/c6000_7.4.1';

    And here's the linker.cmd that shows the memory ("--" substituted for some paths):

    /*
     * Do not modify this file; it is automatically generated from the template
     * linkcmd.xdt in the ti.targets.elf package and will be overwritten.
     */

    /*
     * put '"'s around paths because, without this, the linker
     * considers '-' as minus operator, not a file name character.
     */


    -l"/home/--/--/--/trunk/mbdsp/Debug/configPkg/package/cfg/main_pe674.oe674"
    -l"/opt/TI/syslink_2_21_00_03/packages/ti/syslink/ipc/rtos/lib/release/ti.syslink.ipc.rtos.ae674"
    -l"/opt/TI/ipc_1_25_00_04/packages/ti/sdo/ipc/lib/ipc/nonInstrumented/ipc.ae674"
    -l"/opt/TI/syslink_2_21_00_03/packages/ti/syslink/utils/rtos/bios6/lib/release/ti.syslink.utils.rtos.bios6.ae674"
    -l"/opt/TI/bios_6_34_02_18/packages/ti/sysbios/lib/sysbios/nonInstrumented/sysbios.ae674"
    -l"/opt/TI/xdctools_3_24_05_48/packages/ti/targets/rts6000/lib/ti.targets.rts6000.ae674"
    -l"/opt/TI/xdctools_3_24_05_48/packages/ti/targets/rts6000/lib/boot.ae674"

    --retain="*(xdc.meta)"


    --args 0x64
    -heap  0x0
    -stack 0x1000

    MEMORY
    {
        OCMC_0 (RWX) : org = 0x40300000, len = 0x40000
        OCMC_1 (RWX) : org = 0x40400000, len = 0x40000
        DDR3_DATA (RWX) : org = 0x9f000000, len = 0x200000
        DDR3_CODE (RWX) : org = 0x9f200000, len = 0xc00000
        SR_0 (RWX) : org = 0x9fe00000, len = 0x100000
        SR_1 (RWX) : org = 0x9ff00000, len = 0x100000
    }

    /*
     * Linker command file contributions from all loaded packages:
     */

    /* Content from xdc.services.global (null): */

    /* Content from xdc (null): */

    /* Content from xdc.corevers (null): */

    /* Content from xdc.shelf (null): */

    /* Content from xdc.services.spec (null): */

    /* Content from xdc.services.intern.xsr (null): */

    /* Content from xdc.services.intern.gen (null): */

    /* Content from xdc.services.intern.cmd (null): */

    /* Content from xdc.bld (null): */

    /* Content from ti.targets (null): */

    /* Content from ti.targets.elf (null): */

    /* Content from xdc.rov (null): */

    /* Content from xdc.runtime (null): */

    /* Content from ti.targets.rts6000 (null): */

    /* Content from ti.sysbios.interfaces (null): */

    /* Content from ti.sysbios.family (null): */

    /* Content from ti.sysbios.hal (null): */

    /* Content from ti.sysbios (null): */

    /* Content from ti.sysbios.knl (null): */

    /* Content from ti.sysbios.gates (null): */

    /* Content from ti.sysbios.family.c64p (null): */

    /* Content from xdc.services.getset (null): */

    /* Content from xdc.runtime.knl (null): */

    /* Content from ti.sdo.ipc.family (null): */

    /* Content from ti.sdo.utils (null): */

    /* Content from ti.sdo.ipc.interfaces (null): */

    /* Content from ti.sysbios.syncs (null): */

    /* Content from ti.sysbios.heaps (null): */

    /* Content from ti.sysbios.xdcruntime (null): */

    /* Content from ti.sysbios.family.c62 (null): */

    /* Content from ti.sysbios.timers.dmtimer (null): */

    /* Content from ti.sysbios.family.c64p.ti81xx (null): */

    /* Content from ti.syslink.utils.rtos.bios6 (null): */

    /* Content from ti.sysbios.utils (null): */

    /* Content from ti.catalog.c6000 (null): */

    /* Content from ti.catalog (null): */

    /* Content from ti.catalog.peripherals.hdvicp2 (null): */

    /* Content from xdc.platform (null): */

    /* Content from xdc.cfg (null): */

    /* Content from ti.platforms.generic (null): */

    /* Content from flexradio.microburst_dsp (null): */

    /* Content from ti.sdo.ipc (ti/sdo/ipc/linkcmd.xdt): */

    SECTIONS
    {
        ti.sdo.ipc.SharedRegion_0:  { . += 0x100000;} run > 0x9fe00000, type = NOLOAD
        ti.sdo.ipc.SharedRegion_1:  { . += 0x100000;} run > 0x9ff00000, type = NOLOAD

        ti_sdo_ipc_init: load > DDR3_DATA, type = NOINIT
    }


    /* Content from ti.sdo.ipc.family.ti81xx (null): */

    /* Content from ti.sdo.ipc.notifyDrivers (null): */

    /* Content from ti.sdo.ipc.transports (null): */

    /* Content from ti.sdo.ipc.nsremote (null): */

    /* Content from ti.sdo.ipc.heaps (null): */

    /* Content from ti.syslink.ipc.rtos (ti/syslink/ipc/rtos/linkcmd.xdt): */


        /*
         *  Set entry point to the HWI reset vector 0 to automatically satisfy
         *  any alignment constraints for the boot vector.
         */
        -eti_sysbios_family_c64p_Hwi0

        /*
         * We just modified the entry point, so suppress the "entry point symbol other
         * than _c_int00 specified" warning.
         */
        --diag_suppress=10063

        /* Add the flags needed for SysLink ELF build. */
        --dynamic
        --retain=_Ipc_ResetVector

        /*
         * Added symbol to ensure SysBios code is retained when entrypoint is
         * something other than _c_int00.  This workaround will be removed once
         * fixed in the SysBios package
         */
        -u _c_int00

    /* Content from ti.sdo.ipc.gates (null): */

    /* Content from configPkg (null): */


    /*
     * symbolic aliases for static instance objects
     */
    xdc_runtime_Startup__EXECFXN__C = 1;
    xdc_runtime_Startup__RESETFXN__C = 1;
    TSK_idle = ti_sysbios_knl_Task_Object__table__V + 0;

    SECTIONS
    {
        .text: load >> DDR3_CODE
        .ti.decompress: load > DDR3_CODE
        .stack: load > OCMC_0
        GROUP: load > DDR3_DATA
        {
            .bss:
            .neardata:
            .rodata:
        }
        .cinit: load > DDR3_DATA
        .pinit: load >> DDR3_DATA
        .init_array: load > DDR3_DATA
        .const: load >> DDR3_DATA
        .data: load >> DDR3_DATA
        .fardata: load >> DDR3_DATA
        .switch: load >> DDR3_DATA
        .sysmem: load > DDR3_DATA
        .far: load >> DDR3_DATA
        .args: load > DDR3_DATA align = 0x4, fill = 0 {_argsize = 0x64; }
        .cio: load >> DDR3_DATA
        .ti.handler_table: load > DDR3_DATA
        .plt: load >> DDR3_CODE
        .vecs: load >> DDR3_CODE
        xdc.meta: load >> DDR3_DATA, type = COPY

    }

  • Hi Stephen,

    Can you try rebuilding the kernel after increasing the default value of ProcMgr_MAX_MEMORY_REGIONS  from 96 to something larger. The error condition you see is tied to this constant getting exceeded during ProcMgr_map, which may be due to large number of sections (>96) getting mapped.

    This constant is defined in .../ti/syslink/inc/knl/ProcDefs.h

    via:

    #define ProcMgr_MAX_MEMORY_REGIONS  96u

    just edit and rebuild kernel and run your application again. ANd let's see if behavior changes.

    Best regards,
    Murat

  • I increased it to 192 and received this the first time I ran it:

    Starting DSP Subsystem...
    3 Slave Processo[  696.170000] Unable to handle kernel paging request at virtual address 745f756b
    [  696.170000] pgd = c0004000
    [  696.170000] [745f756b] *pgd=00000000
    [  696.170000] Internal error: Oops: 5 [#1]
    [  696.170000] last sysfs file: /sys/devices/virtual/syslinkipc/syslinkipc_FrameQ/uevent
    [  696.170000] Modules linked in: syslink snd_soc_davinci_mcasp snd_soc_microburst snd_soc_adau1761 regmap_spi snd_soc_davinci snd_soc_adau17x1 snd_soc_core snd_soc_sigma snd_pcm regmap_i2c snd_timer snd_page_alloc ipv6 [last unloaded: syslink]
    [  696.170000] CPU: 0    Not tainted  (2.6.37-0.1-microburst+ #22)
    [  696.170000] PC is at do_page_fault+0x54/0x29c
    [  696.170000] LR is at do_DataAbort+0x30/0x98
    [  696.170000] pc : [<c0377e88>]    lr : [<c003123c>]    psr: 60000193
    [  696.170000] sp : dcbaa150  ip : dcbaa268  fp : 00000000
    [  696.170000] r10: 00000005  r9 : 20000193  r8 : c04dcecc
    [  696.170000] r7 : 745f746f  r6 : 745f756b  r5 : 00000005  r4 : dcbaa268
    [  696.170000] r3 : e0ac3000  r2 : dcbaa150  r1 : 00000005  r0 : 745f756b
    [  696.170000] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [  696.170000] Control: 10c5387d  Table: 9e0bc019  DAC: 00000015
    [  696.170000] Process  (pid: 0, stack limit = 0xdcba82e8)
    and this the second time after a reboot:
    Starting DSP Subsystem...
    3 Slave Processor Cores located
    [   57.490000] Unable to handle kernel NULL pointer dereference at virtual address 00000384
    [   57.490000] pgd = dc7ec000
    [   57.490000] [00000384] *pgd=9c633031, *pte=00000000, *ppte=00000000
    [   57.490000] Internal error: Oops: 817 [#1]
    [   57.490000] last sysfs file: /sys/devices/virtual/syslinkipc/syslinkipc_SyslinkMemMgr/uevent
    [   57.490000] Modules linked in: syslink snd_soc_davinci_mcasp snd_soc_microburst snd_soc_adau1761 regmap_spi snd_soc_davinci snd_soc_adau17x1 snd_soc_core snd_pcm snd_soc_sigma regmap_i2c snd_timer snd_page_alloc ipv6
    [   57.490000] CPU: 0    Not tainted  (2.6.37-0.1-microburst+ #22)
    [   57.490000] PC is at lock_acquire+0xe4/0xf8
    [   57.490000] LR is at lock_acquire+0xd4/0xf8
    [   57.490000] pc : [<c008cb10>]    lr : [<c008cb00>]    psr: 80000193
    [   57.490000] sp : de23e030  ip : 00000000  fp : 00000000
    [   57.490000] r10: 60000193  r9 : 00002068  r8 : 00000000
    [   57.490000] r7 : 00000000  r6 : ddd44310  r5 : 00000000  r4 : 00000000
    [   57.490000] r3 : 00000000  r2 : de23e030  r1 : 0000000d  r0 : 00000001
    [   57.490000] Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
    [   57.490000] Control: 10c5387d  Table: 9e1a4019  DAC: 00000015
    [   57.490000] Process login (pid: 183, stack limit = 0xde23c2e8)
    [   57.490000] Stack: (0xde23e030 to 0xde23e000)
    [   57.490000] [<c008cb10>] (lock_acquire+0xe4/0xf8) from [<c0375bc4>] (_raw_spin_lock+0x28/0x38)
    [   57.490000] [<c0375bc4>] (_raw_spin_lock+0x28/0x38) from [<bf0fa044>] (davinci_pcm_pointer+0x18/0x140 [snd_soc_davinci])
    [   57.490000] [<bf0fa044>] (davinci_pcm_pointer+0x18/0x140 [snd_soc_davinci]) from [<bf079140>] (snd_pcm_update_hw_ptr0+0x28/0x20c [snd_pcm])
    [   57.490000] [<bf079140>] (snd_pcm_update_hw_ptr0+0x28/0x20c [snd_pcm]) from [<bf07938c>] (snd_pcm_period_elapsed+0x68/0xcc [snd_pcm])
    [   57.490000] [<bf07938c>] (snd_pcm_period_elapsed+0x68/0xcc [snd_pcm]) from [<c0041b18>] (dma_irq_handler+0xc0/0xf8)
    [   57.490000] [<c0041b18>] (dma_irq_handler+0xc0/0xf8) from [<c00a43c0>] (handle_IRQ_event+0x6c/0x17c)
    [   57.490000] [<c00a43c0>] (handle_IRQ_event+0x6c/0x17c) from [<c00a5d90>] (handle_level_irq+0xbc/0x13c)
    [   57.490000] [<c00a5d90>] (handle_level_irq+0xbc/0x13c) from [<c0031070>] (asm_do_IRQ+0x70/0x94)
    [   57.490000] [<c0031070>] (asm_do_IRQ+0x70/0x94) from [<c03762f4>] (__irq_svc+0x34/0xa0)
    [   57.490000] Exception stack(0xde23e180 to 0xde23e1c8)
    [   57.490000] e180: dc77a6cc e13d3000 00000000 dc77a78c e13d4000 00001fff 00002000 ddc43700
    [   57.490000] e1a0: 00000001 ffffffff ddc43700 00000000 e13d1000 de23e1c8 c00e74b0 c02024f0
    [   57.490000] e1c0: a0000013 ffffffff
    [   57.490000] [<c03762f4>] (__irq_svc+0x34/0xa0) from [<c02024f0>] (rb_next+0x2c/0x60)
    [   57.490000] [<c02024f0>] (rb_next+0x2c/0x60) from [<c00e74b0>] (alloc_vmap_area.clone.16+0x1b0/0x318)
    [   57.490000] [<c00e74b0>] (alloc_vmap_area.clone.16+0x1b0/0x318) from [<c00e7750>] (__get_vm_area_node.clone.17+0x138/0x1ec)
    [   57.490000] [<c00e7750>] (__get_vm_area_node.clone.17+0x138/0x1ec) from [<c00e821c>] (__vmalloc_node+0x68/0xa0)
    [   57.490000] [<c00e821c>] (__vmalloc_node+0x68/0xa0) from [<c00e832c>] (vmalloc+0x20/0x28)
    [   57.490000] [<c00e832c>] (vmalloc+0x20/0x28) from [<bf14e024>] (MemoryOS_alloc+0xc0/0x1a4 [syslink])
    [   57.490000] [<bf14e024>] (MemoryOS_alloc+0xc0/0x1a4 [syslink]) from [<bf14e338>] (MemoryOS_map+0x230/0x398 [syslink])
    [   57.490000] [<bf14e338>] (MemoryOS_map+0x230/0x398 [syslink]) from [<bf123950>] (_ProcMgr_map+0x1c4/0x4a0 [syslink])
    [   57.490000] [<bf123950>] (_ProcMgr_map+0x1c4/0x4a0 [syslink]) from [<bf12634c>] (ProcMgr_attach+0x254/0x3cc [syslink])
    [   57.490000] [<bf12634c>] (ProcMgr_attach+0x254/0x3cc [syslink]) from [<6f1c1823>] (0x6f1c1823)
    [   57.490000] Code: e1a0200d e3c23d7f e3c3303f e593300c (e5834384)
    [   57.850000] ---[ end trace 2350a24febc03259 ]---
    [   57.870000] BUG: spinlock lockup on CPU#0, SL PortAudio/218, de276a94
    [   57.870000] [<c003ac24>] (unwind_backtrace+0x0/0xe0) from [<c0208a90>] (do_raw_spin_lock+0x124/0x168)
    [   57.870000] [<c0208a90>] (do_raw_spin_lock+0x124/0x168) from [<bf0731c8>] (snd_pcm_playback_poll+0x40/0xd4 [snd_pcm])
    [   57.870000] [<bf0731c8>] (snd_pcm_playback_poll+0x40/0xd4 [snd_pcm]) from [<c0109050>] (do_sys_poll+0x1e4/0x36c)
    [   57.870000] [<c0109050>] (do_sys_poll+0x1e4/0x36c) from [<c0109274>] (sys_poll+0x58/0xb8)
    [   57.870000] [<c0109274>] (sys_poll+0x58/0xb8) from [<c0035f20>] (ret_fast_syscall+0x0/0x30)
    I think I have something more fundamental wrong.  I suspect I don't have memory allocated properly or something.  It looks a little like the DSP is writing into Linux memory and confusing the kernel.  What is the best guide that explains how all the memory pieces fit together -- from reserving the memory in linux to the files that control it on the SYS/BIOS side?
    I am invoking linux with memory set to 496M (I have 512) and I have told the DSP that it can have from 0x9F000000 to 0x9FFFFFFF.
    Thanks,
    Steve
  • Hi Steve,

    Here is some documentation from the EZSDK which you might want to take a look for some information for a particular supported configuration and additional information about how to make changes to the memory map:

    http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map

    Murat