SAMA5D4-EK kernel configuration now builds NSH instead of examples/elf

This commit is contained in:
Gregory Nutt 2014-09-06 07:04:14 -06:00
parent 14ed6d0a37
commit 2332d8a736
2 changed files with 135 additions and 12 deletions

View File

@ -3527,8 +3527,9 @@ Configurations
the description below and the section above entitled "Creating and
Using DRAMBOOT" for more information
elf: Demonstrates execution of ELF file from a file system.
kernel: A configuration used to test the SAMA5D kenel build
configuration.
kernel: A configuration used to test the SAMA5D kernel build
configuration. Uses a tiny NSH configuration that runs at
start time from a mounted file system.
nsh: This is an NuttShell (NSH) configuration that supports extensive
functionality as possible (unlike the minimal ramtest configuration).
See the detailed description below for a summary of the feature
@ -3732,11 +3733,31 @@ Configurations
NOTES:
Since this configuration is based on the ELF configuration, all of
the notes for that configuration also apply.
NOTES:
1. This configuration is based on the elf configuration. Primary
differences between the two configurations are noted below:
1. This configuration uses the the USART3 for the serial console
which is available at the "DBGU" RS-232 connector (J24). That
is easily changed by reconfiguring to (1) enable a different
serial peripheral, and (2) selecting that serial peripheral as
the console device.
2. By default, this configuration is set up to build on Windows
under either a Cygwin or MSYS environment using a recent, Windows-
native, generic ARM EABI GCC toolchain (such as the CodeSourcery
toolchain). Both the build environment and the toolchain
selection can easily be changed by reconfiguring:
CONFIG_HOST_WINDOWS=y : Windows operating system
CONFIG_WINDOWS_CYGWIN=y : POSIX environment under windows
CONFIG_ARMV7A_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows
If you are running on Linux, make *certain* that you have
CONFIG_HOST_LINUX=y *before* the first make or you will create a
corrupt configuration that may not be easy to recover from. See
the warning in the section "Information Common to All Configurations"
for further information.
3. Some key setup configuration values for this configuration:
Build Setup -> Build Configuration -> Memory Organization
CONFIG_BUILD_KERNEL=y : Kernel build enabled
@ -3752,7 +3773,7 @@ Configurations
CONFIG_MM_KERNEL_HEAP=y : Enable a kernel heap
CONFIG_MM_KERNEL_HEAPSIZE=8192 : (temporary.. will change)
2. Board initialization is performed performed before the application
4. Board initialization is performed performed before the application
is started:
RTOS Features -> RTOS Hooks
@ -3785,6 +3806,26 @@ Configurations
CONFIG_SAMA5D4EK_HSMCI0_MOUNT_FSTYPE="vfat"
CONFIG_SAMA5D4EK_HSMCI0_MOUNT_MOUNTPOINT="/bin"
5. General build directions:
$ cd nuttx/tools : Go to the tools sub-directory
$ ./configure.sh sama5d4-ek/kernel : Establish this configuration
$ cd .. : Back to the NuttX build directory
: Edit setenv.sh to use the correct path
$ . ./setenv.sh : Set up the PATH variable
$ make : Build the kernel
: This should create the nuttx ELF
$ make export : Create the kernel export package
: You should have a file like nuttx-export-*.zip
$ cd apps/ : Go to the apps/ directory
$ tools/mkimport.sh -x <zip-file> : Use the full path to nuttx-export-*.zip
$ make import : This will build the file system
STATUS:
2014-9-4: The kernel works up to the point where the nsh 'init'
is started from the file system then fails. This is good,
however, because I do not yet have the file system in place yet.
nsh:
This configuration directory provide the NuttShell (NSH). This is a

View File

@ -340,6 +340,8 @@ CONFIG_ARCH_HAVE_BUTTONS=y
CONFIG_ARCH_BUTTONS=y
CONFIG_ARCH_HAVE_IRQBUTTONS=y
CONFIG_ARCH_IRQBUTTONS=y
CONFIG_NSH_MMCSDMINOR=0
CONFIG_NSH_MMCSDSLOTNO=0
#
# Board-Specific Options
@ -739,9 +741,7 @@ CONFIG_BUILTIN_PROXY_STACKSIZE=1024
# CONFIG_EXAMPLES_CPUHOG is not set
# CONFIG_EXAMPLES_CXXTEST is not set
# CONFIG_EXAMPLES_DHCPD is not set
CONFIG_EXAMPLES_ELF=y
CONFIG_EXAMPLES_ELF_DEVMINOR=0
CONFIG_EXAMPLES_ELF_DEVPATH="/dev/ram0"
# CONFIG_EXAMPLES_ELF is not set
# CONFIG_EXAMPLES_FTPC is not set
# CONFIG_EXAMPLES_FTPD is not set
# CONFIG_EXAMPLES_HELLO is not set
@ -754,7 +754,8 @@ CONFIG_EXAMPLES_ELF_DEVPATH="/dev/ram0"
# CONFIG_EXAMPLES_MODBUS is not set
# CONFIG_EXAMPLES_MOUNT is not set
# CONFIG_EXAMPLES_NRF24L01TERM is not set
# CONFIG_EXAMPLES_NSH is not set
CONFIG_EXAMPLES_NSH=y
# CONFIG_EXAMPLES_NSH_CXXINITIALIZE is not set
# CONFIG_EXAMPLES_NULL is not set
# CONFIG_EXAMPLES_NX is not set
# CONFIG_EXAMPLES_NXCONSOLE is not set
@ -826,7 +827,88 @@ CONFIG_EXAMPLES_ELF_DEVPATH="/dev/ram0"
#
# NSH Library
#
# CONFIG_NSH_LIBRARY is not set
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 is not set
CONFIG_NSH_MAXARGUMENTS=6
CONFIG_NSH_ARGCAT=y
CONFIG_NSH_NESTDEPTH=3
# CONFIG_NSH_DISABLEBG is not set
# CONFIG_NSH_BUILTIN_APPS is not set
#
# Disable Individual commands
#
# CONFIG_NSH_DISABLE_ADDROUTE is not set
# CONFIG_NSH_DISABLE_CAT is not set
# CONFIG_NSH_DISABLE_CD is not set
# CONFIG_NSH_DISABLE_CP is not set
# CONFIG_NSH_DISABLE_CMP is not set
# CONFIG_NSH_DISABLE_DD is not set
# CONFIG_NSH_DISABLE_DF is not set
# CONFIG_NSH_DISABLE_DELROUTE is not set
# CONFIG_NSH_DISABLE_ECHO is not set
# CONFIG_NSH_DISABLE_EXEC is not set
# CONFIG_NSH_DISABLE_EXIT is not set
# CONFIG_NSH_DISABLE_FREE is not set
# CONFIG_NSH_DISABLE_GET is not set
# CONFIG_NSH_DISABLE_HELP is not set
# CONFIG_NSH_DISABLE_HEXDUMP is not set
# CONFIG_NSH_DISABLE_IFCONFIG is not set
# CONFIG_NSH_DISABLE_KILL is not set
# CONFIG_NSH_DISABLE_LOSETUP is not set
# CONFIG_NSH_DISABLE_LS is not set
# CONFIG_NSH_DISABLE_MB is not set
# CONFIG_NSH_DISABLE_MKDIR is not set
# CONFIG_NSH_DISABLE_MKFATFS is not set
# CONFIG_NSH_DISABLE_MKFIFO is not set
# CONFIG_NSH_DISABLE_MKRD is not set
# CONFIG_NSH_DISABLE_MH is not set
# CONFIG_NSH_DISABLE_MOUNT is not set
# CONFIG_NSH_DISABLE_MW is not set
# CONFIG_NSH_DISABLE_PUT is not set
# CONFIG_NSH_DISABLE_PWD is not set
# CONFIG_NSH_DISABLE_RM is not set
# CONFIG_NSH_DISABLE_RMDIR is not set
# CONFIG_NSH_DISABLE_SET is not set
# CONFIG_NSH_DISABLE_SH is not set
# CONFIG_NSH_DISABLE_SLEEP is not set
# CONFIG_NSH_DISABLE_TEST is not set
# CONFIG_NSH_DISABLE_UMOUNT is not set
# CONFIG_NSH_DISABLE_UNSET is not set
# CONFIG_NSH_DISABLE_USLEEP is not set
# CONFIG_NSH_DISABLE_WGET is not set
# CONFIG_NSH_DISABLE_XD is not set
#
# Configure Command Options
#
CONFIG_NSH_CMDOPT_DF_H=y
CONFIG_NSH_CODECS_BUFSIZE=128
CONFIG_NSH_CMDOPT_HEXDUMP=y
CONFIG_NSH_FILEIOSIZE=1024
#
# Scripting Support
#
# CONFIG_NSH_DISABLESCRIPT is not set
# CONFIG_NSH_DISABLE_ITEF is not set
# CONFIG_NSH_DISABLE_LOOPS is not set
# CONFIG_NSH_ROMFSETC is not set
#
# Console Configuration
#
CONFIG_NSH_CONSOLE=y
# CONFIG_NSH_ALTCONDEV is not set
# CONFIG_NSH_ARCHINIT is not set
#
# NxWidgets/NxWM