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.

procmgrapp/firmware_loader hangs

Hello,

for making the graphics work, I executed the init script "load-firmware.sh" manually (similar to Ralph in this post). Modprobe syslinks.ko seems to work fine, but when loading the firmware (ti816x_hdvpss.xem3), the whole device hangs.

I'm using the C6A816x EVM, with

  • the kernel "v2.6.37_TI816XPSP_04.00.00.11" from git and
  • the IPC in version 1_22_05_27.
  • I tried both, syslink_02_00_00_68_beta1 and syslink_02_00_00_67_alpha2.

First I run the firmware_loader shipped with the evaluation board - second I compiled the procmgrapp which comes with the syslink_02_00_00_67_alpha2. Both fail after setting some ioctls.

See attached procmgrapp_debug.log:

[Wed Apr 20 08:13:22.687 2011] ioctl(7, 0xc00ce0a4, 0xbec9b934)        = 0
[Wed Apr 20 08:13:22.687 2011] ioctl(7, 0xc00ce0a5, 0xbec9b934)        = 0
[Wed Apr 20 08:13:22.703 2011] write(1, "ProcMgr_start passed [0x6a85000]"..., 33ProcMgr_start passed [0x6a85000]
[Wed Apr 20 08:13:22.703 2011] ) = 33
[Wed Apr 20 08:13:22.703 2011] ioctl(4, 0xc014f497

When browsing the code (ProcMgrApp.c from syslink_02_00_00_67_alpha2) it seems that the following Ipc_control fails:

                    Osal_printf ("ProcMgr_start passed [0x%x]\n", status);
                    status = Ipc_control (procId,
                                          Ipc_CONTROLCMD_STARTCALLBACK,
                                          NULL);

 

I ve compiled all with the defaults (no explicit soft- or hard-float). Does anyone have a hint for me?

 

Best regards,

Charly

  • It seems that the new kernel is not working. I used the following combination from the "ezsdk_c6a816x-evm_5_00_00_56_setuplinux":

    • syslink_02_00_00_56_alpha2
    • ipc_1_22_00_19
    • linux-2.6.34-psp04.00.00.07.tar.bz2

    With the toolchain of crosstools-ng it worked fine.

     

     

     

  • I am attempting to rebulid syslink.ko using ipc_1_22_00_19 as you did, I can build the syslink library and ARM-side samples ok, but when I go to build syslink.ko I get:

    make ARCH=arm CROSS_COMPILE=/home/lholeva/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- SYSLINK_PLATFORM=TI81XX

    make -C /home/lholeva/ti-ezsdk_c6a816x-evm_5_00_00_56/psp/linux-2.6.34-psp04.00.00.07 SUBDIRS=/home/lholeva/ti-ezsdk_c6a816x-evm_5_00_00_56/syslink_02_00_00_56/ti/syslink/utils/hlos/knl/Linux modules

    make[1]: Entering directory `/home/lholeva/ti-ezsdk_c6a816x-evm_5_00_00_56/psp/linux-2.6.34-psp04.00.00.07'

    ERROR: Kernel configuration is invalid.

    include/generated/autoconf.h or include/config/auto.conf are missing.

    Run 'make oldconfig && make prepare' on kernel src to fix it.

     

    WARNING: Symbol version dump /home/lholeva/ti-ezsdk_c6a816x-evm_5_00_00_56/psp/linux-2.6.34-psp04.00.00.07/Module.symvers

    is missing; modules will have no dependencies and modversions.

    Building modules, stage 2.

    /home/lholeva/ti-ezsdk_c6a816x-evm_5_00_00_56/psp/linux-2.6.34-psp04.00.00.07/scripts/Makefile.modpost:42: include/config/auto.conf: No such file or directory

    make[2]: *** No rule to make target `include/config/auto.conf'. Stop.

    make[1]: *** [modules] Error 2

    make[1]: Leaving directory `/home/lholeva/ti-ezsdk_c6a816x-evm_5_00_00_56/psp/linux-2.6.34-psp04.00.00.07'

    make: *** [default] Error 2

    How did you get around this?

    Here's another problem, I cannot remove the old version of syslink.ko:

    rmmod syslink
    ERROR: Module syslink is in use by vpss

    rmmod -f doesn't work either.

    Lee Holeva

     

  • Hello Lee,

    Lee Holeva said:
    make[1]: Entering directory `/home/lholeva/ti-ezsdk_c6a816x-evm_5_00_00_56/psp/linux-2.6.34-psp04.00.00.07'

    ERROR: Kernel configuration is invalid.

    include/generated/autoconf.h or include/config/auto.conf are missing.

    Run 'make oldconfig && make prepare' on kernel src to fix it.

    Normally I compile the kernel with buildroot - this means I start the compilation until I get some errors when compiling the VPSS module (it is caused by the missing SYSLINK_ROOT and IPCDIR environment variables). So at this point, the autoconf.h and auto.conf are already created. To do the same, you can start compiling your kernel before creating the syslink.ko module.

    Alternatively you can also run "make oldconfig && make prepare" in the kernel directory - as written in the output. I usually do the "buildroot way", because so I don't have to care about the ARCH or cross compile options.

    Lee Holeva said:
    Here's another problem, I cannot remove the old version of syslink.ko:

    rmmod syslink
    ERROR: Module syslink is in use by vpss

    rmmod -f doesn't work either.

    I also had troubles with removing the modules. So while experimenting with new modules, I add a "exit 0" at the beginning of /etc/init.d/load-firmware.sh - so that all Integra stuff isn't processed. But normally a "/etc/init.d/load-firmware.sh stop" should do this job. (I'm sure you have read the error message "Module syslink is in use by vpss" - which means that there is another module, which has to be unloaded before - you can execute "lsmod" to see which modules are loaded).

    Best regards,

    Charly