| # Copyright (c) 2025 IAR Systems AB |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config LD_LINKER_SCRIPT_SUPPORTED |
| default n |
| |
| choice LINKER_SCRIPT |
| default CMAKE_LINKER_GENERATOR |
| endchoice |
| |
| menu "IAR options" |
| |
| choice IAR_INIT |
| bool "Static initialization method" |
| depends on XIP |
| default IAR_ZEPHYR_INIT |
| |
| config IAR_DATA_INIT |
| bool "IAR" |
| select SKIP_BSS_CLEAR # IAR handles zeroing. |
| help |
| IAR handles initialization of static variables. |
| Instead of `z_prep_c` calling Zephyrs `arch_data_copy` |
| we call IARs own proprietary initialization method |
| which can save time and space. |
| |
| config IAR_ZEPHYR_INIT |
| bool "Zephyr" |
| help |
| Zephyr handles initialization of static variables. |
| This is the regular `arch_data_copy`. |
| |
| endchoice |
| |
| |
| config IAR_SEMIHOSTING |
| bool "Use the IAR semihosting implementation." |
| depends on IAR_LIBC |
| help |
| Use the semihosting implementation in the IAR library |
| instead of the Zephyr implementation. |
| |
| config IAR_BUFFERED_WRITE |
| bool "Use buffered write" |
| depends on IAR_SEMIHOSTING |
| help |
| Instead of printing one character at a time |
| this option uses a buffer to print a line |
| at a time instead, increasing speed of printout. |
| |
| endmenu |
| |
| config TOOLCHAIN_IAR_SUPPORTS_THREAD_LOCAL_STORAGE |
| def_bool y |
| select TOOLCHAIN_SUPPORTS_THREAD_LOCAL_STORAGE |
| |
| # Should we set this? It doesn't seem to be used |
| # We support most but don't set __GNUC__ |
| # |
| config TOOLCHAIN_IAR_SUPPORTS_GNU_EXTENSIONS |
| def_bool y |
| select TOOLCHAIN_SUPPORTS_GNU_EXTENSIONS |