mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-27 15:53:33 +08:00
Resync new repository with old repo r5166
git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5153 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
+354
@@ -0,0 +1,354 @@
|
||||
#
|
||||
# For a description of the syntax of this configuration file,
|
||||
# see misc/tools/kconfig-language.txt.
|
||||
#
|
||||
|
||||
mainmenu "Nuttx/$ARCH Configuration"
|
||||
|
||||
config APPSDIR
|
||||
string
|
||||
option env="APPSDIR"
|
||||
|
||||
# This is a temporary kludge to let the build system know that we are using the new
|
||||
# configuration system
|
||||
|
||||
config NUTTX_NEWCONFIG
|
||||
bool
|
||||
default y
|
||||
|
||||
menu "Build Setup"
|
||||
config EXPERIMENTAL
|
||||
bool "Prompt for development and/or incomplete code/drivers"
|
||||
|
||||
menu "Build Configuration"
|
||||
config APPS_DIR
|
||||
string "Application directory"
|
||||
default "../apps"
|
||||
---help---
|
||||
Identifies the directory that builds the
|
||||
application to link with NuttX. Default: ../apps This symbol must be assigned
|
||||
to the path to the application build directory *relative* to
|
||||
the NuttX top build direcory. If you had an application
|
||||
directory and the NuttX directory each in separate directory
|
||||
trees like this:
|
||||
|
||||
build
|
||||
|-nuttx
|
||||
| |
|
||||
| `- Makefile
|
||||
`-application
|
||||
|
|
||||
`- Makefile
|
||||
|
||||
Then you would set CONFIG_APPS_DIR=../application.
|
||||
|
||||
The application direction must contain Makefile and this make
|
||||
file must support the following targets:
|
||||
|
||||
libapps$(LIBEXT) (usually libapps.a). libapps.a is a static
|
||||
library ( an archive) that contains all of application object
|
||||
files.
|
||||
|
||||
clean. Do whatever is appropriate to clean the application
|
||||
directories for a fresh build.
|
||||
|
||||
distclean. Clean everthing -- auto-generated files, symbolic
|
||||
links etc. -- so that the directory contents are the same as
|
||||
the contents in your configuration management system.
|
||||
This is only done when you change the NuttX configuration.
|
||||
|
||||
depend. Make or update the application build dependencies.
|
||||
|
||||
When this application is invoked it will receive the setting TOPDIR like:
|
||||
|
||||
$(MAKE) -C $(CONFIG_APPS_DIR) TOPDIR="$(TOPDIR)" <target>
|
||||
|
||||
TOPDIR is the full path to the NuttX directory. It can be used, for
|
||||
example, to include makefile fragments (e.g., .config or Make.defs)
|
||||
or to set up include file paths.
|
||||
|
||||
config BUILD_2PASS
|
||||
bool "Two pass build"
|
||||
default n
|
||||
---help---
|
||||
Enables the two pass build options.
|
||||
|
||||
Two-pass build options. If the 2 pass build option is selected, then these
|
||||
options configure the make system build a extra link object. This link object
|
||||
is assumed to be an incremental (relative) link object, but could be a static
|
||||
library (archive) (some modification to this Makefile would be required if
|
||||
CONFIG_PASS1_TARGET generates an archive). Pass 1 1ncremental (relative) link
|
||||
objects should be put into the processor-specific source directory (where other
|
||||
link objects will be created). If the pass1 obect is an archive, it could
|
||||
go anywhere.
|
||||
|
||||
if BUILD_2PASS
|
||||
config PASS1_TARGET
|
||||
string "Pass one target"
|
||||
default ""
|
||||
---help---
|
||||
The name of the first pass build target. This
|
||||
can be specific build target, a special build target (all, default, etc.)
|
||||
or may just be left undefined.
|
||||
|
||||
config PASS1_BUILDIR
|
||||
string "Pass one build directory"
|
||||
default "build"
|
||||
---help---
|
||||
The path, relative to the top NuttX build
|
||||
directory to directory that contains the Makefile to build the
|
||||
first pass object. The Makefile must support the following targets:
|
||||
The special target CONFIG_PASS1_TARGET (if defined)
|
||||
and the usual depend, clean, and distclean targets.
|
||||
|
||||
config PASS1_OBJECT
|
||||
string "Pass one object"
|
||||
default ""
|
||||
---help---
|
||||
May be used to include an extra, pass1 object
|
||||
into the final link. This would probably be the object generated
|
||||
from the CONFIG_PASS1_TARGET. It may be available at link time
|
||||
in the arch/<architecture>/src directory.
|
||||
|
||||
config NUTTX_KERNEL
|
||||
bool "NuttX kernel build"
|
||||
default n
|
||||
---help---
|
||||
Builds NuttX as a separately compiled kernel.
|
||||
endif
|
||||
endmenu
|
||||
|
||||
menu "Binary Output Formats"
|
||||
|
||||
config RRLOAD_BINARY
|
||||
bool "rrload binary format"
|
||||
default n
|
||||
---help---
|
||||
Create nuttx.rr in the rrload binary format used with
|
||||
BSPs from www.ridgerun.com using the tools/mkimage.sh script.
|
||||
|
||||
config INTELHEX_BINARY
|
||||
bool "Intel HEX binary format"
|
||||
default n
|
||||
---help---
|
||||
Create the nuttx.hex in the Intel HEX binary format that is
|
||||
used with many different loaders. This option will use the GNU objcopy program
|
||||
and should not be selected if you are not using the GNU toolchain.
|
||||
|
||||
config MOTOROLA_SREC
|
||||
bool "Motorola S-Record binary format"
|
||||
default n
|
||||
---help---
|
||||
Create the nuttx.srec in the Motorola S-Record binary format that is
|
||||
used with many different loaders. This option will use the GNU objcopy program
|
||||
and should not be selected if you are not using the GNU toolchain.
|
||||
|
||||
config RAW_BINARY
|
||||
bool "Raw binary format"
|
||||
default n
|
||||
---help---
|
||||
Create the nuttx.bin in the raw binary format that is used with many
|
||||
different loaders using the GNU objcopy program. This option
|
||||
should not be selected if you are not using the GNU toolchain.
|
||||
endmenu
|
||||
|
||||
menu "Customize Header Files"
|
||||
|
||||
config ARCH_STDBOOL_H
|
||||
bool "stdbool.h"
|
||||
default n
|
||||
---help---
|
||||
The stdbool.h header file can be found at nuttx/include/stdbool.h.
|
||||
However, that header includes logic to redirect the inclusion of an
|
||||
architecture specific header file like:
|
||||
|
||||
#ifdef CONFIG_ARCH_STDBOOL_H
|
||||
# include <arch/stdbool.h>
|
||||
#else
|
||||
...
|
||||
#endif
|
||||
|
||||
Recall that that include path, include/arch, is a symbolic link and
|
||||
will refer to a version of stdbool.h at nuttx/arch/<architecture>/include/stdbool.h.
|
||||
|
||||
config ARCH_MATH_H
|
||||
bool "math.h"
|
||||
default n
|
||||
---help---
|
||||
There is also a re-directing version of math.h in the source tree.
|
||||
However, it resides out-of-the-way at include/nuttx/math.h because it
|
||||
conflicts too often with the system math.h. If ARCH_MATH_H=y is
|
||||
defined, however, the top-level makefile will copy the redirecting
|
||||
math.h header file from include/nuttx/math.h to include/math.h. math.h
|
||||
will then include the architecture-specific version of math.h that you
|
||||
must provide at nuttx/arch/>architecture</include/math.h.
|
||||
|
||||
#ifdef CONFIG_ARCH_MATH_H
|
||||
# include <arch/math.h>
|
||||
#endif
|
||||
|
||||
So for the architectures that define ARCH_MATH_H=y, include/math.h
|
||||
will be the redirecting math.h header file; for the architectures
|
||||
that don't select ARCH_MATH_H, the redirecting math.h header file
|
||||
will stay out-of-the-way in include/nuttx/.
|
||||
|
||||
config ARCH_STDARG_H
|
||||
bool "stdarg.h"
|
||||
default n
|
||||
---help---
|
||||
There is also a redirecting version of stdarg.h in the source tree
|
||||
as well. It also resides out-of-the-way at include/nuttx/stdarg.h.
|
||||
This is because you should normally use your toolchain's stdarg.h
|
||||
file. But sometimes, your toolchain's stdarg.h file may have other
|
||||
header file dependencies and so may not be usable in the NuttX build
|
||||
environment. In those cases, you may have to create a architecture-
|
||||
specific stdarg.h header file at nuttx/arch/<architecture>/include/stdarg.h
|
||||
|
||||
If ARCH_STDARG_H=y is defined, the top-level makefile will copy the
|
||||
re-directing stdarg.h header file from include/nuttx/stdarg.h to
|
||||
include/stdarg.h. So for the architectures that cannot use their
|
||||
toolchain's stdarg.h file, they can use this alternative by defining
|
||||
ARCH_STDARG_H=y and providing. If ARCH_STDARG_H, is not defined, then
|
||||
the stdarg.h header file will stay out-of-the-way in include/nuttx/.
|
||||
|
||||
endmenu
|
||||
|
||||
menu "Debug Options"
|
||||
|
||||
config DEBUG
|
||||
bool "Enable debug features"
|
||||
default n
|
||||
---help---
|
||||
Enables built-in debug features. Selecting this option will (1) Enable
|
||||
debug assertions in the code, (2) enable extended parameter testing in
|
||||
many functions, and (3) enable support for debug output. Note that enabling
|
||||
this option by itself does not produce debug output. Debug output must
|
||||
also be selected on a subsystem-by-subsystem basis.
|
||||
|
||||
if DEBUG
|
||||
config DEBUG_VERBOSE
|
||||
bool "Enable debug verbose output"
|
||||
default n
|
||||
---help---
|
||||
Enables verbose debug output (assuming debug output is enabled)
|
||||
|
||||
config DEBUG_ENABLE
|
||||
bool "Enable debug controls"
|
||||
default n
|
||||
---help---
|
||||
Support an interface to dynamically enable or disable debug output.
|
||||
|
||||
config DEBUG_SCHED
|
||||
bool "Enable scheduler debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable OS debug output (disabled by default)
|
||||
|
||||
config DEBUG_MM
|
||||
bool "Enable memory manager debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable memory management debug output (disabled by default)
|
||||
|
||||
config DEBUG_NET
|
||||
bool "Enable network debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable network debug output (disabled by default)
|
||||
|
||||
config DEBUG_USB
|
||||
bool "Enable USB debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable usb debug output (disabled by default)
|
||||
|
||||
config DEBUG_FS
|
||||
bool "Enable file system debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable file system debug output (disabled by default)
|
||||
|
||||
config DEBUG_LIB
|
||||
bool "Enable C library debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable C library debug output (disabled by default)
|
||||
|
||||
config DEBUG_BINFMT
|
||||
bool "Enable binary loader debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable binary loader debug output (disabled by default)
|
||||
|
||||
config DEBUG_GRAPHICS
|
||||
bool "Enable graphics debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable NX graphics debug output (disabled by default)
|
||||
|
||||
config DEBUG_I2C
|
||||
bool "Enable I2C debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable I2C driver debug output (disabled by default)
|
||||
|
||||
config DEBUG_SPI
|
||||
bool "Enable SPI debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable I2C driver debug output (disabled by default)
|
||||
|
||||
config DEBUG_WATCHDOG
|
||||
bool "Enable watchdog timer debug output"
|
||||
default n
|
||||
---help---
|
||||
Enable watchdog timer debug output (disabled by default)
|
||||
|
||||
endif
|
||||
|
||||
config DEBUG_SYMBOLS
|
||||
bool "Enable debug symbols"
|
||||
default n
|
||||
---help---
|
||||
Build without optimization and with debug symbols (needed
|
||||
for use with a debugger).
|
||||
endmenu
|
||||
endmenu
|
||||
|
||||
menu "System Type"
|
||||
source "arch/Kconfig"
|
||||
endmenu
|
||||
|
||||
menu "Board Selection"
|
||||
source "configs/Kconfig"
|
||||
endmenu
|
||||
|
||||
menu "RTOS Features"
|
||||
source sched/Kconfig
|
||||
endmenu
|
||||
|
||||
menu "Device Drivers"
|
||||
source drivers/Kconfig
|
||||
endmenu
|
||||
|
||||
menu "Networking Support"
|
||||
source net/Kconfig
|
||||
endmenu
|
||||
|
||||
menu "File Systems"
|
||||
source fs/Kconfig
|
||||
endmenu
|
||||
|
||||
menu "Memory Management"
|
||||
source mm/Kconfig
|
||||
endmenu
|
||||
|
||||
menu "Library Routines"
|
||||
source lib/Kconfig
|
||||
source libxx/Kconfig
|
||||
endmenu
|
||||
|
||||
menu "Application Configuration"
|
||||
source "$APPSDIR/Kconfig"
|
||||
endmenu
|
||||
|
||||
Reference in New Issue
Block a user