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.

Missing sleep...?

Other Parts Discussed in Thread: OMAP-L137

From the .map file snippet below, it seems that I have the TSK module in my build, but TSK_sleep is undefined. It is in the tsk.h file. I'm using the OMAP-L137 and bios_5_33_03. Note that TSK_yield is defined. No, I don't intend to use TSK_sleep in my final project. I'm just experimenting. Any clues? My compile works, but linker fails.

c3e86530   _TSK
c3e694f8   _TSK_ATTRS
c3e86e24   _TSK_collect
c3e69514   _TSK_config
c3e6b300   _TSK_create
c3e6c840   _TSK_delete
c3e6f104   _TSK_disable
c3e6f0e0   _TSK_enable
c3e6d900   _TSK_exit
c3e86dc4   _TSK_idle
c3e7fc60   _TSK_init
c3e86528   _TSK_nTasks
c3e8652c   _TSK_pid
c3e86e84   _TSK_process_data
c3e6cb28   _TSK_setpri
c3e6cd60   _TSK_setup
UNDEFED    _TSK_sleep
c3e6df84   _TSK_startup
c3e6eba0   _TSK_stat
c3e69534   _TSK_timerSem
c3e6e600   _TSK_yield

  • I've never seen that UNDEFED before.  Do you have a compiler/linker option somewhere in your project that undefines that symbol?

  • Nope. Not undefed in the project directory. I suppose it might be in a TI header file, but that doesn't seem likely.

    My plan was to gut my tasks and replace them with some code that would allow me to see the GT_ trace output, just to verify that they were all started. The real code will be doing either SEM_pend or MBX_pend. (I'm currently not seeing any GT_ trace output from tasks, suggesting to me that they aren't running.)

    I think I'll just restore the pends and continue debug. I should be able to see at least the Enter GT_ trace message, even if the semaphores and mailboxes aren't being fed.

    Code looks something like this (typed, not cut and paste, so ignore typos):

    {

        GT_0trace(curMask, GT_4CLASS, "FXN_collect: Task started\n");

        while (1)

        {

            MBX_pend(mbx, &msg, SYS_FOREVER);

            GT_0trace(curMask, GT_4CLASS, "FXN_collect: mail message received.

    n");

        }

    }

    I'm expecting to see the first output, not the second, but I never see it for any of my tasks. They are created from DSP/BIOS configurator, not dynamically. When I create the tasks dynamically, the whole dsp side seems to freeze. Since the behavior is different, I believe that, in that case, my tasks are running, but GT_ is never getting to run (and neither is anything else.)