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.

IWR6843LEVM: The rtrim_set() is not available for DSP.

Part Number: IWR6843LEVM

Tool/software:

Hi Sirs,

  I follow the description "option 1" in this link "RTRIM API Users Guide (ti.com)" to modify DSS code in 3D People Tracking. The compilation is failed, is the method available for DSP? 

If yes, can you please help to provide more details to fix this compilation error?

mmWave SDK version: v3.5.0.4

radar toolbox version: v2.0.0.6

The example code is radar_toolbox_2_00_00_06\source\ti\examples\People_Tracking\3D_People_Tracking\src\6843

>> Compilation failure
dss/subdir_rules.mk:9: recipe for target 'dss/dss_main.oe674' failed
"../dss/dss_main.c", line 87: fatal error #1965: cannot open source file "ti/utils/rtrim/rtrimutils.h"
1 catastrophic error detected in the compilation of "../dss/dss_main.c".
Compilation terminated.
gmake: *** [dss/dss_main.oe674] Error 1
Building file: "../dss/objectdetection.c"

Thanks.

  • Hello,

    Your project's linker is potentially not pulling in "ti/utils/rtrim", so it cannot find that file during compilation. Was this part of step 1 done?

    Best Regards,

    Pedrhom

  • Hi Pedrhom,

      There are two projectspec files In the example "3D people trackling". 

    1. 3D_people_track_6843_dss.projectspec  --> I add the changes in this part. It can't be built successfully.

    2. 3D_people_track_6843_mss.projectspec

    Can you please help to have a trial in 3D people trackling?

    P.S.  I follow the same steps in OOB source, it's working

    Thanks.

  • Hello,

    As stated in the guide, the change must be done as followed "NOTE: For demos which include both a R4F as well as a DSP, this file will be mss_main.c, but the modifications will be the same."

    Meaning DSS shouldn't have any reason to try and refer to that file, including dss_main. Only mss_main

    Best Regards,

    Pedrhom

  • Hi Pedrhom,

      Do you mean the change should be only modified in MSS (mss_main.c) part even there are DSS and MSS in the 3D People Tracking?

    As I know, the rtrim_set() should be called in DSS part, am I right?

    In the other ways, can I add the changes (follow option 2) into dss_main.c in my case?

    My changes is like as below.

    static void Pcount3DDemo_dssInitTask(UArg arg0, UArg arg1)
    {
    
        ...
        
        System_printf("Debug: DPM Module Sync is done\n");
        
        rlRfApllSynthBwControl_t ctrlArgs;
        int32_t retVal;
        
        memset(&ctrlArgs, 0, sizeof(rlRfApllSynthBwControl_t));
        
        ctrlArgs.synthIcpTrim = 1;
        ctrlArgs.synthRzTrim = 8;
        ctrlArgs.apllIcpTrim = 0x26;
        ctrlArgs.apllRzTrimLpf = 0x9;
        ctrlArgs.apllRzTrimVco = 6;
        
        retVal = (int32_t) rlRfApllSynthBwCtlConfig(RL_DEVICE_MAP_INTERNAL_BSS, &ctrlArgs);
        
        if (retVal < 0){
            System_printf("ERROR\n");
        }
        
        ...
        
        /* Launch the DPM Task */
        Task_Params_init(&taskParams);
        taskParams.priority = MMWDEMO_DPC_OBJDET_DPM_TASK_PRIORITY;
        taskParams.stackSize = 3 * 1024;
        gPcount3DDssMCB.radarProcDpmTaskHandle = Task_create(Pcount3DDemo_DPC_RadarProc_dpmTask, &taskParams, NULL);
        
        return;
    }

  • Hello,

    Yes only in mss_main.c. RTRIM is not so much a core related thing but involves front end registers. Meaning doing it once within R4F/MSS main.c will also affect DSP/DSS. In theory it shouldnt really matter whether it's done in in dss_main or mss_main, but with the way we have the SDK and Fundamentals demo setup, we chose MSS. What made you think rtrim_set() should be done in DSS?

    Best Regards,

    Pedrhom

  • Hi Pedrhom,

      I got the below information from FAE. So I think it should be done in DSP. 

     

     The RTRIM mechanism is to trim  the DSP 600 MHz clock so it will not generate 14.4GHz spur.

    As you said, the correct change should be modified in mss_main.c. The API "rtrim_set(6);" should be called at end of Pcount3DDemo_initTask(). Can you please help to confirm the changes?

    static void Pcount3DDemo_initTask(UArg arg0, UArg arg1)
    {
        int32_t          errCode;
        MMWave_InitCfg   initCfg;
        UART_Params      uartParams;
        Task_Params      taskParams;
        Semaphore_Params semParams;
        DPM_InitCfg      dpmInitCfg;
        DMA_Params       dmaParams;
        DMA_Handle       dmaHandle;
    
        DPC_ObjectDetectionRangeHWA_InitParams objDetInitParams;
        // int32_t             i;
    
        ...
    
        /*****************************************************************************
         * Initialize the CLI Module:
         *****************************************************************************/
        Pcount3DDemo_CLIInit(MMWDEMO_CLI_TASK_PRIORITY);
    
        rtrim_set(6);
        
        return;
    }

    Thanks.

  • Hello,

    The RTRIM setting does not affect the DSP clock, it is the APLL generation that we are optimizing with this setting. That being said, you are correct with the location of the "rtrim_set(6);" line.

    Best Regards,

    Pedrhom

  • Hi Pedrhom,

      I can build it successfully.

    Thanks for your help.