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.

IWR1642: Application on R4F?

Part Number: IWR1642
Other Parts Discussed in Thread: IWR6843,

Hi,

We want to use R4F in mmWave for development.

As our understanding, people counting SDK uses DSS/RSS for application.
How we know the remaining resource in R4F (that we can use it for our application) while the people counting is applied?

Besides that, which IDE we should use for R4F's development?
Are you able to provide the
reference source code, library or api?

Thanks and Best Regards,
Janice

  • Hi Janice,

    You have not mentioned which People counting demo you are looking at. I have provided the below information in context of the Overhead 3D People Counting Demo but it similarly applies to the other demos as well. 

    When you say remaining resources, do you mean memory and processing MIPS headroom available on the Cortex R4F after the people counting related processing on the R4F? 

    During compilation, the TI linker generates individual .map files for DSS (i.e. C674x DSP) and MSS (i.e Cortex R4F) applications. The demo includes the .map files in the prebuilt binaries folder as shown below. Please refer to the MSS map file R4F memory usage info:

    C:\ti\mwave_industrial_toolbox_4_4_1\labs\people_counting\overhead_3d_people_counting\prebuilt_binaries\overhead_3d_people_count_68xx_mss.map

    Please refer to the Linker command file resources provided in the following thread to understand how memory sections are created and used:

    CCS/IWR6843ISK: Training for development

    You will need use TI Code Composer Studio for development. The above thread also includes training resources for it, and instructions for building the demo and running it in CCS mode are included in the demo user guide at: http://dev.ti.com/tirex/explore/node?node=AF4jhFuBH13mLPnsCXgawg__VLyFKFf__LATEST. Refer to the developer's guide section.

    Regards

    -Nitin

  • Hi Nitin,

    Thanks for your feedback.
    Actually I have 2 TI models on hand, one is IWR1642 and the other one is IWR6843.

    We still consider which model suitable for our application.
    I am checking the people counting for IWR1642, and it seems we are not able to get the *.map file from the industrial tool box.


    For remaining resource, we want to know how to know the available headroom on R4F while we are processing MIPS?  
    Thanks and looking forward to get your feedback.

    Thanks and Best Regards,
    Janice

  • Hi Janice,

    I would recommend using the IWR6843 and the associated people counting demos. The people counting demo on IWR1642 has been deprecated. The .map file is generated in the corresponding build directory (for both DSS and MSS projects) as part of the build process so you can build the demo using the instructions provided in the user guide and get the .map file.

    The MIPS usage information (which varies depending upon the number of detected points and tracked objects per frame) is sent out in the output message header in the timingInfo field. Please check the function MmwDemo_uartTxTask in mss_main.c as shown below:

    File: C:\ti\mmwave_industrial_toolbox_4_4_1\labs\people_counting\68xx_3D_people_counting\src\mss\mss_main.c

        /* wait for new message and process all the messages received from the peer */
        while(1)
        {
            Semaphore_pend(gMmwMssMCB.uartTxSemHandle, BIOS_WAIT_FOREVER);
    
            tlvIdx          =   0;
            uartHandle      =   gMmwMssMCB.loggingUartHandle;
            objOut          =   &(gMmwMssMCB.pointCloudToUart);
            subFrameIdx     =   gMmwMssMCB.currSubFrameIdx;
            timingInfo      =   &gMmwMssMCB.subFrameStats[subFrameIdx].outputStats;
            frameIdx        =   gMmwMssMCB.frameStatsFromDSP->frameStartIntCounter;
    
            packetLen = sizeof(Pcount3DDemo_output_message_header);
            header.chirpProcessingMargin        =   timingInfo->interChirpProcessingMargin;
            header.frameProcessingTimeInUsec    =   timingInfo->frameProcessingTimeInUsec;
            header.trackingProcessingTimeInUsec =   gMmwMssMCB.trackerProcessingTimeInUsec;

    Thanks

    -Nitin