# List of format the tool supports for converting, for example, # GNU tools uses objectcopy, which supports the following: ihex, srec, binary set_property(TARGET bintools PROPERTY elfconvert_formats ihex binary) # armclang toolchain does not support all options in a single command # Therefore a CMake script is used, so that multiple commands can be executed # successively. set_property(TARGET bintools PROPERTY elfconvert_command ${CMAKE_COMMAND}) set_property(TARGET bintools PROPERTY elfconvert_flag -DFROMELF=${CMAKE_FROMELF} ) set_property(TARGET bintools PROPERTY elfconvert_flag_final -P ${CMAKE_CURRENT_LIST_DIR}/elfconvert_command.cmake) set_property(TARGET bintools PROPERTY elfconvert_flag_strip_all "-DSTRIP_ALL=True") set_property(TARGET bintools PROPERTY elfconvert_flag_strip_debug "-DSTRIP_DEBUG=True") set_property(TARGET bintools PROPERTY elfconvert_flag_intarget "-DINTARGET=") set_property(TARGET bintools PROPERTY elfconvert_flag_outtarget "-DOUTTARGET=") set_property(TARGET bintools PROPERTY elfconvert_flag_section_remove "-DREMOVE_SECTION=") set_property(TARGET bintools PROPERTY elfconvert_flag_section_only "-DONLY_SECTION=") # mwdt doesn't handle rename, consider adjusting abstraction. set_property(TARGET bintools PROPERTY elfconvert_flag_section_rename "-DRENAME_SECTION=") set_property(TARGET bintools PROPERTY elfconvert_flag_gapfill "-DGAP_FILL=") set_property(TARGET bintools PROPERTY elfconvert_flag_srec_len "-DSREC_LEN=") set_property(TARGET bintools PROPERTY elfconvert_flag_infile "-DINFILE=") set_property(TARGET bintools PROPERTY elfconvert_flag_outfile "-DOUTFILE=") # # - disassembly : Name of command for disassembly of files # In this implementation `fromelf` is used # disassembly_flag : --disassemble # disassembly_flag_final : empty # disassembly_flag_inline_source : --interleave=source # disassembly_flag_all : empty, fromelf does not differentiate on this. # disassembly_flag_infile : empty, fromelf doesn't take arguments for filenames # disassembly_flag_outfile : --output set_property(TARGET bintools PROPERTY disassembly_command ${CMAKE_FROMELF}) set_property(TARGET bintools PROPERTY disassembly_flag --disassemble) set_property(TARGET bintools PROPERTY disassembly_flag_final "") set_property(TARGET bintools PROPERTY disassembly_flag_inline_source --interleave=source) set_property(TARGET bintools PROPERTY disassembly_flag_all "") set_property(TARGET bintools PROPERTY disassembly_flag_infile "") set_property(TARGET bintools PROPERTY disassembly_flag_outfile "--output=" ) # # - readelf : Name of command for reading elf files. # In this implementation `fromelf` is used # readelf_flag : empty # readelf_flag_final : empty # readelf_flag_headers : --text # readelf_flag_infile : empty, fromelf doesn't take arguments for filenames # readelf_flag_outfile : --output # This is using fromelf from arm-ds / Keil. set_property(TARGET bintools PROPERTY readelf_command ${CMAKE_FROMELF}) set_property(TARGET bintools PROPERTY readelf_flag "") set_property(TARGET bintools PROPERTY readelf_flag_final "") set_property(TARGET bintools PROPERTY readelf_flag_headers --text) set_property(TARGET bintools PROPERTY readelf_flag_infile "") set_property(TARGET bintools PROPERTY readelf_flag_outfile "--output=")