Skip to content

Commit 3eb7d6e

Browse files
committed
Enhance IAR CMake support.
1 parent ccc59e8 commit 3eb7d6e

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

examples/build_system/cmake/cpu/cortex-m4.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ if (TOOLCHAIN STREQUAL "gcc")
1313
elseif (TOOLCHAIN STREQUAL "iar")
1414
set(TOOLCHAIN_COMMON_FLAGS
1515
--cpu cortex-m4
16-
--fpu VFPv4
16+
--fpu VFPv4_sp
1717
)
1818

1919
if (NOT DEFINED FREERTOS_PORT)

examples/build_system/cmake/toolchain/arm_iar.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ list(APPEND TOOLCHAIN_COMMON_FLAGS
2626
)
2727

2828
list(APPEND TOOLCHAIN_EXE_LINKER_FLAGS
29+
--diag_suppress=Li065
2930
)
3031

3132
include(${CMAKE_CURRENT_LIST_DIR}/set_flags.cmake)

hw/bsp/family_support.cmake

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ set(WARNING_FLAGS_GNU
7272
-Wredundant-decls
7373
)
7474

75-
set(WARNINGS_FLAGS_IAR "")
75+
set(WARNING_FLAGS_IAR "")
7676

7777

7878
# Filter example based on only.txt and skip.txt
@@ -191,10 +191,12 @@ function(family_configure_common TARGET RTOS)
191191
)
192192

193193
# run size after build
194-
add_custom_command(TARGET ${TARGET} POST_BUILD
195-
COMMAND ${CMAKE_SIZE} $<TARGET_FILE:${TARGET}>
196-
)
197-
194+
find_program(SIZE_EXE ${CMAKE_SIZE})
195+
if(NOT ${SIZE_EXE} STREQUAL SIZE_EXE-NOTFOUND)
196+
add_custom_command(TARGET ${TARGET} POST_BUILD
197+
COMMAND ${SIZE_EXE} $<TARGET_FILE:${TARGET}>
198+
)
199+
endif ()
198200
# Add warnings flags
199201
target_compile_options(${TARGET} PUBLIC ${WARNING_FLAGS_${CMAKE_C_COMPILER_ID}})
200202

@@ -205,6 +207,10 @@ function(family_configure_common TARGET RTOS)
205207
target_link_options(${TARGET} PUBLIC "LINKER:--no-warn-rwx-segments")
206208
endif ()
207209
endif()
210+
if (CMAKE_C_COMPILER_ID STREQUAL "IAR")
211+
target_link_options(${TARGET} PUBLIC "LINKER:--map=$<TARGET_FILE:${TARGET}>.map")
212+
endif()
213+
208214

209215
# ETM Trace option
210216
if (TRACE_ETM STREQUAL "1")
@@ -367,7 +373,7 @@ function(family_flash_jlink TARGET)
367373
endif ()
368374

369375
file(GENERATE
370-
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.jlink
376+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${TARGET}.jlink
371377
CONTENT "halt
372378
loadfile $<TARGET_FILE:${TARGET}>
373379
r
@@ -377,7 +383,7 @@ exit"
377383

378384
add_custom_target(${TARGET}-jlink
379385
DEPENDS ${TARGET}
380-
COMMAND ${JLINKEXE} -device ${JLINK_DEVICE} -if swd -JTAGConf -1,-1 -speed auto -CommandFile ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.jlink
386+
COMMAND ${JLINKEXE} -device ${JLINK_DEVICE} -if swd -JTAGConf -1,-1 -speed auto -CommandFile ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${TARGET}.jlink
381387
)
382388
endfunction()
383389

0 commit comments

Comments
 (0)