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.

PROCESSOR-SDK-J784S4: FreeRTOS on c7x using hwi from portable layer - create function is undefined

Part Number: PROCESSOR-SDK-J784S4
Other Parts Discussed in Thread: TDA4VH, J784S4XEVM

Hi experts,

I am using J784S4XEVM with TDA4VH processor (J784S4). The RTOS SDK version is 8.5.14 with FreeRTOS kernel v10.4.3

I am currently trying to use hardware interrupt on c7x with FreeRTOS. I understand that FreeRTOS kernel doesn't implement interrupt, but portable layer from TI does.

Demo from SDK are using the OSAL layer which I do not want to implement on my project.

Issue:

 When I try to create an interrupt with Hwi_create(), an error occure because it is an undefined symbol. I found Hwi_create() declaration in Hwi.h but this function is defined nowhere.

Thank you for your help

Best regards

Charles

  • Can I know the reason for avoid usage of OSAL. All validation is done at SDK using OSAL so it is better to use the OSAL HwiP_xxx APIs rather than the underlying APIs.

    If you have to use the native C7x APIs for some reason you can use the CSL APIs

    Include the below header file

    <pdk>\packages\ti\csl\arch\c7x\Hwi.h

    The implementation of Hwi functions for c7x are present in 

    <pdk>\packages\ti\csl\arch\c7x\src\Hwi.c

    You have to link csl library into your project

    <pdk>\packages\ti\csl\lib\<j721e/other soc>\c7x\<debug/release>/ti.csl.axxx

    Regards

    Badri

  • Hi,

    I am using RTOS SDK version 8.5.14 and C7x APIs isn't provided. 

    This is the content of <pdk>\packages\ti\csl\arch\c7x folder :

    Regards 

    Charles

  • Hi Charles,

    In the 8.5 release, these functions were implemented in the <pdk>/packages/ti/kernel/freertos/portable/TI_CGT/c7x.
    - For the declarations, please include the <pdk>/packages/ti/kernel/freertos/portable/TI_CGT/Hwi.h file.
    - The implementation of the required API can be found in <pdk>/packages/ti/kernel/freertos/portable/TI_CGT/Hwi.c file.
    - Linking into the freertos module will ensure that the portable layer definitions get linked in. The freertos library can be found in <pdk>/packages//ti/kernel/lib/<soc>/c7x_1/release/ti.kernel.freertos.ae71.

    Regards,

    Nikhil