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.

TMS320F28377D: CLA co-processor

Part Number: TMS320F28377D

we have separate executable for scheduler, basically it does scheduling, prioritize and invoke the tasks. can we port the scheduler code into CLA, in other words can we run the scheduler from CLA to reduce the main CPU subsystem overhead.  

  • A scheduler would not fit well with the CLA architecture.  What you can do is have the C28x scheduler trigger a task on the CLA when appropriate.

    I hope this answered your question.  If it did, please click the green "this resolved my issue" button to let me know.  

  • I understood that the OS scheduler can't be run from the CLA core, is there any specific reason for it, because I had gone through TI CLA waorkshop. It has been mentioned that function pointers won't be supported CLA, is this the only reason for scheduler can't be run by CLA . Also I saw the size of of pointers are different in CLA and C28x cores ( 22 bits and 16 bits respectively). can you elaborate how to handle this scenario?   

  • Subash Sundaresan said:
    I understood that the OS scheduler can't be run from the CLA core, is there any specific reason for it, because I had gone through TI CLA waorkshop. It has been mentioned that function pointers won't be supported CLA, is this the only reason for scheduler can't be run by CLA .

    Can you describe how you envision the scheduler working? What are the requirements and that will determine if the architecture of the CLA is suitable.  Is it triggering tasks on the CLA or on the C28x? 

    Remember the CLA type 1 executes a task to completion before another task starts.  There are no nesting of tasks on the CLA (FAQ https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/795573)

    The CLA can send an interrupt to the C28x CPU on the same subsystem at any point within a task.  Depending on what you want this may meet the requirements.

    The CLA is most efficient at floating-point math, not so efficient at decision based code (if-then-else, switch tables, etc..).  This may also have an impact.

    Subash Sundaresan said:
    Also I saw the size of of pointers are different in CLA and C28x cores ( 22 bits and 16 bits respectively). can you elaborate how to handle this scenario?   

    Please refer to this FAQ: https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/795567

    Regards

    Lori

  • we wanted use multi core environment in our project (especially OS executable) , as part this design we are trying to understand whether CLA fits for it or not. If not then we wanted to know the constraints to make a analysis write-up. 

    one more question:

    if Task-2 triggered for execution from CLA  and it has been implemented with infinite loop, will Task-1 will get opportunity to run or it will get into starvation condition?

  • Subash Sundaresan said:
    if Task-2 triggered for execution from CLA  and it has been implemented with infinite loop, will Task-1 will get opportunity to run or it will get into starvation condition?

    The CLA workshop should have covered this topic.  For the CLA type 1 a task runs to completion (MSTOP) without being interrupted.

    On the CLA Type 2 (available on F28004x) task 8 can be used as a background task and can be interrupted.

    Regards

    Lori

  • Subash,

    Let me know if you have any further questions on this specific subject.  If you have a related question, please use the "ask a related question" button.

    Regards

    Lori