Просмотр исходного кода

Merge pull request #49 from grafalex82/dump-patch

Added Dump/Disassembly target
Konstantin Oblaukhov 8 лет назад
Родитель
Сommit
92682cbddc
1 измененных файлов с 10 добавлено и 0 удалено
  1. 10 0
      cmake/gcc_stm32.cmake

+ 10 - 0
cmake/gcc_stm32.cmake

@@ -59,6 +59,7 @@ SET(CMAKE_OBJCOPY ${TOOLCHAIN_BIN_DIR}/${TARGET_TRIPLET}-objcopy${TOOL_EXECUTABL
 SET(CMAKE_OBJDUMP ${TOOLCHAIN_BIN_DIR}/${TARGET_TRIPLET}-objdump${TOOL_EXECUTABLE_SUFFIX} CACHE INTERNAL "objdump tool")
 SET(CMAKE_SIZE ${TOOLCHAIN_BIN_DIR}/${TARGET_TRIPLET}-size${TOOL_EXECUTABLE_SUFFIX} CACHE INTERNAL "size tool")
 SET(CMAKE_DEBUGER ${TOOLCHAIN_BIN_DIR}/${TARGET_TRIPLET}-gdb${TOOL_EXECUTABLE_SUFFIX} CACHE INTERNAL "debuger")
+SET(CMAKE_CPPFILT ${TOOLCHAIN_BIN_DIR}/${TARGET_TRIPLET}-c++filt${TOOL_EXECUTABLE_SUFFIX} CACHE INTERNAL "C++filt")
 
 SET(CMAKE_C_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "c compiler flags debug")
 SET(CMAKE_CXX_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "cxx compiler flags debug")
@@ -85,6 +86,15 @@ FUNCTION(STM32_ADD_HEX_BIN_TARGETS TARGET)
     ADD_CUSTOM_TARGET(${TARGET}.bin DEPENDS ${TARGET} COMMAND ${CMAKE_OBJCOPY} -Obinary ${FILENAME} ${FILENAME}.bin)
 ENDFUNCTION()
 
+FUNCTION(STM32_ADD_DUMP_TARGET TARGET)
+    IF(EXECUTABLE_OUTPUT_PATH)
+      SET(FILENAME "${EXECUTABLE_OUTPUT_PATH}/${TARGET}")
+    ELSE()
+      SET(FILENAME "${TARGET}")
+    ENDIF()
+    ADD_CUSTOM_TARGET(${TARGET}.dump DEPENDS ${TARGET} COMMAND ${CMAKE_OBJDUMP} -x -D -S -s ${FILENAME} | ${CMAKE_CPPFILT} > ${FILENAME}.dump)
+ENDFUNCTION()
+
 FUNCTION(STM32_PRINT_SIZE_OF_TARGETS TARGET)
     IF(EXECUTABLE_OUTPUT_PATH)
       SET(FILENAME "${EXECUTABLE_OUTPUT_PATH}/${TARGET}")