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/TMS570LS3137: TI v[5.2.5]

Part Number: TMS570LS3137

Tool/software: TI C/C++ Compiler

Hi Team,

I am compiling the obj file, using command prompt I set all respective flag for linker but there "-ms" setting error is generated, but I didn't used this one flag for linking the object so help me out in command syntax what I written wrong :

Command line for linker:

-mv7R4 --abi=eabi -Ooff --opt_for_speed=0 -g --check_misra="17,-17.4,-17.6" --diag_warning=225 --display_error_number --stack_size=0x800 -m"ESCL.map" --heap_size=0x800  -i"D:/MPOS/SOUCRE_CODE/FS_Automotive_POC_22Feb2017/Source_code/ESCL/Debug"    -i"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.5/lib" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.5/include" -i"D:/MPOS/SOUCRE_CODE/FS_Automotive_POC_22Feb2017/Source_code/ESCL/Debug/source/MCAL" -i"D:/MPOS/SOUCRE_CODE/FS_Automotive_POC_22Feb2017/Source_code/ESCL/Debug/source/OS" -i"D:/MPOS/SOUCRE_CODE/FS_Automotive_POC_22Feb2017/Source_code/ESCL/Debug/source/app" --reread_libs --warn_sections --display_error_number --xml_link_info="ESCL_linkInfo.xml" --rom_model --be32 --unused_section_elimination=off --compress_dwarf=off --copy_compression=rle --cinit_compression=rle --zero_init=on --gen_func_subsections=on --verbose_diagnostics dabort.obj, esm.obj, gio.obj, gpio_wrapper.obj, interrupt_management.obj, io_management.obj, ipc.obj, ipps.obj, mpos_utils.obj, notification.obj, os.obj, OS_Context.obj, partition.obj, partition1.obj, partition2.obj, partition3.obj, partition4.obj, partition5.obj, partition6.obj, partition7.obj, partition_utils.obj, pinmux.obj, rti.obj, sci.obj, system.obj, System_calls.obj, sys_core.obj, sys_intvecs.obj, sys_mpu.obj, sys_pcr.obj, sys_phantom.obj, sys_pmu.obj, sys_selftest.obj, sys_startup.obj, uart.obj

Output of Command prompt (plz see the bold font) :

C:\ti\ccsv6\tools\compiler\ti-cgt-arm_5.2.5\bin>armcl -mv7R4 --abi=eabi -Ooff --opt_for_speed=0 -g --check_misra="17,-17.4,-17.6" --diag_warning=225 --display_error_number --s
tack_size=0x800 -m"ESCL.map" --heap_size=0x800  -i"D:/MPOS/SOUCRE_CODE/FS_Automotive_POC_22Feb2017/Source_code/ESCL/Debug"    -i"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.5/li
b" -i"C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.5/include" -i"D:/MPOS/SOUCRE_CODE/FS_Automotive_POC_22Feb2017/Source_code/ESCL/Debug/source/MCAL" -i"D:/MPOS/SOUCRE_CODE/FS_Aut
omotive_POC_22Feb2017/Source_code/ESCL/Debug/source/OS" -i"D:/MPOS/SOUCRE_CODE/FS_Automotive_POC_22Feb2017/Source_code/ESCL/Debug/source/app" --reread_libs --warn_sections --d
isplay_error_number --xml_link_info="ESCL_linkInfo.xml" --rom_model --be32 --unused_section_elimination=off --compress_dwarf=off --copy_compression=rle --cinit_compression=rle
 --zero_init=on --gen_func_subsections=on --verbose_diagnostics dabort.obj, esm.obj, gio.obj, gpio_wrapper.obj, interrupt_management.obj, io_management.obj, ipc.obj, ipps.obj,
 mpos_utils.obj, notification.obj, os.obj, OS_Context.obj, partition.obj, partition1.obj, partition2.obj, partition3.obj, partition4.obj, partition5.obj, partition6.obj, parti
tion7.obj, partition_utils.obj, pinmux.obj, rti.obj, sci.obj, system.obj, System_calls.obj, sys_core.obj, sys_intvecs.obj, sys_mpu.obj, sys_pcr.obj, sys_phantom.obj, sys_pmu.o
bj, sys_selftest.obj, sys_startup.obj, uart.obj
>> WARNING: invalid compiler option --stack_size=0x800 (ignored)
error #24015-D: bad argument to option -ms: should be one of {on,off}

 

  • I notice two problems with your link command.

    One, you do not use the option --run_linker (or -z for short).  This option is required when linking.  Please read more about it in the chapter titled Linking C/C++ Code of the ARM compiler manual.

    Two, you separate the object files with a comma.  Do not use a comma.  Separate the object file names with a space.

    Thanks and regards,

    -George