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.

J721S2XSOMXEVM: FreeRTOS configuration

Part Number: J721S2XSOMXEVM

Hi,
I have Code Composer Studio C7 DSP projects for J721s2 architecture that use FreeRTOS.  At the moment I include headers "FreeRTOS.h" and "task.h" and use link paths ..\packages\ti\kernel\lib\j721s2\c7x_1\release and  ..\packages\ti\osal\lib\freertos\j721s2\c7x\release.

What are my options if I want to make changes to FreeRTOSConfig.h?  I have Windows11 so I can't easily rebuild the PDK with make.  Is this something that's even possible with WSL for example?

Otherwise, how can I go about pulling the FreeRTOS source into my project so that I can build it with the normal C7000 compiler through CCS?

Thanks,
Matt

  • Hi Matt,

    Could you please let us know which version of the Processor SDK RTOS you are using and version of Code Composer Studio (CCS) you have installed.

    I have Windows11 so I can't easily rebuild the PDK with make.  Is this something that's even possible with WSL for example?

    Yes, WSL on Windows 11 works fine for rebuilding the PDK.

    how can I go about pulling the FreeRTOS source into my project so that I can build it with the normal C7000 compiler through CCS?

     Yes you can add the FreeRTOS source files directly to your CCS project and build everything with the standard C7000 compiler. I will try to run an example from my side and get back to you.

    Regards,
    Shabary S Sundar

  • Hi,
    My PDK currently is version 11.0.0.21.  I see that 11.02.0.06 is out so I will probably be updating to that soon.  I have CCS version 12.6.0.00008.  

    I suspect when I used WSL to try to build I failed with errors due to setup or install problems.  The .tar file has problems extracting under Windows and I'm not familiar with all the Linux commands I'd need to run (setup scripts, etc.)
    Can you provide instructions on how to install, configure, and build PDK using WSL?

    Thanks for running the FreeRTOS build in CCS for C7000.  I'll be glad to have a look at that as well when you have it.  It's probably the better solution for us based on source-control issues.

    Thanks,
    Matt

  • Hi Matt,

    I suspect when I used WSL to try to build I failed with errors due to setup or install problems.  The .tar file has problems extracting under Windows and I'm not familiar with all the Linux commands I'd need to run (setup scripts, etc.)

    Could you please try to extract the .tar.gz inside WSL's Linux filesystem.

     In WSL terminal — copy from Windows Downloads into Linux filesystem first:
    mkdir -p ~/ti-sdk
    cp /mnt/c/Users/username/Downloads/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06.tar.gz ~/ti-sdk/

     Extract from inside linux filesystem:
    cd ~/ti-sdk
    tar -xzf ti-processor-sdk-rtos-j721s2-evm-11_02_00_06.tar.gz

    Regards,
    Shabary S Sundar

  • Hi Matt,

    Can you provide instructions on how to install, configure, and build PDK using WSL?

    After modifying FreeRTOSConfig.h, could you please try these steps to rebuild the FreeRTOS library.

    Step 1 — Set compiler paths
    export C7X_GEN_INSTALL_PATH=~/ti/ti-cgt-c7000_5.0.0.LTS
    export TOOLCHAIN_PATH_R5=~/ti/ti-cgt-armllvm_4.0.4.LTS

    Step 2 — Delete the pre-built library to force recompile

    rm ~/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/kernel/lib/j721s2/c7x_1/release/ti.kernel.freertos.ae71

    Step 3 — Rebuild

    make -C ~/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/build \
    freertos \
    BOARD=j721s2_evm \
    SOC=j721s2 \
    CORE=c7x_1 \
    BUILD_PROFILE=release \
    BUILD_OS_TYPE=freertos

    For R5F cores, change c7x_1 → mcu2_0 (or whichever R5F core) and the library extension changes from .ae71 → .aer5f.

    Regards,
    Shabary S Sundar

  • Thanks,
    I will try these and let you know.
    Matt

  • Hi Shabary,
    I think I'm missing a step here.  When I run the make command I get back:

    make: Entering directory '/home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/build'
    make -C /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/kernel -f freertos.mak
    make[1]: Entering directory '/home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/kernel'
    #
    # Archiving j721s2:c7x_1:release:freertos into /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/kernel/lib/j721s2/c7x_1/release/ti.kernel.freertos.ae71 ...
    #
    /home/mbrown/ti/ti-cgt-c7000_5.0.0.LTS/bin/ar7x rq /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/kernel/lib/j721s2/c7x_1/release/ti.kernel.freertos.ae71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/TaskSupport_asm.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/Hwi_vector_table.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/c7x_module_config_mmu_init.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/TaskSupport.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/TimestampProvider.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/port_c7x.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/timers.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/queue.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/list.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/tasks.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/event_groups.oe71 /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/binary/ti/kernel/obj/j721s2/c7x_1/release/heap_4.oe71
    make[1]: /home/mbrown/ti/ti-cgt-c7000_5.0.0.LTS/bin/ar7x: No such file or directory
    make[1]: *** [/home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/build/makerules/rules_71.mk:172: /home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/kernel/lib/j721s2/c7x_1/release/ti.kernel.freertos.ae71] Error 127
    make[1]: Leaving directory '/home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/kernel'
    make: *** [makefile:328: freertos] Error 2
    make: Leaving directory '/home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/pdk_j721s2_11_02_00_15/packages/ti/build'

    I don't have a /home/mbrown/ti/ti-cgt-c7000_5.0.0.LTS folder.  Is this a separate build tools I need to do?

    I have a /ti-cgt-armllvm_4.0.4.LTS folder but it's in home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/ - it came with the SDK

    Thanks,
    Matt

  • Hi Matt,

    I don't have a /home/mbrown/ti/ti-cgt-c7000_5.0.0.LTS folder.  Is this a separate build tools I need to do?

    The error No such file or directory for ar7x means the C7x Code Generation Tools (ti-cgt-c7000_5.0.0.LTS) is not installed. This is a separate download — it does not come bundled with the SDK.
    You can download it from: www.ti.com/.../C7000-CGT

    The ARM LLVM toolchain (ti-cgt-armllvm_4.0.4.LTS) is already in your SDK folder, so that part is fine.

    I have a /ti-cgt-armllvm_4.0.4.LTS folder but it's in home/mbrown/ti-sdk/ti-processor-sdk-rtos-j721s2-evm-11_02_00_06/ - it came with the SDK

    When you export the path, make sure you are exporting both the path correctly as in your system for the build systems to use that.

    Regards,
    Shabary S Sundar

  • Hi,
    Just checking in.  I have successfully modified and built the FreeRTOS library using WSL.
    Thanks,
    Matt 

  • Hi Matt,

    Closing this thread as the primary issue is resolved.

    Regards,
    Shabary S Sundar