1## 2## ______ _ 3## / _____) _ | | 4## ( (____ _____ ____ _| |_ _____ ____| |__ 5## \____ \| ___ | (_ _) ___ |/ ___) _ \ 6## _____) ) ____| | | || |_| ____( (___| | | | 7## (______/|_____)_|_|_| \__)_____)\____)_| |_| 8## (C)2013-2017 Semtech 9## ___ _____ _ ___ _ _____ ___ ___ ___ ___ 10## / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __| 11## \__ \ | |/ _ \ (__| ' <| _| (_) | / (__| _| 12## |___/ |_/_/ \_\___|_|\_\_| \___/|_|_\\___|___| 13## embedded.connectivity.solutions.============== 14## 15## License: Revised BSD License, see LICENSE.TXT file included in the project 16## Authors: Johannes Bruder ( STACKFORCE ), Miguel Luis ( Semtech ) 17## 18## 19## CMake arm-none-eabi binutils integration and helper functions 20## 21 22 23#--------------------------------------------------------------------------------------- 24# Set tools 25#--------------------------------------------------------------------------------------- 26set(CMAKE_OBJCOPY ${TOOLCHAIN_BIN_DIR}/${TOOLCHAIN}-objcopy${TOOLCHAIN_EXT}) 27set(CMAKE_OBJDUMP ${TOOLCHAIN_BIN_DIR}/${TOOLCHAIN}-objdump${TOOLCHAIN_EXT}) 28set(CMAKE_SIZE ${TOOLCHAIN_BIN_DIR}/${TOOLCHAIN}-size${TOOLCHAIN_EXT}) 29 30 31#--------------------------------------------------------------------------------------- 32# Prints the section sizes 33#--------------------------------------------------------------------------------------- 34function(print_section_sizes TARGET) 35 add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND ${CMAKE_SIZE} ${TARGET}) 36endfunction() 37 38#--------------------------------------------------------------------------------------- 39# Creates output in hex format 40#--------------------------------------------------------------------------------------- 41function(create_hex_output TARGET) 42 add_custom_target(${TARGET}.hex ALL DEPENDS ${TARGET} COMMAND ${CMAKE_OBJCOPY} -Oihex ${TARGET} ${TARGET}.hex) 43endfunction() 44 45#--------------------------------------------------------------------------------------- 46# Creates output in binary format 47#--------------------------------------------------------------------------------------- 48function(create_bin_output TARGET) 49 add_custom_target(${TARGET}.bin ALL DEPENDS ${TARGET} COMMAND ${CMAKE_OBJCOPY} -Obinary ${TARGET} ${TARGET}.bin) 50endfunction() 51