2012-10-25 22:06:46 +02:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
2015-06-28 16:14:53 +02:00
|
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
2012-10-25 22:06:46 +02:00
|
|
|
#
|
|
|
|
|
|
|
|
config EXAMPLES_ELF
|
|
|
|
bool "ELF Loader Example"
|
|
|
|
default n
|
2017-10-02 22:32:17 +02:00
|
|
|
select LIBC_EXECFUNCS
|
2018-08-04 21:10:40 +02:00
|
|
|
depends on ELF
|
2012-10-25 22:06:46 +02:00
|
|
|
---help---
|
|
|
|
Enable the ELF loader example
|
|
|
|
|
|
|
|
if EXAMPLES_ELF
|
2014-05-08 19:08:01 +02:00
|
|
|
|
2018-03-24 18:36:20 +01:00
|
|
|
choice
|
2018-08-04 21:10:40 +02:00
|
|
|
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
|
2018-03-24 18:36:20 +01:00
|
|
|
|
|
|
|
config EXAMPLES_ELF_ROMFS
|
|
|
|
bool "ROMFS"
|
2018-08-04 21:10:40 +02:00
|
|
|
depends on FS_ROMFS && BUILD_FLAT
|
2018-03-24 18:36:20 +01:00
|
|
|
|
|
|
|
config EXAMPLES_ELF_CROMFS
|
|
|
|
bool "CROMFS"
|
2018-08-04 21:10:40 +02:00
|
|
|
depends on FS_CROMFS && BUILD_FLAT
|
2018-03-24 18:36:20 +01:00
|
|
|
|
2018-08-04 21:10:40 +02:00
|
|
|
config EXAMPLES_ELF_EXTERN
|
|
|
|
bool "External File system"
|
2018-03-24 18:36:20 +01:00
|
|
|
|
2018-08-04 21:10:40 +02:00
|
|
|
endchoice # ROM File System
|
2018-03-24 18:36:20 +01:00
|
|
|
|
2018-08-05 00:24:02 +02:00
|
|
|
config EXAMPLES_ELF_FSMOUNT
|
|
|
|
bool "Mount external file system"
|
|
|
|
default y
|
|
|
|
depends on EXAMPLES_ELF_EXTERN
|
|
|
|
|
|
|
|
config EXAMPLES_ELF_FSREMOVEABLE
|
|
|
|
bool "Removable file system"
|
|
|
|
default n
|
|
|
|
depends on EXAMPLES_ELF_FSMOUNT
|
|
|
|
|
2018-03-24 18:36:20 +01:00
|
|
|
config EXAMPLES_ELF_DEVMINOR
|
|
|
|
int "ROMFS Minor Device Number"
|
|
|
|
default 0
|
2018-08-04 21:10:40 +02:00
|
|
|
depends on EXAMPLES_ELF_ROMFS
|
2018-03-24 18:36:20 +01:00
|
|
|
---help---
|
2018-08-04 21:10:40 +02:00
|
|
|
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
|
2018-03-24 18:36:20 +01:00
|
|
|
|
2018-08-04 21:10:40 +02:00
|
|
|
config EXAMPLES_ELF_FSTYPE
|
|
|
|
string "External file system type"
|
|
|
|
default "vfat"
|
2018-08-05 00:24:02 +02:00
|
|
|
depends on EXAMPLES_ELF_FSMOUNT
|
2018-03-24 18:36:20 +01:00
|
|
|
---help---
|
2018-08-04 21:10:40 +02:00
|
|
|
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
|
2018-03-24 18:36:20 +01:00
|
|
|
|
2018-08-04 21:10:40 +02:00
|
|
|
config EXAMPLES_ELF_DEVPATH
|
|
|
|
string "Block driver device path"
|
|
|
|
default "/dev/ram0" if EXAMPLES_ELF_ROMFS
|
2018-08-05 00:24:02 +02:00
|
|
|
default "/dev/mmcsd0" if EXAMPLES_ELF_FSMOUNT
|
|
|
|
depends on EXAMPLES_ELF_ROMFS || EXAMPLES_ELF_FSMOUNT
|
2018-08-04 21:10:40 +02:00
|
|
|
---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.
|
2018-03-24 18:36:20 +01:00
|
|
|
|
2018-03-25 18:13:50 +02:00
|
|
|
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.
|
|
|
|
|
2014-08-29 15:20:07 +02:00
|
|
|
config EXAMPLES_ELF_SYSCALL
|
|
|
|
bool "Link with SYSCALL library"
|
|
|
|
default n
|
2017-10-06 23:13:00 +02:00
|
|
|
depends on LIB_SYSCALL
|
2014-08-29 15:20:07 +02:00
|
|
|
---help---
|
2015-05-29 19:47:40 +02:00
|
|
|
Link with the SYSCALL library. By default, all undefined symbols
|
2014-08-29 15:20:07 +02:00
|
|
|
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
|
2018-07-16 20:10:16 +02:00
|
|
|
will link with the C library and will not require symbol table
|
|
|
|
entries. You probably will NOT want this option, however,
|
2014-08-29 15:20:07 +02:00
|
|
|
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.
|
|
|
|
|
2015-05-29 19:47:40 +02:00
|
|
|
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.
|
|
|
|
|
2012-10-25 22:06:46 +02:00
|
|
|
endif
|
2018-07-16 20:10:16 +02:00
|
|
|
|