Update a README; Refresh a configuratino

This commit is contained in:
Gregory Nutt 2014-10-11 12:01:33 -06:00
parent c0b703ac73
commit 111270389d
2 changed files with 223 additions and 110 deletions

View File

@ -10,6 +10,7 @@ README
- Notes about Header Files
o Configuring NuttX
- Instantiating "Canned" Configurations
- Refreshing Configurations
- NuttX Configuration Tool
- Incompatibilities with Older Configurations
- NuttX Configuration Tool under DOS
@ -224,53 +225,67 @@ CONFIGURING NUTTX
Instantiating "Canned" Configurations
-------------------------------------
"Canned" NuttX configuration files are retained in:
"Canned" NuttX configuration files are retained in:
configs/<board-name>/<config-dir>
configs/<board-name>/<config-dir>
Where <board-name> is the name of your development board and <config-dir>.
Configuring NuttX requires only copying three files from the <config-dir>
to the directory where you installed NuttX (TOPDIR) (and sometimes one
additional file to the directory the NuttX application package (APPSDIR)):
Where <board-name> is the name of your development board and <config-dir>.
Configuring NuttX requires only copying three files from the <config-dir>
to the directory where you installed NuttX (TOPDIR) (and sometimes one
additional file to the directory the NuttX application package (APPSDIR)):
Copy configs/<board-name>/<config-dir>/Make.def to ${TOPDIR}/Make.defs
Copy configs/<board-name>/<config-dir>/Make.def to ${TOPDIR}/Make.defs
Make.defs describes the rules needed by you tool chain to compile
and link code. You may need to modify this file to match the
specific needs of your toolchain.
Make.defs describes the rules needed by you tool chain to compile
and link code. You may need to modify this file to match the
specific needs of your toolchain.
Copy configs/<board-name>/<config-dir>/setenv.sh to ${TOPDIR}/setenv.sh
Copy configs/<board-name>/<config-dir>/setenv.sh to ${TOPDIR}/setenv.sh
setenv.sh is an optional convenience file that I use to set
the PATH variable to the toolchain binaries. You may chose to
use setenv.sh or not. If you use it, then it may need to be
modified to include the path to your toolchain binaries.
setenv.sh is an optional convenience file that I use to set
the PATH variable to the toolchain binaries. You may chose to
use setenv.sh or not. If you use it, then it may need to be
modified to include the path to your toolchain binaries.
Copy configs/<board-name>/<config-dir>/defconfig to ${TOPDIR}/.config
Copy configs/<board-name>/<config-dir>/defconfig to ${TOPDIR}/.config
The defconfig file holds the actual build configuration. This
file is included by all other make files to determine what is
included in the build and what is not. This file is also used
to generate a C configuration header at include/nuttx/config.h.
The defconfig file holds the actual build configuration. This
file is included by all other make files to determine what is
included in the build and what is not. This file is also used
to generate a C configuration header at include/nuttx/config.h.
General information about configuring NuttX can be found in:
General information about configuring NuttX can be found in:
${TOPDIR}/configs/README.txt
${TOPDIR}/configs/<board-name>/README.txt
${TOPDIR}/configs/README.txt
${TOPDIR}/configs/<board-name>/README.txt
There is a configuration script in the tools/ directory that makes this
easier. It is used as follows:
There is a configuration script in the tools/ directory that makes this
easier. It is used as follows:
cd ${TOPDIR}/tools
./configure.sh <board-name>/<config-dir>
cd ${TOPDIR}/tools
./configure.sh <board-name>/<config-dir>
There is an alternative Windows batch file that can be used in the
windows native environment like:
There is an alternative Windows batch file that can be used in the
windows native environment like:
cd ${TOPDIR}\tools
configure.bat <board-name>\<config-dir>
cd ${TOPDIR}\tools
configure.bat <board-name>\<config-dir>
See tools/README.txt for more information about these scripts.
See tools/README.txt for more information about these scripts.
Refreshing Configurations
-------------------------
Configurations can get out of data. It is a good practice to "refresh"
each configuration before making. To refresh the configuration, use the
NuttX Configuration Tool like this:
make oldconfig
If you configuration is out of date, you will be prompted to resolve the
issues detected by the configuration tool. Doing this can save you a lot
of problems done the road due to a bad configuration. The NuttX
onfiguration is discussed in the following paragraph.
NuttX Configuration Tool
------------------------

View File

@ -17,6 +17,7 @@ CONFIG_HOST_LINUX=y
# Build Configuration
#
# CONFIG_APPS_DIR="../apps"
CONFIG_BUILD_FLAT=y
# CONFIG_BUILD_2PASS is not set
#
@ -26,6 +27,7 @@ CONFIG_HOST_LINUX=y
# CONFIG_INTELHEX_BINARY is not set
# CONFIG_MOTOROLA_SREC is not set
# CONFIG_RAW_BINARY is not set
# CONFIG_UBOOT_UIMAGE is not set
#
# Customize Header Files
@ -65,6 +67,8 @@ CONFIG_ARCH="sim"
#
# Simulation Configuration Options
#
CONFIG_HOST_X86_64=y
# CONFIG_HOST_X86 is not set
# CONFIG_SIM_M32 is not set
# CONFIG_SIM_WALLTIME is not set
CONFIG_SIM_FRAMEBUFFER=y
@ -73,6 +77,7 @@ CONFIG_SIM_X11FB=y
CONFIG_SIM_FBHEIGHT=240
CONFIG_SIM_FBWIDTH=480
CONFIG_SIM_FBBPP=32
# CONFIG_SIM_SPIFLASH is not set
#
# Architecture Options
@ -81,10 +86,15 @@ CONFIG_SIM_FBBPP=32
# CONFIG_ARCH_VECNOTIRQ is not set
# CONFIG_ARCH_DMA is not set
# CONFIG_ARCH_HAVE_IRQPRIO is not set
# CONFIG_ARCH_ADDRENV is not set
# CONFIG_ARCH_L2CACHE is not set
# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set
# CONFIG_ARCH_HAVE_ADDRENV is not set
# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set
# CONFIG_ARCH_HAVE_VFORK is not set
# CONFIG_ARCH_HAVE_MMU is not set
# CONFIG_ARCH_HAVE_MPU is not set
# CONFIG_ARCH_NAND_HWECC is not set
# CONFIG_ARCH_HAVE_EXTCLK is not set
# CONFIG_ARCH_STACKDUMP is not set
# CONFIG_ENDIAN_BIG is not set
# CONFIG_ARCH_IDLE_CUSTOM is not set
@ -138,30 +148,6 @@ CONFIG_NSH_MMCSDMINOR=0
#
# RTOS Features
#
# CONFIG_BOARD_INITIALIZE is not set
CONFIG_USEC_PER_TICK=10000
# CONFIG_SYSTEM_TIME64 is not set
CONFIG_RR_INTERVAL=0
# CONFIG_SCHED_CPULOAD is not set
# CONFIG_SCHED_INSTRUMENTATION is not set
CONFIG_TASK_NAME_SIZE=32
# CONFIG_SCHED_HAVE_PARENT is not set
# CONFIG_JULIAN_TIME is not set
CONFIG_START_YEAR=2012
CONFIG_START_MONTH=5
CONFIG_START_DAY=1
CONFIG_DEV_CONSOLE=y
# CONFIG_MUTEX_TYPES is not set
# CONFIG_PRIORITY_INHERITANCE is not set
# CONFIG_FDCLONE_DISABLE is not set
# CONFIG_FDCLONE_STDIO is not set
CONFIG_SDCLONE_DISABLE=y
CONFIG_SCHED_WAITPID=y
# CONFIG_SCHED_STARTHOOK is not set
# CONFIG_SCHED_ATEXIT is not set
CONFIG_SCHED_ONEXIT=y
CONFIG_SCHED_ONEXIT_MAX=1
CONFIG_USER_ENTRYPOINT="nxwm_main"
CONFIG_DISABLE_OS_API=y
CONFIG_DISABLE_POSIX_TIMERS=y
# CONFIG_DISABLE_PTHREAD is not set
@ -169,6 +155,70 @@ CONFIG_DISABLE_POSIX_TIMERS=y
# CONFIG_DISABLE_MQUEUE is not set
# CONFIG_DISABLE_ENVIRON is not set
#
# Clocks and Timers
#
CONFIG_ARCH_HAVE_TICKLESS=y
# CONFIG_SCHED_TICKLESS is not set
CONFIG_USEC_PER_TICK=10000
# CONFIG_SYSTEM_TIME64 is not set
# CONFIG_CLOCK_MONOTONIC is not set
# CONFIG_JULIAN_TIME is not set
CONFIG_START_YEAR=2012
CONFIG_START_MONTH=5
CONFIG_START_DAY=1
CONFIG_MAX_WDOGPARMS=4
CONFIG_PREALLOC_WDOGS=32
CONFIG_WDOG_INTRESERVE=4
CONFIG_PREALLOC_TIMERS=8
#
# Tasks and Scheduling
#
# CONFIG_INIT_NONE is not set
CONFIG_INIT_ENTRYPOINT=y
# CONFIG_INIT_FILEPATH is not set
CONFIG_USER_ENTRYPOINT="nxwm_main"
CONFIG_RR_INTERVAL=0
CONFIG_TASK_NAME_SIZE=32
CONFIG_MAX_TASK_ARGS=4
CONFIG_MAX_TASKS=16
# CONFIG_SCHED_HAVE_PARENT is not set
CONFIG_SCHED_WAITPID=y
#
# Pthread Options
#
# CONFIG_MUTEX_TYPES is not set
CONFIG_NPTHREAD_KEYS=4
#
# Performance Monitoring
#
# CONFIG_SCHED_CPULOAD is not set
# CONFIG_SCHED_INSTRUMENTATION is not set
#
# Files and I/O
#
CONFIG_DEV_CONSOLE=y
# CONFIG_FDCLONE_DISABLE is not set
# CONFIG_FDCLONE_STDIO is not set
CONFIG_SDCLONE_DISABLE=y
CONFIG_NFILE_DESCRIPTORS=16
CONFIG_NFILE_STREAMS=16
CONFIG_NAME_MAX=32
# CONFIG_PRIORITY_INHERITANCE is not set
#
# RTOS hooks
#
# CONFIG_BOARD_INITIALIZE is not set
# CONFIG_SCHED_STARTHOOK is not set
# CONFIG_SCHED_ATEXIT is not set
CONFIG_SCHED_ONEXIT=y
CONFIG_SCHED_ONEXIT_MAX=1
#
# Signal Numbers
#
@ -179,20 +229,10 @@ CONFIG_SIG_SIGCONDTIMEDOUT=16
CONFIG_SIG_SIGWORK=17
#
# Sizes of configurable things (0 disables)
# POSIX Message Queue Options
#
CONFIG_MAX_TASKS=16
CONFIG_MAX_TASK_ARGS=4
CONFIG_NPTHREAD_KEYS=4
CONFIG_NFILE_DESCRIPTORS=16
CONFIG_NFILE_STREAMS=16
CONFIG_NAME_MAX=32
CONFIG_PREALLOC_MQ_MSGS=32
CONFIG_MQ_MAXMSGSIZE=48
CONFIG_MAX_WDOGPARMS=4
CONFIG_PREALLOC_WDOGS=32
CONFIG_WDOG_INTRESERVE=4
CONFIG_PREALLOC_TIMERS=8
#
# Stack and heap information
@ -201,6 +241,7 @@ CONFIG_IDLETHREAD_STACKSIZE=8192
CONFIG_USERMAIN_STACKSIZE=8192
CONFIG_PTHREAD_STACK_MIN=256
CONFIG_PTHREAD_STACK_DEFAULT=8192
# CONFIG_LIB_SYSCALL is not set
#
# Device Drivers
@ -209,6 +250,12 @@ CONFIG_DISABLE_POLL=y
CONFIG_DEV_NULL=y
# CONFIG_DEV_ZERO is not set
# CONFIG_LOOP is not set
#
# Buffering
#
# CONFIG_DRVR_WRITEBUFFER is not set
# CONFIG_DRVR_READAHEAD is not set
# CONFIG_RAMDISK is not set
# CONFIG_CAN is not set
# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set
@ -219,6 +266,7 @@ CONFIG_DEV_NULL=y
# CONFIG_I2S is not set
# CONFIG_RTC is not set
# CONFIG_WATCHDOG is not set
# CONFIG_TIMER is not set
# CONFIG_ANALOG is not set
# CONFIG_AUDIO_DEVICES is not set
# CONFIG_VIDEO_DEVICES is not set
@ -284,6 +332,11 @@ CONFIG_SERIAL=y
# CONFIG_ARCH_HAVE_PHY is not set
# CONFIG_NET is not set
#
# Crypto API
#
# CONFIG_CRYPTO is not set
#
# File Systems
#
@ -292,9 +345,12 @@ CONFIG_SERIAL=y
# File system configuration
#
# CONFIG_DISABLE_MOUNTPOINT is not set
# CONFIG_FS_AUTOMOUNTER is not set
# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set
CONFIG_FS_READABLE=y
CONFIG_FS_WRITABLE=y
# CONFIG_FS_NAMED_SEMAPHORES is not set
CONFIG_FS_MQUEUE_MPATH="/var/mqueue"
# CONFIG_FS_RAMMAP is not set
CONFIG_FS_FAT=y
CONFIG_FAT_LCNAMES=y
@ -310,7 +366,6 @@ CONFIG_FS_ROMFS=y
#
# System Logging
#
# CONFIG_SYSLOG is not set
#
@ -318,6 +373,7 @@ CONFIG_FS_ROMFS=y
#
CONFIG_NX=y
CONFIG_NX_NPLANES=1
CONFIG_NX_BGCOLOR=0x0
# CONFIG_NX_WRITEONLY is not set
#
@ -335,7 +391,10 @@ CONFIG_NX_DISABLE_24BPP=y
#
# Input Devices
#
CONFIG_NX_XYINPUT=y
# CONFIG_NX_XYINPUT is not set
CONFIG_NX_XYINPUT_NONE=y
# CONFIG_NX_XYINPUT_MOUSE is not set
# CONFIG_NX_XYINPUT_TOUCHSCREEN is not set
CONFIG_NX_KBD=y
#
@ -444,6 +503,7 @@ CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048
# CONFIG_LIBC_STRERROR is not set
# CONFIG_LIBC_PERROR_STDOUT is not set
CONFIG_ARCH_LOWPUTC=y
# CONFIG_LIBC_LOCALTIME is not set
CONFIG_LIB_SENDFILE_BUFSIZE=512
# CONFIG_ARCH_ROMGETC is not set
# CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set
@ -487,6 +547,7 @@ CONFIG_HAVE_CXX=y
# CONFIG_EXAMPLES_BUTTONS is not set
# CONFIG_EXAMPLES_CAN is not set
# CONFIG_EXAMPLES_CONFIGDATA is not set
# CONFIG_EXAMPLES_CPUHOG is not set
# CONFIG_EXAMPLES_CXXTEST is not set
# CONFIG_EXAMPLES_DHCPD is not set
# CONFIG_EXAMPLES_ELF is not set
@ -498,7 +559,6 @@ CONFIG_HAVE_CXX=y
# CONFIG_EXAMPLES_HIDKBD is not set
# CONFIG_EXAMPLES_KEYPADTEST is not set
# CONFIG_EXAMPLES_IGMP is not set
# CONFIG_EXAMPLES_LCDRW is not set
# CONFIG_EXAMPLES_MM is not set
# CONFIG_EXAMPLES_MODBUS is not set
# CONFIG_EXAMPLES_MOUNT is not set
@ -514,7 +574,6 @@ CONFIG_HAVE_CXX=y
# CONFIG_EXAMPLES_NXLINES is not set
# CONFIG_EXAMPLES_NXTEXT is not set
# CONFIG_EXAMPLES_OSTEST is not set
# CONFIG_EXAMPLES_PASHELLO is not set
# CONFIG_EXAMPLES_PIPE is not set
# CONFIG_EXAMPLES_POLL is not set
# CONFIG_EXAMPLES_POSIXSPAWN is not set
@ -522,6 +581,8 @@ CONFIG_HAVE_CXX=y
# CONFIG_EXAMPLES_RGMP is not set
# CONFIG_EXAMPLES_ROMFS is not set
# CONFIG_EXAMPLES_SENDMAIL is not set
# CONFIG_EXAMPLES_SERIALBLASTER is not set
# CONFIG_EXAMPLES_SERIALRX is not set
# CONFIG_EXAMPLES_SERLOOP is not set
# CONFIG_EXAMPLES_SLCD is not set
# CONFIG_EXAMPLES_SMART is not set
@ -574,8 +635,20 @@ CONFIG_HAVE_CXX=y
# NSH Library
#
CONFIG_NSH_LIBRARY=y
#
# Command Line Configuration
#
CONFIG_NSH_READLINE=y
# CONFIG_NSH_CLE is not set
CONFIG_NSH_LINELEN=80
# CONFIG_NSH_DISABLE_SEMICOLON is not set
CONFIG_NSH_CMDPARMS=y
CONFIG_NSH_TMPDIR="/tmp"
CONFIG_NSH_MAXARGUMENTS=6
CONFIG_NSH_ARGCAT=y
CONFIG_NSH_NESTDEPTH=3
# CONFIG_NSH_DISABLEBG is not set
#
# Disable Individual commands
@ -629,33 +702,31 @@ CONFIG_NSH_READLINE=y
CONFIG_NSH_CODECS_BUFSIZE=128
# CONFIG_NSH_CMDOPT_HEXDUMP is not set
CONFIG_NSH_FILEIOSIZE=1024
CONFIG_NSH_LINELEN=80
# CONFIG_NSH_DISABLE_SEMICOLON is not set
CONFIG_NSH_CMDPARMS=y
CONFIG_NSH_TMPDIR="/tmp"
CONFIG_NSH_MAXARGUMENTS=6
CONFIG_NSH_ARGCAT=y
CONFIG_NSH_NESTDEPTH=3
#
# Scripting Support
#
# CONFIG_NSH_DISABLESCRIPT is not set
# CONFIG_NSH_DISABLE_ITEF is not set
# CONFIG_NSH_DISABLE_LOOPS is not set
# CONFIG_NSH_DISABLEBG is not set
CONFIG_NSH_ROMFSETC=y
# CONFIG_NSH_ROMFSRC is not set
CONFIG_NSH_ROMFSMOUNTPT="/etc"
CONFIG_NSH_INITSCRIPT="init.d/rcS"
CONFIG_NSH_ROMFSDEVNO=1
CONFIG_NSH_ROMFSSECTSIZE=64
CONFIG_NSH_DEFAULTROMFS=y
# CONFIG_NSH_ARCHROMFS is not set
# CONFIG_NSH_CUSTOMROMFS is not set
CONFIG_NSH_FATDEVNO=2
CONFIG_NSH_FATSECTSIZE=512
CONFIG_NSH_FATNSECTORS=1024
CONFIG_NSH_FATMOUNTPT="/tmp"
CONFIG_NSH_CONSOLE=y
#
# USB Trace Support
# Console Configuration
#
CONFIG_NSH_CONSOLE=y
# CONFIG_NSH_ALTCONDEV is not set
# CONFIG_NSH_ARCHINIT is not set
@ -707,9 +778,10 @@ CONFIG_NXWIDGETS_CURSORCONTROL_SIZE=4
CONFIG_NXWM=y
#
# NxWM General settings
# NxWM General Settings
#
# CONFIG_NXWM_SYSTEM_CUSTOM_FONTID is not set
# CONFIG_NXWM_LARGE_ICONS is not set
# CONFIG_NXWM_CUSTOM_FONTID is not set
CONFIG_NXWM_UNITTEST=y
#
@ -747,6 +819,7 @@ CONFIG_NXWM_TASKBAR_LEFT=y
# NxWM Toolbar Configuration
#
# CONFIG_NXWM_CUSTOM_TOOLBAR_HEIGHT is not set
# CONFIG_NXWM_TOOLBAR_CUSTOM_FONTID is not set
#
# NxWM Application Window Configuration
@ -768,6 +841,10 @@ CONFIG_NXWM_STARTWINDOW_MXMSGS=32
CONFIG_NXWM_STARTWINDOW_MXMPRIO=42
CONFIG_NXWM_STARTWINDOW_PRIO=100
CONFIG_NXWM_STARTWINDOW_STACKSIZE=2048
#
# NxTerm Window Settings
#
CONFIG_NXWM_NXTERM=y
CONFIG_NXWM_NXTERM_PRIO=100
CONFIG_NXWM_NXTERM_STACKSIZE=8192
@ -786,7 +863,7 @@ CONFIG_NXWM_NXTERM_STACKSIZE=8192
# CONFIG_NXWM_KEYBOARD is not set
#
# NxWM Calibration display settings
# NxWM Calibration Display Settings
#
CONFIG_NXWM_CALIBRATION_MARGIN=40
# CONFIG_NXWM_CALIBRATION_CUSTOM_COLORS is not set
@ -798,12 +875,15 @@ CONFIG_NXWM_CALIBRATION_LISTENERPRIO=100
CONFIG_NXWM_CALIBRATION_LISTENERSTACK=2048
#
# NxWM Hex Calculator display settings
# NxWM Hex Calculator Display Settings
#
# CONFIG_NXWM_HEXCALCULATOR_CUSTOM_COLORS is not set
# CONFIG_NXWM_CUSTOM_HEXCALCULATOR_ICON is not set
# CONFIG_NXWM_HEXCALCULATOR_CUSTOM_FONTID is not set
# CONFIG_NXWM_MEDIAPLAYER is not set
#
# NxWM Media Player Display Settings
#
#
# Platform-specific Support
@ -814,27 +894,15 @@ CONFIG_NXWM_CALIBRATION_LISTENERSTACK=2048
# System Libraries and NSH Add-Ons
#
#
# USB CDC/ACM Device Commands
#
#
# USB Composite Device Commands
#
#
# Custom Free Memory Command
#
# CONFIG_SYSTEM_FREE is not set
#
# I2C tool
# EMACS-like Command Line Editor
#
#
# INI File Parser
#
# CONFIG_SYSTEM_INIFILE is not set
# CONFIG_SYSTEM_CLE is not set
#
# FLASH Program Installation
@ -845,6 +913,20 @@ CONFIG_NXWM_CALIBRATION_LISTENERSTACK=2048
# FLASH Erase-all Command
#
#
# Intel HEX to binary conversion
#
# CONFIG_SYSTEM_HEX2BIN is not set
#
# I2C tool
#
#
# INI File Parser
#
# CONFIG_SYSTEM_INIFILE is not set
#
# NxPlayer media player library / command Line
#
@ -861,6 +943,14 @@ CONFIG_NXWM_CALIBRATION_LISTENERSTACK=2048
CONFIG_SYSTEM_READLINE=y
CONFIG_READLINE_ECHO=y
#
# P-Code Support
#
#
# PHY Tool
#
#
# Power Off
#
@ -876,20 +966,16 @@ CONFIG_READLINE_ECHO=y
#
# CONFIG_SYSTEM_SDCARD is not set
#
# Sudoku
#
# CONFIG_SYSTEM_SUDOKU is not set
#
# Sysinfo
#
# CONFIG_SYSTEM_SYSINFO is not set
#
# USB Monitor
#
#
# EMACS-like Command Line Editor
#
# CONFIG_SYSTEM_CLE is not set
#
# VI Work-Alike Editor
#
@ -899,10 +985,22 @@ CONFIG_READLINE_ECHO=y
# Stack Monitor
#
#
# USB CDC/ACM Device Commands
#
#
# USB Composite Device Commands
#
#
# USB Mass Storage Device Commands
#
#
# USB Monitor
#
#
# Zmodem Commands
#