diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2017-01-15 15:04:02 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2017-01-15 15:04:02 +0100 |
commit | 2155ab2b72cc4f076dc0a25d0e3a5fdd4d218998 (patch) | |
tree | 8f89f8a86b949382456a2813d467518033995782 /binutils.cmake | |
parent | 7bd30b64fb5eaccb9c4a78b0bb4413d5a476089c (diff) | |
download | mcu.cmake-2155ab2b72cc4f076dc0a25d0e3a5fdd4d218998.tar.gz mcu.cmake-2155ab2b72cc4f076dc0a25d0e3a5fdd4d218998.tar.bz2 mcu.cmake-2155ab2b72cc4f076dc0a25d0e3a5fdd4d218998.tar.xz mcu.cmake-2155ab2b72cc4f076dc0a25d0e3a5fdd4d218998.zip |
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.
Diffstat (limited to 'binutils.cmake')
-rw-r--r-- | binutils.cmake | 40 |
1 files changed, 40 insertions, 0 deletions
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() |