1# Copyright (c) 2025 IAR Systems AB 2# 3# SPDX-License-Identifier: Apache-2.0 4 5config LD_LINKER_SCRIPT_SUPPORTED 6 default n 7 8choice LINKER_SCRIPT 9 default CMAKE_LINKER_GENERATOR 10endchoice 11 12menu "IAR options" 13 14choice IAR_INIT 15 bool "Static initialization method" 16 depends on XIP 17 default IAR_ZEPHYR_INIT 18 19config IAR_DATA_INIT 20 bool "IAR" 21 select SKIP_BSS_CLEAR # IAR handles zeroing. 22 help 23 IAR handles initialization of static variables. 24 Instead of `z_prep_c` calling Zephyrs `z_data_copy` 25 we call IARs own proprietary initialization method 26 which can save time and space. 27 28config IAR_ZEPHYR_INIT 29 bool "Zephyr" 30 help 31 Zephyr handles initialization of static variables. 32 This is the regular `z_data_copy`. 33 34endchoice 35 36 37config IAR_SEMIHOSTING 38 bool "Use the IAR semihosting implementation." 39 depends on IAR_LIBC 40 help 41 Use the semihosting implementation in the IAR library 42 instead of the Zephyr implementation. 43 44config IAR_BUFFERED_WRITE 45 bool "Use buffered write" 46 depends on IAR_SEMIHOSTING 47 help 48 Instead of printing one character at a time 49 this option uses a buffer to print a line 50 at a time instead, increasing speed of printout. 51 52endmenu 53 54config TOOLCHAIN_IAR_SUPPORTS_THREAD_LOCAL_STORAGE 55 def_bool y 56 select TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE 57 58# Should we set this? It doesn't seem to be used 59# We support most but don't set __GNUC__ 60# 61config TOOLCHAIN_IAR_SUPPORTS_GNU_EXTENSIONS 62 def_bool y 63 select TOOLCHAIN_SUPPORTS_GNU_EXTENSIONS 64