155 lines
5.2 KiB
Plaintext
155 lines
5.2 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
config EXAMPLES_ELF
|
|
tristate "ELF Loader Example"
|
|
default n
|
|
select LIBC_EXECFUNCS
|
|
depends on ELF
|
|
---help---
|
|
Enable the ELF loader example
|
|
|
|
if EXAMPLES_ELF
|
|
|
|
choice
|
|
prompt "ELF File System"
|
|
default EXAMPLES_ELF_ROMFS if FS_ROMFS && BUILD_FLAT
|
|
default EXAMPLES_ELF_CROMFS if !FS_ROMFS && FS_CROMFS && BUILD_FLAT
|
|
default EXAMPLES_ELF_EXTERN if (!FS_ROMFS && !FS_CROMFS) || !BUILD_FLAT
|
|
|
|
config EXAMPLES_ELF_ROMFS
|
|
bool "ROMFS"
|
|
depends on FS_ROMFS && BUILD_FLAT
|
|
---help---
|
|
Automatically generates and mounts an internal ROMFS file
|
|
system
|
|
|
|
config EXAMPLES_ELF_CROMFS
|
|
bool "CROMFS"
|
|
depends on FS_CROMFS && BUILD_FLAT
|
|
---help---
|
|
Automatically generates and mounts an internal CROMFS file
|
|
system
|
|
|
|
config EXAMPLES_ELF_EXTERN
|
|
bool "External File system"
|
|
---help---
|
|
The file system is assumed to reside on some external media
|
|
such as an SD card or a USB FLASH drive. In this case, that
|
|
external file system must be created manually by copying the
|
|
files in apps/examples/elf/tests/romfs to the volume.
|
|
|
|
The external volume can optionally be mounted by the test if
|
|
the CONFIG_EXAMPLES_FSMOUNT option is also selected.
|
|
|
|
endchoice # ROM File System
|
|
|
|
config EXAMPLES_ELF_FSMOUNT
|
|
bool "Mount external file system"
|
|
default y
|
|
depends on EXAMPLES_ELF_EXTERN
|
|
---help---
|
|
Automatically mount the external file system using the block
|
|
device provided by CONFIG_EXAMPLES_ELF_DEVPATH and the file
|
|
system type specified by CONFIG_EXAMPLES_ELF_FSTYPE.
|
|
|
|
config EXAMPLES_ELF_FSREMOVEABLE
|
|
bool "Removable file system"
|
|
default n
|
|
depends on EXAMPLES_ELF_FSMOUNT
|
|
---help---
|
|
If the external file system is on removable media such as an
|
|
SD card or a USB FLASH driver, then this option may be selected
|
|
to build in logic to wait for the media to be installed and
|
|
initialized before trying to mount it.
|
|
|
|
config EXAMPLES_ELF_DEVMINOR
|
|
int "ROMFS Minor Device Number"
|
|
default 0
|
|
depends on EXAMPLES_ELF_ROMFS
|
|
---help---
|
|
The minor device number of the ROMFS block. For example, the N in
|
|
/dev/ramN. Used for registering the RAM block driver that will hold
|
|
the ROMFS file system containing the ELF executables to be tested.
|
|
Default: 0
|
|
|
|
config EXAMPLES_ELF_FSTYPE
|
|
string "External file system type"
|
|
default "vfat"
|
|
depends on EXAMPLES_ELF_FSMOUNT
|
|
---help---
|
|
The type of the external file system as will be used in the mount()
|
|
command. Default: "vfat"
|
|
|
|
config EXAMPLES_ELF_DEVPATH
|
|
string "Block driver device path"
|
|
default "/dev/ram0" if EXAMPLES_ELF_ROMFS
|
|
default "/dev/mmcsd0" if EXAMPLES_ELF_FSMOUNT
|
|
depends on EXAMPLES_ELF_ROMFS || EXAMPLES_ELF_FSMOUNT
|
|
---help---
|
|
The path to the ROMFS/External block driver device. This must match
|
|
EXAMPLES_ELF_DEVMINOR for the case of ROMFS. Used for mounting the
|
|
file system containing the ELF executables to be tested. Default:
|
|
"/dev/ram0" for ROMFS, "/dev/mmcsd0" for the external file system.
|
|
|
|
config EXAMPLES_ELF_NOSTRIP
|
|
bool "Do not strip debug symbols"
|
|
default n
|
|
depends on DEBUG_SYMBOLS
|
|
---help---
|
|
By default, if debug symbols are enabled (via CONFIG_DEBUG_SYMBOLS), then the
|
|
ELF executables will also retain debug symbols in the resulting ELF binaries.
|
|
Select this option if you do not want that behavior, this option will permit
|
|
debug symbols in the base code but will strip debug symbols out of the ELF
|
|
binaries for a smaller ROM file system image.
|
|
|
|
config EXAMPLES_ELF_SYSCALL
|
|
bool "Link with SYSCALL library"
|
|
default n
|
|
depends on LIB_SYSCALL
|
|
---help---
|
|
Link with the SYSCALL library. By default, all undefined symbols
|
|
must be provided via a symbol table. But if this option is
|
|
selected, then each ELF test program will link with the SYSCALL
|
|
library and will interface with the OS system calls. In this case,
|
|
those symbols will not be undefined. If the SYSCALL library is
|
|
available then you probably will want to select this option.
|
|
|
|
config EXAMPLES_ELF_LIBC
|
|
bool "Link with LIBC"
|
|
default n
|
|
---help---
|
|
Link with the C library (and also math library if it was built).
|
|
By default, all undefined symbols must be provided via a symbol
|
|
table. But if this option is selected, then each ELF test program
|
|
will link with the C library and will not require symbol table
|
|
entries. You probably will NOT want this option, however,
|
|
because it will substantially increase the size of code. For
|
|
example, a separate copy of printf() would be linked with every
|
|
program greatly increasing the total code size. This option is
|
|
primarily intended only for testing.
|
|
|
|
config EXAMPLES_ELF_CXXINITIALIZE
|
|
bool "C++ Initialization"
|
|
default y
|
|
depends on HAVE_CXX && HAVE_CXXINITIALIZE
|
|
---help---
|
|
By default, if CONFIG_HAVE_CXX and CONFIG_HAVE_CXXINITIALIZE are
|
|
defined, then this example will call the NuttX function to
|
|
initialize static C++ constructors. This option may be disabled,
|
|
however, if that static initialization was performed elsewhere.
|
|
|
|
config EXAMPLES_ELF_UCLIBCXX
|
|
bool "uClibc++ is installed"
|
|
default n
|
|
depends on UCLIBCXX
|
|
---help---
|
|
By default, uClibc++ is not installed and configured. If the
|
|
user installs and configures the C++ standard library, this
|
|
example will compile the demos using it.
|
|
|
|
endif
|
|
|