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.

trouble with SYS/BIOS Mutex on C2000

Other Parts Discussed in Thread: TMS320F28035

Customer issue using CCS and SYS/BIOS

I’m having a lot of issues with Code Composer and the Piccolo 28035. I’m using SYS/BIOS and am having problems using the Mutex. I’ve searched all of T.I.’s E2E forum but couldn’t find anything helpful. I found that there are examples contained within the SYS/BIOS release. However, I can’t see it in my Resource Explorer. It used to be there but now it’s gone. I tried to “discover” it but was unsuccessful. I’m becoming very frustrated! Every advance I try to make encounters a TON of obstacles! I am in the middle of testing my prototype board and I need some help. Any suggestions?

 

  • Paul,

    You should be able to view the Mutex example in Resource Explorer under SYS/BIOS>C2000>TMS320F28035>Generic Examples>Task Mutex Example. If this is not being shown, then I would try reinstalling SYS/BIOS to the newest version from the link below.

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/index.html

    That answers questions about the example location, but what exactly are you trying to do with the mutex and what problems are you having?

    Regards,

    Reagan

  • Hi Reagan,

    I will try to reinstall SYS/BIOS. FYI - I also tried to setup a binary semaphore and I encountered the same problem. Specifically, the problem is the software goes to an abort when I execute a "Semaphore_create()". The reason I need this is because I have two separate devices on the SPI bus and I need to ensure that only one task has access to it. I tried to implement a Task Mutex and ran into the same problem. I also tried turning of the complier optimization but that did't work either.

    Semaphore_Params params;

    Semaphore_Handle hdl;

    Error_Block eb;

    -----------------------------------------------

    Error_init(&eb);

    Semaphore_Params_init(&params); 

    hdl = Semaphore_create(1, &params, &eb); ----> Calling this function triggers an C$$EXIT, abort:

     

  • Here is additional information:

    In the console box I get this message:  [C28xx] l.Semaphore: create policy error

    I'm using SYS/BIOS 6.34.0.12

    I also tried creating the semaphore this way :  Semaphore_create(1, NULL, NULL);

    I got the same result...

  • Robert,

    It looks like your application is configured for a STATIC_ONLY memory policy, where create calls are not allowed at runtime.

    If you are using the graphical configuration tool you can control this setting on the “Runtime” page, under “Dynamic Instance Creation Support”:

    If you are directly editing the configuration text file (with the .cfg extension) you may see either of the following:

    Defaults.common$.memoryPolicy = xdc.module("xdc.runtime.Types").STATIC_POLICY;

    BIOS.runtimeCreatesEnabled = false;

    If you remove either of these lines from the configuration file then you should be able to make the create calls at runtime.

    You can find some description of memory policies at the end of this page:  http://rtsc.eclipse.org/docs-tip/Using_xdc.runtime_Memory 

    Also, there is a post about this error on this troubleshooting page: http://rtsc.eclipse.org/docs-tip/Trouble_Shooting#At_runtime.2C_the_application_fails_with_the_error_message_.22ModuleXyz:_generic_error:_create_policy_error.22

    Scott

  • That fixed it! Thank you for your help...