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.

Why only the TSK_idle is running, and other TSK state is 'Blocked'?



My device is C6713, and I use the tool CCS3.3

My program is based on the DSP/BIOS, so I set several TSK through the '.tcf' file.
I enable the TSK manager in the 'TSK Manage property'.

When I load my program into C6713, I found only TSK_idle is running in the window of 'Kernel/Object View'.
The state of the TSK I set is 'Blocked', and it indicates they 'Blocked On' MBX:0x464

Then, I found in the window of 'Kernel/Object View' that the module 'MEM' have not completely list the Memory Section I set.
The 'IRAM' section have become 'TSK_STACKSIZE' or '_edata'


My program can go the main function, so it may be the TSK Manage problem.

I need your help, Thank you.

  • Simayizhi,

    Did your post move from one forum to another today? I do not remember seeing it, but it was posted this morning (US CDT). Really, this is a BIOS question and belongs in the BIOS Forum instead of this C67x Single Core DSP Forum, but I do not want you to get moved back-and-forth too much. Please let me know where you originally posted this?

    Please try one or more of the examples that come with DSP/BIOS to get a task-based application working. There are too many things you could have wrong with your program for me to be able to guess one. So the best place to start is for you to get a working example running, and then modify that to get your version working again. It is much easier to start from a working program than to write your own from the very beginning.

    It could also be helpful for you to go to the TI Wiki Pages and search for "C6713 training" (no quotes). You should find the TMS320C6x1x DSP Integration Workshop which includes a student guide and lab examples, with solutions that you can run or start from. Some of these examples use DSP/BIOS and would be an excellent place to start learning how to construct a DSP/BIOS-based program.

    If you have questions from one of the examples, or problems running the examples, please let us know which one and what your questions are.

    Regards,
    RandyP

  • RandyP,

    Thanks for your reply.  I should post my question on the BIOS Forum, sorry.

    Your suggestion is right, the question with my program could caused by many wrongs.

    Today,  I found the TSKs are waiting for the semaphore, may be it can be running when post the semaphore. I try add a 'boot.asm' file into my project.  Then, I found when I post  semaphore, the TSK state is 'running'.  I need to analyse the function of  the 'boot.asm' file, so I have not know  the reason.

     

    Regards,

    simayizhi

     

     

  • Simayizhi,

    If your program was running to main, I doubt the boot.asm was needed. boot.asm is generally responsible for loading code as part of the bootloading process, but for your case the emulator is loading the code.

    I think you will learn more about writing BIOS thread-based programs, and the training material I mentioned above will help. Also, there are good documents that come with DSP/BIOS that will help you understand how these features work for your application.

    Well done on your debugging effort so far. You are doing very well.

    Regards,
    RandyP