规范第一版超声与红外代码函数,红外可以添加更多函数,待学习。同时修改CMakeList在生成bin与hex文件时的命名,以便区分。CMakeList与.h头文件的联动尚未实现。

This commit is contained in:
2024-10-10 14:56:13 +08:00
parent ea7d68e35e
commit 8ad278f76b
11 changed files with 133 additions and 1020 deletions

View File

@@ -33,6 +33,8 @@ find_program(CMAKE_OBJCOPY NAMES ${TARGET_TRIPLET}-objcopy HINTS ${TOOLCHAIN_BIN
find_program(CMAKE_OBJDUMP NAMES ${TARGET_TRIPLET}-objdump HINTS ${TOOLCHAIN_BIN_PATH})
find_program(CMAKE_SIZE NAMES ${TARGET_TRIPLET}-size HINTS ${TOOLCHAIN_BIN_PATH})
function(print_size_of_target TARGET)
add_custom_target(${TARGET}_always_display_size
ALL COMMAND ${CMAKE_SIZE} "$<TARGET_FILE:${TARGET}>"
@@ -41,12 +43,12 @@ function(print_size_of_target TARGET)
)
endfunction()
function(_generate_file TARGET OUTPUT_EXTENSION OBJCOPY_BFD_OUTPUT)
function(_generate_file TARGET PREFIX VERSION DATE OUTPUT_EXTENSION OBJCOPY_BFD_OUTPUT)
get_target_property(TARGET_OUTPUT_NAME ${TARGET} OUTPUT_NAME)
if (TARGET_OUTPUT_NAME)
set(OUTPUT_FILE_NAME "${TARGET_OUTPUT_NAME}.${OUTPUT_EXTENSION}")
set(OUTPUT_FILE_NAME "${PREFIX}_${POWER_VOLTAGE}_${VERSION}_${DATE}.${OUTPUT_EXTENSION}")
else()
set(OUTPUT_FILE_NAME "${TARGET}.${OUTPUT_EXTENSION}")
set(OUTPUT_FILE_NAME "${PREFIX}_${POWER_VOLTAGE}_${VERSION}_${DATE}.${OUTPUT_EXTENSION}")
endif()
get_target_property(RUNTIME_OUTPUT_DIRECTORY ${TARGET} RUNTIME_OUTPUT_DIRECTORY)
@@ -65,12 +67,12 @@ function(_generate_file TARGET OUTPUT_EXTENSION OBJCOPY_BFD_OUTPUT)
)
endfunction()
function(generate_binary_file TARGET)
_generate_file(${TARGET} "bin" "binary")
function(generate_binary_file TARGET PREFIX)
_generate_file(${TARGET} "${PREFIX}" "${VERSION}" "${CURRENT_DATE}" "bin" "binary")
endfunction()
function(generate_hex_file TARGET)
_generate_file(${TARGET} "hex" "ihex")
function(generate_hex_file TARGET PREFIX)
_generate_file(${TARGET} "${PREFIX}" "${VERSION}" "${CURRENT_DATE}" "hex" "ihex")
endfunction()
set(CMAKE_EXECUTABLE_SUFFIX_C .elf)