Other Parts Discussed in Thread: SYSBIOS
Tool/software: TI C/C++ Compiler
Hello,
I was importing a project that fits into L2 RAM 255kB memory for C6748, created in CCSv5.5 (compiler 7.4.21, optimised for size, no printf float), to CCSv7.4 (compiler 8.2.2) and the generated firmware size is now larger by 24kB.
Are there more settings in this compiler that I could set so the firmware fits in L2 memory? Below I provided the map files and compiler options for main.cpp and linker command.
Thank you in advance,
David.
PGM_bootldr.7.4.21.map.txt,PGM_bootldr.8.2.2.map.txt
**** Build of configuration Debug for project PGM_bootldr ****
"C:\\ti\\ccs740\\ccsv7\\utils\\bin\\gmake" -j 8 all -O
'Building file: "../main.cpp"'
'Invoking: C6000 Compiler'
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/bin/cl6x" -mv6748 --abi=eabi -O3 -ms3 -g --optimize_with_debug=on --preinclude="C:/Camlin/PGM/branches/David/PGM_sysbios/Include/platform.h" --include_path="C:/Camlin/PGM/branches/David/PGM_sysbios/Utils" --include_path="C:/Camlin/PGM/branches/David/PGM_bootldr" --include_path="C:/Camlin/PGM/branches/David/PGM_bootldr/Drivers" --include_path="C:/Camlin/PGM/branches/David/PGM_bootldr/Modules" --include_path="C:/Camlin/PGM/branches/David/PGM_sysbios/Include" --include_path="C:/Camlin/PGM/branches/David/libYAFFS" --include_path="C:/Camlin/PGM/branches/David/libYAFFS/Core" --include_path="C:/Camlin/PGM/branches/David/libYAFFS/Direct" --include_path="C:/Camlin/PGM/branches/David/libYAFFS/HAL" --include_path="C:/Camlin/PGM/branches/David/libCanoodle" --include_path="C:/Camlin/PGM/branches/David/libStarterWare/include" --include_path="C:/Camlin/PGM/branches/David/libStarterWare/include/hw" --include_path="C:/Camlin/PGM/branches/David/PGM_sysbios/Modules" --include_path="C:/Camlin/PGM/branches/David/libStarterWare/include/c674x" --include_path="C:/Camlin/PGM/branches/David/libStarterWare/include/c674x/c6748" --include_path="C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include" --gcc --define=c6748 --define=PGM_SVN_REVISION_STRING=\"4381\" --define=CANOODLE_C6000 --diag_wrap=off --display_error_number --diag_warning=225 --gen_func_subsections=on --remove_hooks_when_inlining --printf_support=nofloat --preproc_with_compile --preproc_dependency="main.d_raw" "../main.cpp"
'Finished building: "../main.cpp"'
'Building target: "PGM_bootldr.out"'
'Invoking: C6000 Linker'
"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/bin/cl6x" -mv6748 --abi=eabi -O3 -ms3 -g --optimize_with_debug=on --preinclude="C:/Camlin/PGM/branches/David/PGM_sysbios/Include/platform.h" --gcc --define=c6748 --define=CANOODLE_C6000 --diag_wrap=off --display_error_number --diag_warning=225 --gen_func_subsections=on --remove_hooks_when_inlining --printf_support=nofloat -z --stack_size=0x2000 -m"PGM_bootldr.map" --heap_size=0x3000 -i"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/lib" -i"C:/ti/ccs740/ccsv7/tools/compiler/ti-cgt-c6000_8.2.2/include" -i"C:/Camlin/PGM/branches/David/libYAFFS/Debug" --reread_libs --display_error_number --warn_sections --diag_wrap=off --xml_link_info="PGM_bootldr_linkInfo.xml" --rom_model --unused_section_elimination=on -o "PGM_bootldr.out" "./FileManager.obj" "./IntervalTimer.obj" "./PGMCanPort.obj" "./PGMbootldrTimer.obj" "./PrepareBoot.obj" "./main.obj" "./Drivers/CAN/MCP2515.obj" "./Drivers/Drivers.obj" "./Drivers/RAMController.obj" "./Drivers/SerialPort.obj" "./Drivers/Flash/Flash.obj" "./Drivers/Flash/M25P64.obj" "./Drivers/GPIO/GPIOPins.obj" "./Drivers/SPI/SPICAN.obj" "./Drivers/SPI/SPIFlash.obj" "./Drivers/TWI/DS28CM00R.obj" "./Drivers/TWI/TWI.obj" "./Drivers/Timers/PrecisionTimer.obj" "./Drivers/Timers/Timers.obj" "./Drivers/Timers/tsc_h.obj" "./Drivers/WDT/WDTdog.obj" "./Modules/AIS/ais.obj" "./Modules/TLSF/tlsf.obj" "./Modules/TLSF/tlsf_heap.obj" "./Modules/Version/version.obj" "./Modules/crc32.obj" "./YAFFS_Config/hal_nand.obj" "./YAFFS_Config/yaffscfg.obj" "../linker_dsp.cmd" -l"C:/Camlin/PGM/branches/David/libStarterWare/Release/utils.lib" -l"C:/Camlin/PGM/branches/David/libStarterWare/Release/drivers.lib" -l"C:/Camlin/PGM/branches/David/libStarterWare/Release/system_config.lib" -l"C:/Camlin/PGM/branches/David/libStarterWare/Release/platform.lib" -llibYAFFS.lib -llibc.a
<Linking>
"../linker_dsp.cmd", line 43: error #10099-D: program will not fit into available memory. placement with alignment fails for section ".text" size 0x462e0 . Available memory ranges:
dsp_l2_ram size: 0x40000 unused: 0x25520 max hole: 0x25520
error #10010: errors encountered during linking; "PGM_bootldr.out" not built
>> Compilation failure
makefile:197: recipe for target 'PGM_bootldr.out' failed
gmake[1]: *** [PGM_bootldr.out] Error 1
makefile:189: recipe for target 'all' failed
gmake: *** [all] Error 2
**** Build Finished ****