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.

CCS/AWR1642BOOST: CCS example project for mmw Demo

Other Parts Discussed in Thread: AWR1642BOOST, AWR1642, MATHLIB, MMWAVE-SDK

rt Number: AWR1642BOOST

Tool/software: Code Composer Studio

Hello everyone

I am aware of that the mmw Demo project can be build through the command line on Windows. Do you have the CCS project for the MMW demo? Or other DSP core example CCS project for AWR1642.

I had successful build the ARM core program on CCS for mmw Demo. However, I cannot successfully build C674x DSP core project on CCS. The attachment is my C674x CCS project for MMW demo, in which there are some errors from the dss_mmw_linker.cmd. If you can help me with those errors, it would be also helpful. 

Thanks in advance.

Peter

  • Hello XIning,

    With respect to your compile time error from dss_mmw_linker.cmd, looks like it is not able to find libraries and object files.

    Please follow these two steps to clear off this error-

    • Include below lines on top of dss_mmw_linker.cmd file.

    -Ldsplib.ae64P
    -Llibmmwavealg_xwr16xx.ae674
    -Lmathlib.ae674
    -Llibsoc_xwr16xx.ae674

    • you need to add object file extension to '.oe674'  in CCS project properties->Build->C6000 Compiler->Advanced Options->Default File Extensions->Extension for Object files.

    These two options should eliminate error generated by this file (dss_mmw_linker.cmd).

    Regards,

    Jitendra Gupta

  • Hi Jitendra

    Thanks for your reply.

    Based on your two suggestions, I edited the CMD file and attached in this post. However, a new error comes out--undefined symbol  "_MmwDemo_fastCode_L1PSRAM_copy_table" in dss_main.oe674. After commenting those include libraries you provided, this error will be gone.

    Currently, the DSP core CCS project can be build( without including lib as you suggested), however, there are some warnings in the linking procedure as showing below. I checked the existence of those functions mentioned in the warning message. I am not sure why CCS cannot find those functions. Can you help me with that?

    Again thanks for your help

    Regards

    Peter

    /*----------------------------------------------------------------------------*/
    /* Linker Settings                                                            */
    --retain="*(.intvecs)"
    
    --stack_size=0x700
    /*----------------------------------------------------------------------------*/
    -ldsplib.ae64P
    -llibmmwavealg_xwr16xx.ae674
    -lmathlib.ae674
    -llibsoc_xwr16xx.ae674
    /* Section Configuration                                                      */
    SECTIONS
    {
        systemHeap : {} >> L2SRAM_UMAP0 | L2SRAM_UMAP1
        .l2data : {} >> L2SRAM_UMAP0 | L2SRAM_UMAP1
    
        /* HSSRAM has output data from processing chain running on DSP */
        .demoSharedMem > HSRAM
    
        /* L3SRAM has code that is overlaid with data, so data must be
           marked uninitialized. Application can initialize this section
           using _L3data_* symbols defined below. Code should be written carefully as
           these are linker symbols (see for example http://e2e.ti.com/support/development_tools/compiler/f/343/t/92002 ):
            
            extern far uint8_t _L3data_start; // the type here does not matter
            extern far uint8_t _L3data_size;  // the type here does not matter
    
            memset((void *)_symval(&_L3data_start), 0, (uint32_t) _symval(&_L3data_size));
        */ 
        .l3data: type=NOINIT, start(_L3data_start), size(_L3data_size), load=L3SRAM PAGE 1
    
        /* Bootloader cannot load L1DSRAM, make sure to mark as NOINIT */
        .l1data : type=NOINIT, load=L1DSRAM
    
        /* Currently bootloader does not allow loading in L1PSRAM because of supporting
           low power. Below fast code is loaded in L3SRAM but run from L1PSRAM. The copy-in
           is called during initialization phase and copy-out is not used but can be added when
           supporting low-power mode (where L1 contents are not retained).
         */    
        .fastCode: 
        {
            dsplib.ae64P(.text)
            libmmwavealg_xwr16xx.ae674(.text)
            mathlib.ae674(.text)
            dss_data_path.oe674 (.text:MmwDemo_interFrameProcessing)
            dss_data_path.oe674 (.text:MmwDemo_processChirp)
            dss_data_path.oe674 (.text:MmwDemo_interChirpProcessing)
            dss_data_path.oe674 (.text:MmwDemo_XYestimation)
            dss_data_path.oe674 (.text:MmwDemo_cfarPeakGrouping)
            dss_data_path.oe674 (.text:MmwDemo_cfarPeakGroupingCfarQualified)
            dss_main.oe674 (.text:MmwDemo_dssDataPathProcessEvents)
            /* Below may be risky to expose hence currently hiding */
            // libosal_xwr16xx.ae674 (.text:SemaphoreP_pend)
            // libosal_xwr16xx.ae674 (.text:SemaphoreP_post)
        } load=L3SRAM PAGE 0, run=L1PSRAM PAGE 0, table(_MmwDemo_fastCode_L1PSRAM_copy_table, compression=off)
        
        /* This is auto generated by linker related to copy table above */
        .ovly > L2SRAM_UMAP0 | L2SRAM_UMAP1
        
        /* Overlay one-time/init-time (and non-critical in cycles) with L3 data,
           will be erased during data path processing. Note do not put any
           code that is required related to start/stop/reconfig processing */
        .overlay:
        {
            libsoc_xwr16xx.ae674 (.text:SOC_init)
            dss_main.oe674 (.text:MmwDemo_dssInitTask)
            dss_main.oe674 (.text:main)
            dss_data_path.oe674 (.text:MmwDemo_dataPathInitEdma)
        } > L3SRAM PAGE 0
       
    }
    /*----------------------------------------------------------------------------*/
    
    

  • Hi Peter,

    Can you set one setting in your DSS CCS project.

    Along with this option enable compiler optimization also.

    Hope above setting options should clear linker file warnings.

    Regards,

    Jitendra Gupta

  • Hi Jitendra,

    I followed the steps you mentioned still I am getting the error that dsplib and mathlib files don't exist.
  • Hi Amol,

    Can you follow this post to get CCS project or you can use CCS resource explorer for CCS project of AWR1642 SDK demo

    And please make sure that you have installed all tool dependencies what mmWave-SDK release note recommends and set proper path in CCS project property.

    Regards,

    Jitendra Gupta

  • Issue resolved thanks