From 2155ab2b72cc4f076dc0a25d0e3a5fdd4d218998 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 15 Jan 2017 15:04:02 +0100 Subject: o Adding a generic binutils part for creating the info files (.nm, disassembly, size, hex and bin files.) o Adding initial support for STM32F103xx chips. Can easily be expanded to all at least the F1 series. --- binutils.cmake | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 binutils.cmake (limited to 'binutils.cmake') diff --git a/binutils.cmake b/binutils.cmake new file mode 100644 index 0000000..742fb06 --- /dev/null +++ b/binutils.cmake @@ -0,0 +1,40 @@ +function(mcu_binutils_create_dump_targets TARGET) + if (MCU_ARM_OBJDUMP) + add_custom_command(TARGET ${TARGET} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${TARGET}-info + COMMAND ${MCU_ARM_OBJDUMP} -D ${TARGET} > ${TARGET}-info/${TARGET}.asm + BYPRODUCTS ${TARGET}-info/${TARGET}.asm) + endif () + + if (MCU_ARM_NM) + add_custom_command(TARGET ${TARGET} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${TARGET}-info + COMMAND ${MCU_ARM_NM} -C ${TARGET} > ${TARGET}-info/${TARGET}.nm + BYPRODUCTS ${TARGET}-info/${TARGET}.nm) + endif () + + if (MCU_ARM_SIZE) + add_custom_command(TARGET ${TARGET} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${TARGET}-info + COMMAND ${MCU_ARM_SIZE} ${TARGET} > ${TARGET}-info/${TARGET}.size + BYPRODUCTS ${TARGET}-info/${TARGET}.size) + endif () + + if (MCU_ARM_READELF) + add_custom_command(TARGET ${TARGET} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${TARGET}-info + COMMAND ${MCU_ARM_READELF} -a ${TARGET} > ${TARGET}-info/${TARGET}.readelf + BYPRODUCTS ${TARGET}-info/${TARGET}.readelf) + endif () + + if (MCU_ARM_OBJCOPY) + add_custom_command(TARGET ${TARGET} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${TARGET}-info + COMMAND ${MCU_ARM_OBJCOPY} -O ihex ${TARGET} ${TARGET}-info/${TARGET}.hex + BYPRODUCTS ${TARGET}-info/${TARGET}.hex) + add_custom_command(TARGET ${TARGET} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E make_directory ${TARGET}-info + COMMAND ${MCU_ARM_OBJCOPY} -O binary ${TARGET} ${TARGET}-info/${TARGET}.bin + BYPRODUCTS ${TARGET}-info/${TARGET}.bin) + endif () +endfunction() -- cgit v1.2.3