summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2023-12-14 18:48:19 +0700
committerGitHub <[email protected]>2023-12-14 18:48:19 +0700
commit9474db8b0fc3e96d654ed49529b82bbd329f2f56 (patch)
treed6851301d5592b13fb70a8d32dae9d275ad3b69c /hw
parent5a0c21a0aa1a288c5c1a1455973e9933e685453b (diff)
parent6fda6e16f8a999a05d77c27f3bd4ee6aee7a6bb0 (diff)
Merge pull request #2376 from HiFiPhile/iar_cmake
IAR CMake native support
Diffstat (limited to 'hw')
-rw-r--r--hw/bsp/family_support.cmake20
1 files changed, 13 insertions, 7 deletions
diff --git a/hw/bsp/family_support.cmake b/hw/bsp/family_support.cmake
index bd072e89d..539a776a6 100644
--- a/hw/bsp/family_support.cmake
+++ b/hw/bsp/family_support.cmake
@@ -72,7 +72,7 @@ set(WARNING_FLAGS_GNU
-Wredundant-decls
)
-set(WARNINGS_FLAGS_IAR "")
+set(WARNING_FLAGS_IAR "")
# Filter example based on only.txt and skip.txt
@@ -191,10 +191,12 @@ function(family_configure_common TARGET RTOS)
)
# run size after build
- add_custom_command(TARGET ${TARGET} POST_BUILD
- COMMAND ${CMAKE_SIZE} $<TARGET_FILE:${TARGET}>
- )
-
+ find_program(SIZE_EXE ${CMAKE_SIZE})
+ if(NOT ${SIZE_EXE} STREQUAL SIZE_EXE-NOTFOUND)
+ add_custom_command(TARGET ${TARGET} POST_BUILD
+ COMMAND ${SIZE_EXE} $<TARGET_FILE:${TARGET}>
+ )
+ endif ()
# Add warnings flags
target_compile_options(${TARGET} PUBLIC ${WARNING_FLAGS_${CMAKE_C_COMPILER_ID}})
@@ -205,6 +207,10 @@ function(family_configure_common TARGET RTOS)
target_link_options(${TARGET} PUBLIC "LINKER:--no-warn-rwx-segments")
endif ()
endif()
+ if (CMAKE_C_COMPILER_ID STREQUAL "IAR")
+ target_link_options(${TARGET} PUBLIC "LINKER:--map=$<TARGET_FILE:${TARGET}>.map")
+ endif()
+
# ETM Trace option
if (TRACE_ETM STREQUAL "1")
@@ -367,7 +373,7 @@ function(family_flash_jlink TARGET)
endif ()
file(GENERATE
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.jlink
+ OUTPUT $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.jlink
CONTENT "halt
loadfile $<TARGET_FILE:${TARGET}>
r
@@ -377,7 +383,7 @@ exit"
add_custom_target(${TARGET}-jlink
DEPENDS ${TARGET}
- COMMAND ${JLINKEXE} -device ${JLINK_DEVICE} -if swd -JTAGConf -1,-1 -speed auto -CommandFile ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.jlink
+ COMMAND ${JLINKEXE} -device ${JLINK_DEVICE} -if swd -JTAGConf -1,-1 -speed auto -CommandFile $<TARGET_FILE_DIR:${TARGET}>/${TARGET}.jlink
)
endfunction()