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.

Where can I get source codes for SYS/BIOS v6 functions for c66x?

Other Parts Discussed in Thread: SYSBIOS

Hi Champs,

I've heard that TI provide SYS/BIOS v6 with full c source code.
But one of my customers said that he can not find the c source codes for the functions below for c66x.

  - Task_allBlockedFunc()
  - ti_sysbios_knl_Task_allBlockedFunc()
  - Hwi_enable()
  - Hwi_disable()
  - Task_SupportProxy_swap()
  - ti_sysbios_knl_Task_SupportProxy_swap()、
  - ti_sysbios_knl_Task_SupportProxy_swap__E()

So, could you please let me know where I can get the c source codes?

Thanks in advance for your cooperation.

Best regards,
j-breeze

  • Hi,

    Trying to get to the source code can be a little confusing.  First of all, during build time many function names are substituted with longer names to prevent name pollution.  For example, Task_allBlockedFunc() is the same as ti_sysbios_knl_Task_allBlockedFunc().  The same goes for Task_SupportProxy_swap and ti_sysbios_knl_Task_SupportProxy_swap and ti_sysbios_knl_Task_SupportProxy_swap__E.  

    Task_allBlockedFunc(): it is actually a function pointer.  As the name implies, it is used to execute a function when all other Tasks are blocked.  This can be changed within the project's config script. 

    More info:

    1. cdoc: ti.sysbios.knl->Task->Task.allBlockedFunc
    2. Task.xdc: <SYS/BIOS install dir>\packages\ti\sysbios\knl\Task.xdc

    Hwi_enable/Hwi_disable: Within the Hwi.xdc, you will see that disable() and enable() have the @Macro tag.  This means that during compile/build time the code for these functions is actually substituted with a predefined compiler macro.

    More info:

    1. cdoc: ti.sysbios.family->c64->Hwi->Hwi_disable/enagle
    2. Hwi.xdc:<SYS/BIOS install dir>\packages\ti\sysbios\family\c64\Hwi.xdc

    Task_SupportProxy_swap: This function is executed during context switches.  It stores registers and the stack pointer before switching to another context.  Due to the importance of this function, we do not support our customers modifying it.

    Hope this helps.  Thanks.

    -- Emmanuel

  • Hi Emmanuel,

    Thank you for the thorough explanation.

    Regards,
    j-breeze