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.

[FAQ] TDA4VM: Workflow and Resource allocation build flow for SysConfig Tool?

Part Number: TDA4VM
Other Parts Discussed in Thread: SYSCONFIG

Hello,

Now we are working on PSDK RTOS 7.3

1. We want to open more UDMA channels on MCU2_0 & MCU2_1 by calling app_udma utility API.
    But unfortunately that we can open only 3 UDMA channels on MCU2_0, but cannot open any UDMA channel on MCU2_1.
    Can you help us?

2. And, how to open DRU UDMA channel on MCU2_0 & MCU2_1 ?
    It works well on C66 or C7x, but cannot work on MCU2_0 or MCU2_1.


Thank you very much.


Regards,
Eten

  • Hi Eten,

    Both of these issues are related to resource allocation. Depending on the usecase, the resources are allocated on each core. If you want different allocation, please use resource manager and reallocate the resources, as per your usecase requirement. 

    Regards,

    Brijesh

  • Hi Brijesh,

    Thanks for your support !!

    Is there any document describing how to use the resource manager and reallocate the resources ?

    Regards,
    Eten

  • Hi ,

    Please follow below steps to install sysconfig tool and then to use to allocate resources/UDMA channels.

    • Download the SysConfig tool from [SysConfig release download link] (https://www.ti.com/tool/download/SYSCONFIG)
    • Download the file setup.run for Linux machine.
    • Please find k3-resource-partitioning package in the PSDKLA in the folder, PSDKLA\board-support\k3-respart-tool. Please go inside this folder.
    • Run the setup script ./scripts/setup.py -s /path-to-sysconfig-installation to patch the SysConfig tool.
    • Open the SysConfig tool GUI from the desktop shortcut and select the software product by navigating to the path where the k3-resource-partitioning is available.
    • Lastly, click on Browse button to open existing design for the platform that you are interested in. Navigate to the board-support\k3-respart-tool\out\j721e-evm.syscfg directory and you will find baseline files for your platform. Use this as the starting point for any customization.

    This will setup the resource partitioning tool and keep it ready for the baseline resource allocation.

    1. For the question-1, you could reduce either block copy channels or TX+RX Normal Capacity channels from one of the cores and add these many number of channels as block copy channels for mcu2_0 and mcu2_1. For in SDK8.1, you could reduce two block copy channels or 2 TX + 2 RX channels from A72_2 and increase 2 block copy channels for mcu2_0. Similarly you could increase block copy channels for mcu2_1.
    2. For the question-2, there are only 32 DRU channels, 16 allocated to C7x, 6 to each C6x, 2 to mcu2_0 and 2 to mcu2_1. For opening DRU channels, please set to the channel type to DRU, while initialization channel parameters, as shown below. You could also find the example of it in the ti-processor-sdk-rtos-j721e-evm-08_01_00_13\vision_apps\utils\udma\src\app_udma.c file.

    chType = UDMA_CH_TYPE_UTC;
    UdmaChPrms_init(&chPrms, chType);
    chPrms.utcId = UDMA_UTC_ID_MSMC_DRU0;

    Regards,

    Brijesh

  • Please find below complete workflow for using sysconfig tool.

    1. Allocate the Resources using SysConfig Tool
      1. Download the SysConfig tool from https://www.ti.com/tool/download/SYSCONFIG and install it Windows or Linux machine.
      2. K3 Resource partition is available in the folder PSDKLA/board-support/k3-respart-tool folder. Go to this folder and run the setup script ./scripts/setup.py -s /path-to-sysconfig-installation to patch the SysConfig tool.
      3. Open the SysConfig tool GUI from the desktop shortcut and select the software product by navigating to the path where the k3-resource-partitioning is available ie PSDKLA/board-support/k3-respart-tool.
      4. Lastly, click on Browse button to open existing design for the platform that you are interested in ie PSDKLA/board-support/k3-respart-tool/out/j721s2-evm.syscfg (or j721e-evm.syscfg). Use this as the starting point for any customization.
      5. Make the changes in the resource allocation as your project requires
      6. Now generate rm-cfg.c and sciclient_defaultBoardcfg_rm.c files and save them in the out folder
    2. If you are using SPL boot flow,
      1. Copy generated rm-cfg.c file in PSDKLA/board-support/k3-image-gen-2021.05/soc/$(SOC)/evm folder
      2. Rebuild uboot and tiboot3.bin file from the PSDKLA folder, by running "make u-boot" command.
      3. Use the update tiboot3.bin from PSDKLA/board-support/k3-image-gen-2021.05 folder, which also contains sysfw.itb.
    3. If you are using SBL boot flow
      1. Copy the generated sciclient_defaultBoardcfg_rm.c in PSDKRA\PDK\packages\ti\drv\sciclient\soc\V4 folder
      2. Go to PSDKRA\PDK\packages\ti\build
      3. Regenerate board config file using
        1. make sciclient_boardcfg -sj4
        2. make sciclient_boardcfg BUILD_HS=yes -sj4
      4. Rebuild all pdk libraries and SBL
    4. If you are using CCS boot flow, run all steps upto 3.c above
      1. Regenerate sciclient binary using
        1. make sciclient_ccs_init BOARD=j721s2_evm (or j721e_evm)
      2. Copy new sciclient ccs init binary from PSDKRA\PDK\packages\ti\binary\sciclient_ccs_init\bin\j721s2\sciclient_ccs_init_mcu1_0_release.xer5f to PSDKRA\PDK\packages\ti\drv\sciclient\tools\ccsLoadDmsc\j721s2 folder 
      3. Use now launch.js script from PSDKRA\PDK\packages\ti\drv\sciclient\tools\ccsLoadDmsc\j721s2\launch.js on CCS scripting console to use updated board config binary.

    Regards,

    Brijesh