Other Parts Discussed in Thread: MATHLIB, SYSBIOS, , IWR1642, AWR1843
1.你好,我编译时出现以下错误:
Invoking: C6000 Linker
"D:/MMWR/TISoftWare/ccs/installer/ccs/tools/compiler/ti-cgt-c6000_8.3.12/bin/cl6x" -mv6740 --abi=eabi -O3 --opt_for_speed=4 --define=SOC_XWR18XX --define=GTRACK_2D --define=SUBSYS_DSS --define=MMWAVE_L3RAM_NUM_BANK=6 --define=MMWAVE_SHMEM_TCMA_NUM_BANK=0 --define=MMWAVE_SHMEM_TCMB_NUM_BANK=0 --define=MMWAVE_SHMEM_BANK_SIZE=0x20000 --define=DOWNLOAD_FROM_CCS --define=DebugP_ASSERT_ENABLED --define=_LITTLE_ENDIAN -g --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --obj_extension=.oe674 -z -m"radar_18xx_dss_v1.8.map" --heap_size=0x800 --stack_size=0x800 -i"D:/MMWR/TISoftWare/ccs/installer/ccs/tools/compiler/ti-cgt-c6000_8.3.12/lib" -i"D:/MMWR/TISoftWare/ccs/workspace/radar_18xx_dss_v1.8" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/control/mmwave/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/control/mmwavelink/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/alg/mmwavelib/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/drivers/crc/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/drivers/mailbox/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/drivers/soc/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/drivers/osal/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/drivers/uart/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/drivers/edma/lib" -i"D:/ti/mmwave_sdk_03_05_00_04/packages/ti/drivers/adcbuf/lib" -i"D:/ti/dsplib_c674x_3_4_0_0/packages/ti/dsplib/lib" -i"D:/ti/dsplib_c64Px_3_4_0_0/packages/ti/dsplib/lib" -i"D:/ti/mathlib_c674x_3_1_2_1/packages/ti/mathlib/lib" -i"D:/MMWR/TISoftWare/ccs/installer/ccs/tools/compiler/ti-cgt-c6000_8.3.12/include" --reread_libs --disable_auto_rts --define=MMWAVE_L3RAM_NUM_BANK=6 --define=MMWAVE_SHMEM_TCMA_NUM_BANK=0 --define=MMWAVE_SHMEM_TCMB_NUM_BANK=0 --define=MMWAVE_SHMEM_BANK_SIZE=0x20000 --diag_warning=225 --diag_wrap=off --display_error_number --warn_sections --xml_link_info="xwr16xx_radar_18xx_dss_v1.8_linkInfo.xml" --ram_model --unused_section_elimination=on -o "radar_18xx_dss_v1.8.xe674" "./dss_config_edma_util.oe674" "./dss_data_path.oe674" "./dss_main.oe674" "./radarProcess.oe674" "./CFAR/RADARDEMO_detectionCFAR.oe674" "./CFAR/RADARDEMO_detectionCFAR_priv.oe674" "./CFAR/relativeThrTab.oe674" "./DOA/RADARDEMO_aoaEstBF.oe674" "./DOA/RADARDEMO_aoaEstBF_priv.oe674" "./clustering/RADARDEMO_clusteringDBscan3D.oe674" "./clustering/RADARDEMO_clusteringDBscan3D_priv.oe674" "./dopplerProc/RADARDEMO_dopplerProc.oe674" "./dopplerProc/RADARDEMO_dopplerProc_priv.oe674" "./rangeProc/RADARDEMO_highAccuRangeProc.oe674" "./rangeProc/RADARDEMO_highAccuRangeProc_priv.oe674" "./rangeProc/RADARDEMO_highAccuRangeProc_utils.oe674" "./utilities/cycle_measure.oe674" "./utilities/radarOsal_malloc.oe674" "../c674x_linker.cmd" "../dss_mmw_linker.cmd" -l"configPkg/linker.cmd" -lmathlib.lib -ldsplib.ae674 -ldsplib.ae64P -ldsplib.lib -llibsoc_xwr18xx.ae674 -llibosal_xwr18xx.ae674 -llibcrc_xwr18xx.ae674 -llibuart_xwr18xx.ae674 -llibmailbox_xwr18xx.ae674 -llibmmwavelink_xwr18xx.ae674 -llibmmwave_xwr18xx.ae674 -llibedma_xwr18xx.ae674 -llibadcbuf_xwr18xx.ae674 -llibmmwavealg_xwr18xx.ae674 -lrts6740_elf.lib -llibc.a
<Linking>
warning #10247-D: creating output section ".hsramdata" without a SECTIONS specification
"../c674x_linker.cmd", line 84: error #10099-D: program will not fit into available memory. placement with alignment fails for section ".fardata" size 0x144a . Available memory ranges:
L2SRAM_UMAP0 size: 0x20000 unused: 0x8 max hole: 0x7
L2SRAM_UMAP1 size: 0x20000 unused: 0x0 max hole: 0x0
"../dss_mmw_linker.cmd", line 16: error #10099-D: program will not fit into available memory. run placement with alignment fails for section ".l2data" size 0x10007 . Available memory ranges:
L2SRAM_UMAP0 size: 0x20000 unused: 0x8 max hole: 0x7
L2SRAM_UMAP1 size: 0x20000 unused: 0x0 max hole: 0x0
"../dss_mmw_linker.cmd", line 15: error #10099-D: program will not fit into available memory. run placement with alignment fails for section "systemHeap" size 0x4007 . Available memory ranges:
L2SRAM_UMAP0 size: 0x20000 unused: 0x8 max hole: 0x7
L2SRAM_UMAP1 size: 0x20000 unused: 0x0 max hole: 0x0
"../c674x_linker.cmd", line 93: error #10099-D: program will not fit into available memory. run placement with alignment fails for section ".stack" size 0x418 . Available memory ranges:
L2SRAM_UMAP0 size: 0x20000 unused: 0x8 max hole: 0x7
L2SRAM_UMAP1 size: 0x20000 unused: 0x0 max hole: 0x0
"../c674x_linker.cmd", line 86: error #10099-D: program will not fit into available memory. placement with alignment fails for section ".switch" size 0x1bd . Available memory ranges:
L2SRAM_UMAP0 size: 0x20000 unused: 0x8 max hole: 0x7
L2SRAM_UMAP1 size: 0x20000 unused: 0x0 max hole: 0x0
"../c674x_linker.cmd", line 87: error #10099-D: program will not fit into available memory. run placement with alignment fails for section ".cio" size 0x127 . Available memory ranges:
L2SRAM_UMAP0 size: 0x20000 unused: 0x8 max hole: 0x7
L2SRAM_UMAP1 size: 0x20000 unused: 0x0 max hole: 0x0
"../c674x_linker.cmd", line 92: error #10099-D: program will not fit into available memory. placement with alignment fails for section ".neardata" size 0x10 . Available memory ranges:
L2SRAM_UMAP0 size: 0x20000 unused: 0x8 max hole: 0x7
L2SRAM_UMAP1 size: 0x20000 unused: 0x0 max hole: 0x0
"../dss_mmw_linker.cmd", line 70: error #10099-D: program will not fit into available memory. placement with alignment fails for section ".ovly" size 0x10 . Available memory ranges:
L2SRAM_UMAP0 size: 0x20000 unused: 0x7 max hole: 0x7
L2SRAM_UMAP1 size: 0x20000 unused: 0x0 max hole: 0x0
error #10010: errors encountered during linking; "radar_18xx_dss_v1.8.xe674" not built
>> Compilation failure
makefile:191: recipe for target 'radar_18xx_dss_v1.8.xe674' failed
gmake[2]: *** [radar_18xx_dss_v1.8.xe674] Error 1
makefile:187: recipe for target 'main-build' failed
gmake[1]: *** [main-build] Error 2
makefile:182: recipe for target 'all' failed
gmake: *** [all] Error 2
**** Build Finished ****
2. 而且我定义的代码段大小已经够大了,还是会出现上述问题,请问该如何解决呢?
/*! @brief L2 heap used for allocating buffers in L2 SRAM,
mostly scratch buffers */
#define MMW_L2_HEAP_SIZE 0x11000U
#define SOC_XWR18XX_DSS_L2_SCRATCH_SIZE 0x10000U
#define SOC_XWR18XX_DSS_L2_BUFF_SIZE 0x10000U
/*! @brief L1 heap used for allocating buffers in L1D SRAM,
mostly scratch buffers */
#define MMW_L1_HEAP_SIZE 0x4000U
/*! L3 RAM buffer */
#pragma DATA_SECTION(gMmwL3, ".l3data");
#pragma DATA_ALIGN(gMmwL3, 8);
uint8_t gMmwL3[SOC_L3RAM_SIZE];
/*! L2 RAM buffer */
#pragma DATA_SECTION(gMmwL2, ".l2data");
#pragma DATA_ALIGN(gMmwL2, 8);
uint8_t gMmwL2[SOC_XWR18XX_DSS_L2_BUFF_SIZE];
/*! L2 RAM scratch */
#pragma DATA_SECTION(gMmwL2, ".l2data");
#pragma DATA_ALIGN(gMmwL2, 8);
uint8_t gMmwL2Scratch[SOC_XWR18XX_DSS_L2_SCRATCH_SIZE];
/*! L1 Heap */
#pragma DATA_SECTION(gMmwL1, ".l1data");
#pragma DATA_ALIGN(gMmwL1, 8);
uint8_t gMmwL1[MMW_L1_HEAP_SIZE];
