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.

using sys/bios with msp430f5510, call to Task_sleep(n) hangs tasks, but clock function still running

Other Parts Discussed in Thread: MSP430F5510, SYSBIOS

I have created 2 tasks with the same priority (8) and 1 clock function, all statically defined in cfg.

Task_yield() switches between the 2 tasks as expected, but a Task_sleep(10) call hangs (neither task picks up).  The clock is running per calls to Clock_getTicks().  The clock function keeps going as well.

Here are my versions:

"C:/ti2/xdctools_3_24_05_48/xs" --xdcpath="C:/ti2/bios_6_34_02_18/packages;C:/ti2/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.msp430.elf.MSP430X -p ti.platforms.msp430:MSP430F5510 -r release -c "C:/ti2/ccsv5/tools/compiler/msp430_4.1.2" --compileOptions "-g --optimize_with_debug" "../clock.cfg"

Thanks.

Spencer W. Allen

  • Spencer,

    By “the clock is running per calls to Clock_getTicks()” – does this mean that you are calling Clock_getTicks() from some other thread context and are seeing the tick count incrementing?

    If you set a breakpoint on the symbol “ti_sysbios_knl_Clock_doTick__I” do you see the breakpoint hit repeatedly?

    Also, can you post the text contents of your “clock.cfg” file?

    Thanks,
    Scott

  • Scott,

    Turns out it’s a stack space issue.  Increased from 256 to 300 and it works.  I don’t have a working debugger and have been concerned about stack space but hadn't got to measuring it yet.  

    Apparently Task_sleep() vs. Task_yield() pushed me over the top.

    Thanks.

    Spencer

  • Spencer,

    OK, good, thanks for reporting back.  

    If at some point you’re able to attach CCS, you can check system and task stack usage via the RTOS Object Viewer (ROV) - see section 6.5.3 in Bios_User_Guide.pdf.

    Scott