2017-01-19 16:37:33 +01:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
|
|
#
|
|
|
|
|
2021-07-04 17:31:21 +02:00
|
|
|
# These are library functions that may be overridden by architecture-
|
2017-01-20 15:24:59 +01:00
|
|
|
# specific implementations. Not all architectures support implementations
|
|
|
|
# for every library function.
|
|
|
|
|
2017-02-10 17:04:56 +01:00
|
|
|
menu "Architecture-Specific Support"
|
2017-02-10 16:32:55 +01:00
|
|
|
|
|
|
|
config ARCH_LOWPUTC
|
|
|
|
bool "Low-level console output"
|
|
|
|
default "y"
|
|
|
|
---help---
|
|
|
|
architecture supports low-level, boot time console output
|
|
|
|
|
|
|
|
config ARCH_ROMGETC
|
|
|
|
bool "Support for ROM string access"
|
|
|
|
default n
|
|
|
|
---help---
|
|
|
|
In Harvard architectures, data accesses and instruction accesses
|
|
|
|
occur on different buses, perhaps concurrently. All data accesses
|
|
|
|
are performed on the data bus unless special machine instructions
|
|
|
|
are used to read data from the instruction address space. Also, in
|
|
|
|
the typical MCU, the available SRAM data memory is much smaller that
|
|
|
|
the non-volatile FLASH instruction memory. So if the application
|
|
|
|
requires many constant strings, the only practical solution may be
|
|
|
|
to store those constant strings in FLASH memory where they can only
|
|
|
|
be accessed using architecture-specific machine instructions.
|
|
|
|
|
|
|
|
If ARCH_ROMGETC is defined, then the architecture logic must export
|
|
|
|
the function up_romgetc(). up_romgetc() will simply read one byte
|
|
|
|
of data from the instruction space.
|
|
|
|
|
|
|
|
If ARCH_ROMGETC is selected, certain C stdio functions are effected: (1)
|
|
|
|
All format strings in printf, fprintf, sprintf, etc. are assumed to lie
|
|
|
|
in FLASH (string arguments for %s are still assumed to reside in SRAM).
|
|
|
|
And (2), the string argument to puts and fputs is assumed to reside
|
|
|
|
in FLASH. Clearly, these assumptions may have to modified for the
|
|
|
|
particular needs of your environment. There is no "one-size-fits-all"
|
|
|
|
solution for this problem.
|
|
|
|
|
|
|
|
# Default settings for C library functions that may be replaced with
|
|
|
|
# architecture-specific versions.
|
|
|
|
|
2017-01-20 16:30:07 +01:00
|
|
|
config LIBC_ARCH_MEMCPY
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config LIBC_ARCH_MEMCMP
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config LIBC_ARCH_MEMMOVE
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config LIBC_ARCH_MEMSET
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config LIBC_ARCH_STRCHR
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config LIBC_ARCH_STRCMP
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config LIBC_ARCH_STRCPY
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-08-14 06:40:28 +02:00
|
|
|
config LIBC_ARCH_STRLCPY
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2017-01-20 16:30:07 +01:00
|
|
|
config LIBC_ARCH_STRNCPY
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config LIBC_ARCH_STRLEN
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config LIBC_ARCH_STRNLEN
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2017-01-21 21:40:26 +01:00
|
|
|
config LIBC_ARCH_ELF
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2020-05-31 20:41:11 +02:00
|
|
|
config LIBC_ARCH_ELF_64BIT
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
depends on LIBC_ARCH_ELF
|
|
|
|
|
2017-01-19 16:37:33 +01:00
|
|
|
config LIBM_ARCH_CEIL
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_FLOOR
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_NEARBYINT
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_RINT
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_ROUND
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_TRUNC
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_CEILF
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_FLOORF
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_NEARBYINTF
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_RINTF
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_ROUNDF
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
|
|
|
config LIBM_ARCH_TRUNCF
|
2017-01-20 16:30:07 +01:00
|
|
|
bool
|
2017-01-19 16:37:33 +01:00
|
|
|
default n
|
2020-11-26 13:27:27 +01:00
|
|
|
depends on LIBM
|
2017-01-19 16:37:33 +01:00
|
|
|
|
2017-01-20 16:30:07 +01:00
|
|
|
# One or more the of above may be selected by architecture specific logic
|
|
|
|
|
2017-01-21 20:43:45 +01:00
|
|
|
if ARCH_ARM
|
2018-05-29 21:21:26 +02:00
|
|
|
source libs/libc/machine/arm/Kconfig
|
2017-01-20 15:24:59 +01:00
|
|
|
endif
|
2020-02-08 00:10:23 +01:00
|
|
|
if ARCH_RISCV
|
|
|
|
source libs/libc/machine/risc-v/Kconfig
|
|
|
|
endif
|
2017-01-21 22:40:51 +01:00
|
|
|
if ARCH_SIM
|
2018-05-29 21:21:26 +02:00
|
|
|
source libs/libc/machine/sim/Kconfig
|
2017-01-21 22:40:51 +01:00
|
|
|
endif
|
|
|
|
if ARCH_X86
|
2018-05-29 21:21:26 +02:00
|
|
|
source libs/libc/machine/x86/Kconfig
|
2017-01-21 22:40:51 +01:00
|
|
|
endif
|
2020-03-05 03:26:21 +01:00
|
|
|
if ARCH_XTENSA
|
|
|
|
source libs/libc/machine/xtensa/Kconfig
|
|
|
|
endif
|
2021-06-28 23:59:30 +02:00
|
|
|
if ARCH_RENESAS
|
|
|
|
source libs/libc/machine/renesas/Kconfig
|
|
|
|
endif
|
2017-02-10 17:04:56 +01:00
|
|
|
|
2018-07-09 02:24:45 +02:00
|
|
|
endmenu # Architecture-Specific Support
|