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.

DM814x DSP firmware_loader stop/start hang

Other Parts Discussed in Thread: TLC59108, SYSBIOS, OMAP3530


TI folks,

We have developed a product based on the DM814x, using:

  • DM814x PG 3.0
  • EZSDK 5.05.02.00
  • EZSDK OMX/HDVPSS Overlay 5.05.02.00
  • PSP 04.04.00.02
  • Most of the Arago updates for both linux and u-boot in ti81xx-master after the v2.6.37_TI81XXPSP_04.04.00.02.patch1 tag

It uses OMX to implement a media decoder application. It playes both video and audio, so the DSP is used as well.

We have a requirement to be able to enter a low-power mode (without hanging), and to return to normal full power mode (without hanging).  To shut down the DSP, I stop its firmware, and set RM_ACTIVE_RSTCTRL, as indicated by Pavel Botev at the end of this e2e post:

http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/256582.aspx

(Some other EZSDK modifications are also required, as mentioned in the above post.)

However, I found that the DSP firmware load consistently hangs after about 210 attempts. This hang also occurs using the stock EZSDK (without the modifications suggested by Pavel, without the updated PSP, without the OMX/HDVPSS overlay), on the DM814x-EVM.  The issue can be demonstrated using the following loop :

II=1
while true; do
    echo; echo "========== $II: $(date) =========="
    echo; echo "=== Starting DSP =="; echo
    firmware_loader 0 /usr/share/ti/ti-media-controller-utils/dm814x_c6xdsp.xe674 start -i2c 0
    sleep 1
    echo; echo "=== Stopping DSP =="; echo
    firmware_loader 0 /usr/share/ti/ti-media-controller-utils/dm814x_c6xdsp.xe674 stop
    sleep 1
    II=$(( II + 1 ))
done

Please see attached log, 1_dsp_hang.txt.

Please note that this hang occurs regardless of if audio is actually decoded with OMX.  (For example, the log is from the stock EZSDK, without decoding any video or audio.)

Can you tell me how to fix the DSP load/unload issue?

Thanks,

Dan -

  • Dan,

    I can successfully reproduce this DSP firmware load issue on my DM8148 EVM with the default EZSDK 5.05.02.00 / PSP 04.04.00.01.

    Let us start from the error reported:

    #firmware_loader 0 /usr/share/ti/ti-media-controller-utils/dm814x_c6xdsp.xe674 start -i2c 0
    FIRMWARE: Memory map bin file not passed
    FIRMWARE: isI2cInitRequiredOnM3: 0
    FIRMWARE: Default memory configuration is used
    Firmware Loader debugging not configured
    Default FL_DEBUG: warning
    Allowed FL_DEBUG levels: error, warning, info, debug, log
    MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.2.1
    FIRMWARE: Ipc_CONTROLCMD_STARTCALLBACK Error: ProcMgr status 0xffffffff
    FIRMWARE: Could not start: -1

    The Ipc_CONTROLCMD_STARTCALLBACK call performs a handshake with the slave processor (DSP) typically enabling the slave-side calls to Ipc_attach() to succeed. This call is performed in the firmware_loader.c file:

    /* Load the firmware and start the processor */
    Int start_firmware (UInt16 procId, uint8_t* pMemCfgSpace, uint8_t ipcInit_memCfg)
    {
    .............
    if (TRUE == ipcInit_memCfg) {
        status = Ipc_control (procId, Ipc_CONTROLCMD_STARTCALLBACK, NULL);

        if (status < 0)
        {
          UTL_TRACE(TRACE_ERROR, "FIRMWARE: Ipc_CONTROLCMD_STARTCALLBACK Error: " \
                 "ProcMgr status 0x%x\n", status);
          return -5;
        }
      }
    ...................
    return 0;
    }

    This Ipc_control() function is defined in:
    ti-ezsdk_dm814x-evm_5_05_02_00/component-sources/syslink_2_20_02_20/packages/ti/syslink/ipc/hlos/usr/Ipc.c file:

    Int Ipc_control(UInt16 procId, Int cmdId, Ptr arg)
    {
    ...........
    switch (cmdId) {
    case Ipc_CONTROLCMD_STARTCALLBACK:
                    status = _SharedRegion_setRegions();

                    if (status < 0) {
                        status = Ipc_E_FAIL;
                        GT_setFailureReason(curTrace, GT_4CLASS, "Ipc_control",
                                status, "_SharedRegion_setRegions API Failed!");
                    }
          
                    /* register the terminate event with the driver */
                    status = Ipc_addTerminateEvent(procId);

                    if (status < 0) {
                
                        GT_setFailureReason(curTrace, GT_4CLASS, "Ipc_control",
                                status, "Ipc_addTerminateEvent failed");
                    }
                    break;
    ..................................
    }

    As you can see, this Ipc_control() function that actually failed is part of the syslink module (syslink_2_20_02_20), which makes me think the error should be related to the syslink module.

    In your usecase, when you load/start the DSP firmware, the syslink module is already inserted from the load-hd-firmware.sh script. But when you unload/stop the DSP firmware, you have actually do not remove the syslink module. And I suspect this is the actual reason that some resource (memory or other) is used up at the 211 attempt to load/start the DSP firmware.

    Taking as example the loading/unloading of the HDVICP2/HDVPSS firmware from the load-hd-firmware.sh script, we can see that before every load/start of the firmwares, we insert the syslink before that (modprobe syslink). And on every unload/stop of the firmwares, the syslink is removed after that (rmmod syslink). If I try the same approach with the DSP firmware load/unload, I can successfully start the DSP firmware for more than 211 times (I stopped the flow at 338). Below are the modifications:

    root@dm814x-evm:~# /etc/init.d/pvr-init stop
    root@dm814x-evm:~# /etc/init.d/matrix-gui-e stop
    root@dm814x-evm:~# /etc/init.d/load-hd-firmware.sh stop
    root@dm814x-evm:~# II=1
    root@dm814x-evm:~# while true; do
    >     echo; echo "========== $II: $(date) =========="
    >     echo; echo "=== Starting DSP firmware =="; echo
    >     modprobe syslink
    >     sleep 1
    >     firmware_loader 0 /usr/share/ti/ti-media-controller-utils/dm814x_c6xdsp.xe674 start -i2c 0    
    >     sleep 1
    >     echo; echo "=== Stoping DSP firmware =="; echo
    >     firmware_loader 0 /usr/share/ti/ti-media-controller-utils/dm814x_c6xdsp.xe674 stop -i2c 0
    >     rmmod syslink      
    >     sleep 1
    >     II=$(( II + 1 ))
    > done

    Please let me know what do you think about this approach (removing/inserting syslink along with the start/stop of the DSP firmware).

    Best regards,
    Pavel

  • Pavel,

    First, thank you for responding

    Pavel Botev said:

    Please let me know what do you think about this approach (removing/inserting syslink along with the start/stop of the DSP firmware).

    The main problem I have with this suggestion is that when I make a similar while loop to stop/start the load-hd-firmware.sh, I find that the result in much worse.

    • On the DM814x-EVM, I got an extremely long (or maybe multiple) kernel panic dump, starting from a NULL dereference usually.  This usually occurs sometime between the 10th and 40th iteration.
    • On our custom hardware, it seems more stable.  I do not get the kernel panic, but eventually the firmware_loader hangs in much the same way as the DSP load.  The number of successful cycles seems variable.  It's failed as quickly as 10 iterations, and as long as 1900+ iterations.  (Maybe it can go even higher - the hang is not as predictable as the DSP hang.)

    Can you try this on your setup?

    /etc/init.d/matrix-gui-e stop
    /etc/init.d/pvr-init stop
    II=1
    while true; do
        echo; echo "========== $II: $(date) =========="
        echo; echo "=== Stopping M3 f/w =="; echo
        /etc/init.d/load-hd-firmware.sh stop
        sleep 1
        echo; echo "=== Starting M3 f/w =="; echo
        /etc/init.d/load-hd-firmware.sh start
        sleep 1
        II=$(( II + 1 ))
    done

    For your reference, I have attached the following logs in a zip file to this post:

    • 2_m3_crash_with_latest_ti_code.txt - shows crash when running on DM814x-EVM, using the latest Arago ti81xx-master tags of linux-omap3 and u-boot-omap3, and the OMX/HDVPSS overlay.
    • 3_m3_crash_with_original_EZDSK.txt - shows crash using the unaltered targetfs from the 5.05.02.00 EZSDK (and of course the unaltered uImage and u-boot.bin).

    Dan -

    m3_crashes_on_dm814x_evm.zip
  • Dan,

    Daniel70334 said:
    On the DM814x-EVM, I got an extremely long (or maybe multiple) kernel panic dump, starting from a NULL dereference usually.  This usually occurs sometime between the 10th and 40th iteration.

    I run 3 tests on the DM814x-EVM, and I can reproduce this error (Unable to handle kernel NULL pointer dereference at virtual address 00000010) on 96th iteration, 288th iteration and 151th iteration.

    === Stopping M3 f/w ==

    Unloading HDVICP2 Firmware
    FIRMWARE: I2cInit will be done by M3
    FIRMWARE: Memory map bin file not passed
    Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>]
    ===Mandatory arguments===
    <Processor Id>         0: DSP, 1: Video-M3, 2: Vpss-M3
    <Location of Firmware> firmware binary fUnable to handle kernel NULL pointer dereference at virtual address 00000010
    ile
    <start|stopgd = c0004000
    p>           to [00000010] *pgd=00000000start/stop the f
    irmware
    ===OptInternal error: Oops: 17 [#1]
    last sysfs file: /sys/module/vpss/initstate
    Modules linked in: tlc59108 ti81xxhdmi ti81xxfb vpss syslink ipv6 [last unloaded: syslink]
    ................

    I will try to find the root cause of this kernel oops.

    Meanwhile can you run tests with no sleep, sleep 3 and sleep 5, does it make any difference?

    Best regards,
    Pavel

  • I suspect this kernel oops is caused by the SysLink module. I found the below E2E thread which looks very related:

    http://e2e.ti.com/support/embedded/linux/f/354/t/138501.aspx

    On other (internal) E2E thread I found that "kernel oops: 17" occur when the kernel is under heavy loading. This is high utilization error of the kernel scheduler.

    You can add more debug information output from the syslink module, when inserting it like:

    load-hd-firmware.sh

    modprobe syslink TRACE=1 TRACEENTER=1 TRACECLASS=3 TRACEFAILURE=1

    See http://processors.wiki.ti.com/index.php/SysLink_UserGuide#Trace.2C_debug_and_build_configuration

    BR
    Pavel

  • Pavel,

    Pavel Botev said:

    I will try to find the root cause of this kernel oops.

    Great, thank you!

    Pavel Botev said:

    Meanwhile can you run tests with no sleep, sleep 3 and sleep 5, does it make any difference?

    I tested using the as-delivered EZSDK, without modification.  I got the crash with no sleep, sleep 1 (original report), sleep 3, and sleep 5.  All had the hang.

    Pavel Botev said:

    I suspect this kernel oops is caused by the SysLink module. I found the below E2E thread which looks very related:

    http://e2e.ti.com/support/embedded/linux/f/354/t/138501.aspx

    This post seems not applicable.  Robert Tivy said that Markus must "build syslink.ko with USE_SYSLINK_NOTIFY=0" - the EZSDK's Rules.mk already includes this:

    # Syslink build variables
    SYSLINK_BUILD_VARS = DEVICE=$(SYSLINK_PLATFORM) \
    GPPOS=Linux \
    LOADER=ELF \
    SDK=EZSDK \
    IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
    BIOS_INSTALL_DIR="${SYSBIOS_INSTALL_DIR}" \
    XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
    LINUXKERNEL="${LINUXKERNEL_INSTALL_DIR}" \
    CGT_ARM_INSTALL_DIR="${CSTOOL_DIR}" \
    CGT_ARM_PREFIX="${CSTOOL_PREFIX}" \
    CGT_C674_ELF_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \
    USE_SYSLINK_NOTIFY=0

    Also, Robert Tivy said "Or, you could upgrade to SysLink 2.03.00.82 which contains automatic detection of the Linux 'notify' module and configures SysLink accordingly."  The EZSDK 5.05.02.00 already has syslink 2.20.02.20.

    So by both solutions, it should not be an issue.  No?

    Pavel Botev said:

    On other (internal) E2E thread I found that "kernel oops: 17" occur when the kernel is under heavy loading. This is high utilization error of the kernel scheduler.

    How can the kernel be busy?  The TI matrix demo was already stopped, and the demo doesn't do anything by itself anyway.

    Pavel Botev said:

    You can add more debug information output from the syslink module, when inserting it like:

    load-hd-firmware.sh

    modprobe syslink TRACE=1 TRACEENTER=1 TRACECLASS=3 TRACEFAILURE=1

    See http://processors.wiki.ti.com/index.php/SysLink_UserGuide#Trace.2C_debug_and_build_configuration

    I tried adding this, but the logs are excessive - I cannot get past a single loop.  It seems like the loop execution just stops while the log output is dumping to the serial port.

     Dan -

  • Pavel,

    Daniel70334 said:

    You can add more debug information output from the syslink module, when inserting it like:

    load-hd-firmware.sh

    modprobe syslink TRACE=1 TRACEENTER=1 TRACECLASS=3 TRACEFAILURE=1

    See http://processors.wiki.ti.com/index.php/SysLink_UserGuide#Trace.2C_debug_and_build_configuration

    I tried adding this, but the logs are excessive - I cannot get past a single loop.  It seems like the loop execution just stops while the log output is dumping to the serial port.

    [/quote]

    I let a run go, and found that eventually I got a syslink crash even with the logging turned on.  See attached log.  (The unzipped file is large, ~16 MB.)

    Dan -

    5_evm_m3_hang_with_syslink_logging.zip
  • Hello Dan,

    Daniel70334 said:

    This post seems not applicable.  Robert Tivy said that Markus must "build syslink.ko with USE_SYSLINK_NOTIFY=0" - the EZSDK's Rules.mk already includes this:

    # Syslink build variables
    SYSLINK_BUILD_VARS = DEVICE=$(SYSLINK_PLATFORM) \
    GPPOS=Linux \
    LOADER=ELF \
    SDK=EZSDK \
    IPC_INSTALL_DIR="${IPC_INSTALL_DIR}" \
    BIOS_INSTALL_DIR="${SYSBIOS_INSTALL_DIR}" \
    XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
    LINUXKERNEL="${LINUXKERNEL_INSTALL_DIR}" \
    CGT_ARM_INSTALL_DIR="${CSTOOL_DIR}" \
    CGT_ARM_PREFIX="${CSTOOL_PREFIX}" \
    CGT_C674_ELF_INSTALL_DIR="${CODEGEN_INSTALL_DIR}" \
    USE_SYSLINK_NOTIFY=0

    Could you check here the last two posts:

    http://e2e.ti.com/support/embedded/linux/f/354/p/197901/729200.aspx

    Best Regards,

    Margarita

  • Margarita,

    I noticed that the syslink release notes mentions this as resolved in the previous version of syslink:

    • SDOCM00094760 SysLink 'make USE_SYSLINK_NOTIFY=0 ...' doesn't force Linux kernel-based 'notify' usage

    But I guess it was not enough for kernel module files, or it broke again.

    The post that you indicated does not actually say how Markus disabled the SYSLINK_NOTIFY - only that it cannot be done from explicit setting of USE_SYSLINK_NOTIFY=0.  Can you suggest where is the best place to disable SYSLINK_NOTIFY?

    Is it one of these files?

    $ grep -rl USE_SYSLINK_NOTIFY * | grep -v o.cmd
    packages/ti/syslink/ipc/hlos/knl/notifyDrivers/NotifyDriverShm.c
    packages/ti/syslink/ipc/hlos/knl/Notify.c
    packages/ti/syslink/buildutils/hlos/knl/Makefile.inc
    packages/ti/syslink/utils/hlos/knl/MultiProc.c
    packages/ti/syslink/utils/hlos/knl/Qnx/resMgr_lib/common.mk
    packages/ti/syslink/utils/hlos/knl/Qnx/resMgr/common.mk
    packages/ti/syslink/family/hlos/knl/omapl1xx/Platform.c
    packages/ti/syslink/family/hlos/knl/ti81xx/Platform_qnx.c
    packages/ti/syslink/family/hlos/knl/ti81xx/Platform.c
    packages/ti/syslink/family/hlos/knl/omap3530/Platform.c
    packages/ti/syslink/inc/_Notify.h
    relnotes_archive/syslink_2_20_00_14_ReleaseNotes.html
    relnotes_archive/syslink_2_10_00_12_ReleaseNotes.html
    relnotes_archive/syslink_2_20_01_18_ReleaseNotes.html
    syslink_2_20_02_20_ReleaseNotes.html

    Thanks,

    Dan -


  • Hello Dan,

    I am sorry but I am not able to check this at this moment.

    Since Pavel doesn't observed this error are you using the same Syslink module as him?

    Best Regards,

    Margarita

  • Margarita,

    Sorry, I missed this part from Markus:

    We have now tried to use notifyk as built-in module and it worked.

    But according to the kernel menuconfig, SysLink Notify is already built in:

    -> Device Drivers 

    -> Sys_Link (Sys_Link [=y])

     <*>   SysLink Notify

    What else should I check?

    Margarita Gashova said:

    Since Pavel doesn't observed this error are you using the same Syslink module as him?

    I don't understand - Pavel said that he saw the same issue, and that he would try to find the cause:

    Pavel Botev said:

    I run 3 tests on the DM814x-EVM, and I can reproduce this error (Unable to handle kernel NULL pointer dereference at virtual address 00000010) on 96th iteration, 288th iteration and 151th iteration.

    Pavel Botev said:

    I will try to find the root cause of this kernel oops.

    Did I misunderstand?

    Dan -

  • Hello Dan,

    Daniel70334 said:

    I run 3 tests on the DM814x-EVM, and I can reproduce this error (Unable to handle kernel NULL pointer dereference at virtual address 00000010) on 96th iteration, 288th iteration and 151th iteration.

    [/quote]

    My mistake, I missed that.

    BR

    Margarita

  • Dan,

    I have checked this issue with our SysLink team. They suspect this might a memory leak.

    They are also concerned the use of the Linux kernel notify. That implementation was made from some old snapshot of SysLink and has not been maintained/updated at all.

    They advice us to try the SysLink-based notify (instead of the Linux kernel notify). We need to disable the Linux kernel notify in menuconfig and then build SysLink pointing to that kernel, and it will auto-detect that it needs to use its own Notify implementation in the syslink.ko module.

    I will try this on my side.

    Regards,
    Pavel

  • Hi,

    Has anyone found a resolution to this issue?  I am having the exact same problem.  I am using EZSDK 5.05.02.00 with syslink 2.20.02.20.  I see a kernel oops after only 4-5 iterations of reloading firmware and the syslink driver.  I have traced it to the MemoryOS_free() call within MemoryOS_destroy() in the syslink driver.  I tried the suggestion by the syslink team above and forced USE_SYSLINK_NOTIFY=1 (I can't let the build automatically detect the setting because the vpss driver depends on the kernel notify driver) but it made no difference.

    Thanks,

    Steve

    [ 710.210000] Unable to handle kernel paging request at virtual address dea43000
    [ 710.220000] pgd = c67a4000
    [ 710.220000] [dea43000] *pgd=87525011, *pte=00000000, *ppte=00000000
    [ 710.230000] Internal error: Oops: 7 [#1] PREEMPT
    [ 710.230000] last sysfs file: /sys/module/syslink/refcnt
    [ 710.230000] Modules linked in: syslink(-) g_webcam_rndis vng_gpio_int is_front_panel vng_triggers spi_uart kyo55471 cmemk [last unloaded: vpss]
    [ 710.230000] CPU: 0 Not tainted (2.6.37 #1)
    [ 710.230000] PC is at MemoryOS_destroy+0x178/0x294 [syslink]
    [ 710.230000] LR is at MemoryOS_free+0xa8/0x108 [syslink]
    [ 710.230000] pc : [<bf188404>] lr : [<bf18822c>] psr: 80000013
    [ 710.230000] sp : c6757f00 ip : c6757ed8 fp : c6757f2c
    [ 710.230000] r10: 00000000 r9 : c6756000 r8 : bf24e958
    [ 710.230000] r7 : bf24e954 r6 : bf24e8b8 r5 : 00000000 r4 : dea43000
    [ 710.230000] r3 : 00000000 r2 : bf1f8545 r1 : 00060000 r0 : 00000000
    [ 710.230000] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
    [ 710.230000] Control: 10c5387d Table: 867a4019 DAC: 00000015
    [ 710.230000] Process rmmod (pid: 4289, stack limit = 0xc67562e8)
    [ 710.230000] Stack: (0xc6757f00 to 0xc6758000)
    [ 710.230000] 7f00: c6757f2c c6757f10 bf184750 bf24e4b8 00000000 c6756008 00000800 c0035b84
    [ 710.230000] 7f20: c6757f44 c6757f30 bf1d8eb0 bf188298 bf1d8e0c bf24e390 c6757fa4 c6757f48
    [ 710.230000] 7f40: c008af38 bf1d8e18 00000006 6c737973 006b6e69 00000000 c6757f84 c6757f68
    [ 710.230000] 7f60: c00bc654 c00bf7bc 00000000 c7d48000 c7e4bf00 c6756000 c6757fa4 c6757f88
    [ 710.230000] 7f80: c00bc720 000bc5f4 0002fd20 beb51ba8 00000000 00000081 00000000 c6757fa8
    [ 710.230000] 7fa0: c0035a00 c008adb0 0002fd20 beb51ba8 0002fd54 00000800 beb51b60 ffffeffc
    [ 710.230000] 7fc0: 0002fd20 beb51ba8 00000000 00000081 00000001 beb51db8 0002fd20 00000000
    [ 710.230000] 7fe0: 0002e458 beb51b54 00019160 4770a1bc 20010010 0002fd54 00000000 00000000
    [ 710.230000] Backtrace:
    [ 710.230000] [<bf18828c>] (MemoryOS_destroy+0x0/0x294 [syslink]) from [<bf1d8eb0>] (KnlUtilsDrv_finalizeModule+0xa4/0xb8 [syslink])
    [ 710.230000] r8:c0035b84 r7:00000800 r6:c6756008 r5:00000000 r4:bf24e4b8
    [ 710.230000] [<bf1d8e0c>] (KnlUtilsDrv_finalizeModule+0x0/0xb8 [syslink]) from [<c008af38>] (sys_delete_module+0x194/0x208)
    [ 710.230000] r4:bf24e390 r3:bf1d8e0c
    [ 710.230000] [<c008ada4>] (sys_delete_module+0x0/0x208) from [<c0035a00>] (ret_fast_syscall+0x0/0x30)
    [ 710.230000] r7:00000081 r6:00000000 r5:beb51ba8 r4:0002fd20
    [ 710.230000] Code: e1a00004 e3a01018 e3a02000 ebffff5f (e5944000)
    [ 710.460000] ---[ end trace 973989a604e32495 ]---
    [ 710.470000] Kernel panic - not syncing: Fatal exception
    [ 710.470000] Backtrace:
    [ 710.480000] [<c0038ff0>] (dump_backtrace+0x0/0x104) from [<c02b29c4>] (dump_stack+0x18/0x1c)
    [ 710.490000] r6:00000001 r5:c6757d8a r4:c03bf598 r3:00000000
    [ 710.490000] [<c02b29ac>] (dump_stack+0x0/0x1c) from [<c02b2bcc>] (panic+0x78/0x190)
    [ 710.500000] [<c02b2b54>] (panic+0x0/0x190) from [<c003948c>] (die+0x2b0/0x300)
    [ 710.510000] r3:00000001 r2:c03a5a58 r1:c6757cf8 r0:c033879b
    [ 710.510000] r7:bf188406
    [ 710.520000] [<c00391dc>] (die+0x0/0x300) from [<c02b2a24>] (__do_kernel_fault.part.5+0x5c/0x7c)
    [ 710.530000] [<c02b29c8>] (__do_kernel_fault.part.5+0x0/0x7c) from [<c003acd8>] (do_page_fault+0x1e4/0x1fc)
    [ 710.540000] r7:c6757eb8 r3:c6757eb8
    [ 710.540000] [<c003aaf4>] (do_page_fault+0x0/0x1fc) from [<c0030248>] (do_DataAbort+0x3c/0xa0)
    [ 710.550000] [<c003020c>] (do_DataAbort+0x0/0xa0) from [<c00354ac>] (__dabt_svc+0x4c/0x60)
    [ 710.560000] Exception stack(0xc6757eb8 to 0xc6757f00)
    [ 710.560000] 7ea0: 00000000 00060000
    [ 710.570000] 7ec0: bf1f8545 00000000 dea43000 00000000 bf24e8b8 bf24e954 bf24e958 c6756000
    [ 710.580000] 7ee0: 00000000 c6757f2c c6757ed8 c6757f00 bf18822c bf188404 80000013 ffffffff
    [ 710.590000] r7:bf24e954 r6:bf24e8b8 r5:c6757eec r4:ffffffff
    [ 710.590000] [<bf18828c>] (MemoryOS_destroy+0x0/0x294 [syslink]) from [<bf1d8eb0>] (KnlUtilsDrv_finalizeModule+0xa4/0xb8 [syslink])
    [ 710.610000] r8:c0035b84 r7:00000800 r6:c6756008 r5:00000000 r4:bf24e4b8
    [ 710.610000] [<bf1d8e0c>] (KnlUtilsDrv_finalizeModule+0x0/0xb8 [syslink]) from [<c008af38>] (sys_delete_module+0x194/0x208)
    [ 710.630000] r4:bf24e390 r3:bf1d8e0c
    [ 710.630000] [<c008ada4>] (sys_delete_module+0x0/0x208) from [<c0035a00>] (ret_fast_syscall+0x0/0x30)
    [ 710.640000] r7:00000081 r6:00000000 r5:beb51ba8 r4:0002fd20
    [ 710.640000] Rebooting in 2 seconds..

  • Steve,

    Refer to the below e2e thread:

    e2e.ti.com/.../263741

    Regards,
    Pavel
  • And to the below e2e thread:

    e2e.ti.com/.../937019

    Regards,
    Pavel