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.

Compiler/IWR1642BOOST: Tmdemo traffic monitor demo compile has linking problem

Part Number: IWR1642BOOST
Other Parts Discussed in Thread: MATHLIB

Tool/software: TI C/C++ Compiler

Hello,

I just do the compile according to the BuildInstructions. However, it cannot compile demo_dss.bin.

The compile log info:

******************************************************************************
Built the MSS Millimeter Wave OUT & BIN Formats
******************************************************************************
Configuring RTSC packages...
xs --xdcpath="c:/ti/bios_6_50_01_12/packages;C:/ti/mmwave_sdk_01_00_00_05/packages" xdc.tools.configuro -t ti.targets.elf.C674 -p ti.platforms.c6x:IWR16XX:false:600 -DMMWAVE_SDK_DEVICE=iwr16xx -DMMWAVE_SDK_DEVICE_TYPE=xwr16xx -r release -c C:/ti/ti-cgt-c6000_8.1.3 -o dss/mmw_configPkg_xwr16xx dss/dss_mmw.cfg
Finished configuring packages

cl6x -mv6740 --abi=eabi -g --define=SOC_XWR16XX --display_error_number --diag_warning=225 --diag_wrap=off -z --reread_libs --warn_sections --ram_model -iC:/ti/ti-cgt-c6000_8.1.3/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/osal/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/soc/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/uart/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/crc/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/mailbox/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/adcbuf/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/drivers/edma/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/control/mmwavelink/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/control/mmwave/lib -iC:/ti/tmdemo/mmwave_demo_dev/lib/dsplib_c64Px_3_4_0_0/packages/ti/dsplib/lib -iC:/ti/tmdemo/mmwave_demo_dev/radarDemo/chains/RadarReceiverEDMA_mmwSDK/mmw_TMDemo/BuildInstructions../../../../../../lib/c674x-dsplib_1_03_00_01/lib -iC:/ti/mmwave_sdk_01_00_00_05/packages/ti/alg/mmwavelib/lib -llibosal_xwr16xx.ae674 -llibsoc_xwr16xx.ae674 -llibcrc_xwr16xx.ae674 -llibuart_xwr16xx.ae674 -llibmailbox_xwr16xx.ae674 -llibmmwavelink_xwr16xx.ae674 -llibmmwave_xwr16xx.ae674 -llibadcbuf_xwr16xx.ae674 -llibedma_xwr16xx.ae674 -llibmmwavealg_xwr16xx.ae674 -ldsplib.ae64P -ldsplib674x_elf.lib
                                                                        \
        -ldss/mmw_configPkg_xwr16xx/linker.cmd --map_file=xwr16xx_mmw_demo_dss.map obj_xwr16xx/dss_main.oe674 obj_xwr16xx/dss_config_edma_util.oe674 obj_xwr16xx/dss_data_path.oe674 obj_xwr16xx/radarProcess.oe674 obj_xwr16xx/RADARDEMO_clusteringDBscan.oe674 obj_xwr16xx/RADARDEMO_clusteringDBscan_priv.oe674 obj_xwr16xx/RADARDEMO_detectionCFAR.oe674 obj_xwr16xx/RADARDEMO_detectionCFAR_priv.oe674 obj_xwr16xx/RADARDEMO_dopplerProc.oe674 obj_xwr16xx/RADARDEMO_dopplerProc_priv.oe674 obj_xwr16xx/RADARDEMO_dopplerProc_utils.oe674 obj_xwr16xx/RADARDEMO_rangeProc.oe674 obj_xwr16xx/RADARDEMO_rangeProc_priv.oe674 obj_xwr16xx/cycle_measure.oe674 obj_xwr16xx/radarOsal_malloc.oe674 obj_xwr16xx/RADARDEMO_aoaEstDML.oe674 obj_xwr16xx/RADARDEMO_aoaEstDML_priv.oe674 obj_xwr16xx/RADARDEMO_aoaEstBF.oe674 obj_xwr16xx/RADARDEMO_aoaEstBF_priv.oe674 obj_xwr16xx/RADARDEMO_clusterTracker.oe674 obj_xwr16xx/RADARDEMO_clusterTracker_math.oe674 obj_xwr16xx/RADARDEMO_clusterTracker_priv.oe674   \
        C:/ti/mmwave_sdk_01_00_00_05/packages/ti/platform/xwr16xx/c674x_linker.cmd dss/dss_mmw_linker.cmd -lrts6740_elf.lib -o xwr16xx_mmw_demo_dss.xe674
<Linking>
"dss/dss_mmw_linker.cmd", line 49: warning #10068-D: no matching section
"dss/dss_mmw_linker.cmd", line 38: error #10099-D: program will not fit into available memory.  run placement with alignment fails for section ".fastCode" size 0x6f60 .  Available memory ranges:
   L1PSRAM      size: 0x7000       unused: 0x7000       max hole: 0x7000
error #10010: errors encountered during linking; "xwr16xx_mmw_demo_dss.xe674" not built

>> Compilation failure
gmake: *** [dssDemo] Error 1

C:\ti\tmdemo\mmwave_demo_dev\radarDemo\chains\RadarReceiverEDMA_mmwSDK\mmw_TMDemo>

----------------------

The building of mmwave_sdk_01_00_00_05 is successful.

The mmwave_sdk_setupenv.bat is changed as follows:


set DOWNLOAD_FROM_CCS=yes
set MMWAVE_SDK_DEVICE=iwr16xx

set R4F_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-arm_16.9.1.LTS
set MMWAVE_SDK_INSTALL_PATH=C:/ti/mmwave_sdk_01_00_00_05/packages
set BIOS_INSTALL_PATH=c:/ti/bios_6_50_01_12/packages
set XDC_INSTALL_PATH=c:/ti/xdctools_3_50_00_10_core
set PERL_INSTALL_PATH=C:/Strawberry/perl/bin
set C674_CODEGEN_INSTALL_PATH=C:/ti/ti-cgt-c6000_8.1.3
set C64Px_DSPLIB_INSTALL_PATH=C:/ti/tmdemo/mmwave_demo_dev/lib/dsplib_c64Px_3_4_0_0
set C674x_MATHLIB_INSTALL_PATH=C:/ti/mathlib_c674x_3_1_2_1
set XWR16XX_RADARSS_IMAGE_BIN=C:/ti/mmwave_sdk_01_00_00_05/firmware/radarss/xwr16xx_radarss_rprc.bin

-------------------------

Who can help me at this point?

Thanks,

Kang

  • > The building of mmwave_sdk_01_00_00_05 is successful.

    For what purpose did you rebuild the SDK? What did you change?

    Please try backing up your SDK folder and your TMdemo folder and follow the instructions in tmdemo_gsg.pdf without rebuilding the SDK. It will work.

    With regard to building the demo, be careful on slide 9 of tmdemo_gsg.pdf. The step to change L1P_CACHE_SIZE on the bottom-right of the slide needs to be done for Windows environments as well. Many people skip it thinking it's part of the Linux instructions.

    Once you get it to successfully link, then you can play with rebuilding the SDK.

    -dave
  • Hi Dave,

    rebuild the sdk is to make sure my install environment and all libs correct.

    I tried the 4k size change. the compile halt at the position of linker for dss.

    Who can help so that I can move forwards?

    Thanks,

    Kang

  • The linker error you are getting is telling you that the program is too large to fit into memory.  This suggests that the libs that you built are larger than the libs provided in the SDK.  This is why I asked you to move your SDK to another folder and reinstall the SDK to retrieve the default libs.

  • I tried just now, I still get the same error.

    C:/ti/mmwave_sdk_01_00_00_05/packages/ti/platform/xwr16xx/c674x_linker.cmd dss/dss_mmw_linker.cmd -lrts6740_elf.lib -o xwr16xx_mmw_demo_dss.xe674
    <Linking>
    "dss/dss_mmw_linker.cmd", line 49: warning #10068-D: no matching section
    "dss/dss_mmw_linker.cmd", line 38: error #10099-D: program will not fit into available memory. run placement with alignment fails for section ".fastCode" size 0x6f60 . Available memory ranges:
    L1PSRAM size: 0x7000 unused: 0x7000 max hole: 0x7000
    error #10010: errors encountered during linking; "xwr16xx_mmw_demo_dss.xe674" not built

    >> Compilation failure
    gmake: *** [dssDemo] Error 1


    from the above info, the section size 0x6f60 is small than 0x7000. It shouldnot have problem with linker.
    I am confused, whether I have not understood what you mean.

    Thanks.
  • Hi,

    after one week intensive trying to compile the demo, the compiling goes finally through.

    Here I just share my experience with this issue.

    The mistake is caused by C6000 Code Generation Tools.

    For any reason, I did not know what is the difference between ti-cgt-c6000_7.4.16 and the latest one ti-cgt-c6000_8.1.3.

    The old cgt works well for this demo.

    good luck with cgt.

    Kang