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.

IWR6843ISK-ODS: What is the procedure to run the "Unit Test for Object Detection using HWA"

Part Number: IWR6843ISK-ODS
Other Parts Discussed in Thread: UNIFLASH

Hello,

I'd like to be able to run the unit tests in order to test current DSP chain. I noticed the mmWave SDK documentation has a chapter regarding to that called "Unit Test for Object Detection using HWA" located at `ti\datapath\dpc\objectdetection\objdethwa\test\testdata`.

  1. If I use the IWR6843ISK-ODS device, which bin files should I use for tests - xwr68xx_aopevm_xxx_data_path_test_config.bin or xwr68xx_stdevm_dss_xxx_path_test_config.bin ?
  2. What is the procedure on how to run the bin files?
    1. Do I flash the bin files first using Uniflash? Both mss and dss?
    2. Do I need to provide some CFG file in order to run the tests? Could you provide an example of subframe/scene configuration? Or how do I start running them?
    3. How do I obtain the results? Are they sent to the serial port?

Would be great to get the clarifications on how the whole procedure is supposed to be run.

Thank you.

Regards,

Victoria

  • Hi Victoria,

    The unit tests are supposed to be run in CCS (Code Composer Studio) using the .out binaries provided in the test directory namely:

    xwr68xxAOP_objectdetection_test_dss.xe674 (DSP binary) and

    xwr68xxAOP_objectdetection_test_mss.xer4f (Cortex R4F binary)

    These are unit tests and hence supposed to be run for development and debugging in the CCS debug environment and not as a deployable/flashable .bin file.

    The .bin files provided under the C:\ti\mmwave_sdk_03_04_00_03\packages\ti\datapath\dpc\objectdetection\objdethwa\test\testdata directory are the input test vectors for the corresponding unit test as shown in the source code below in main.c.

        if(gReadTestConfigFromBinFile)
        {
            char platform[20];
            char subsys[20];
            char antGeometry[20];
            char fileName[200];
    
    #if   defined(SOC_XWR18XX)
            strcpy(platform, "xwr18xx");
    #elif defined(SOC_XWR68XX)
            strcpy(platform, "xwr68xx");
    #else
    #error "Error: Unsupported platform"
    #endif
    
    #if   defined(SUBSYS_MSS)
            strcpy(subsys, "mss");
    #elif defined(SUBSYS_DSS)
            strcpy(subsys, "dss");
    #else
    #error "Error: Unsupported subsystem"
    #endif
    
    #if   defined(XWR68XX_AOP_ANTENNA_PATTERN)
            strcpy(antGeometry, "aopevm");
    #else
            strcpy(antGeometry, "stdevm");
    #endif
    
            sprintf(fileName, "testdata\\%s_%s_%s_data_path_test_config.bin",
                              platform, antGeometry, subsys);
            fileId = fopen(fileName, "rb");
            if (fileId == NULL)
            {
                System_printf("Error:  Cannot open %s!\n", fileName);
                exit(0);
            }
            else
            {
                System_printf("Reading configuration from %s ...\n", fileName);
            }
            /* read in number of tests to be run */
            fread(&numTests, sizeof(uint32_t),1,fileId);
            if (numTests == 0)
            {
               System_printf("No test is defined in the file\n");
                ObjectDetection_Test_debugAssert(0);
            }
        }

    Regards

    -Nitin 

  • The test flow is also described in the included doxygen at 

    C:\ti\mmwave_sdk_03_04_00_03\packages\ti\datapath\dpc\objectdetection\objdethwa\test\docs\doxygen\html\index.html

    Thanks

    -Nitin

     

  • Hello Nitin,

    Thank you for the replies. I will try to use CCS to run the tests and read about the test framework.

    I was surprised to learn the bin files represent data for the test. Is there any way to look at the bin file content, or what an example looks like? Is there any example of how can I generate my own bin file with my own settings? 

    Thank you.

    Victoria

  • Hi Victoria,

    The test generator flow is documented in the same doxygen:

    C:\ti\mmwave_sdk_03_04_00_03\packages\ti\datapath\dpc\objectdetection\objdethwa\test\docs\doxygen\html\index.html

    Test Generator

    The test generator allows user to set arbitrary number of objects artificially at desired range, doppler and azimuth bins, elevation angle and noise level so that output can be checked against these settings. It can generate one frame of data.

    The test data generator is located in file: ti\datapath\dpc\objectdetection\common\gen_frame_data.c The function initFrameData() initializes the structure genFrameStruc_t_ with unit test parameters defined in sensorConfig_t_ , and sceneConfig_t_ .

    The function genChirpData() is called once per chirp interval and it generates reference signal composed of all targets. The reference signal of one target is generated as:

    Regards

    -Nitin

  • Hi Nitin,

    Thank you, this is very helpful.

    Regards,

    Victoria