diff --git a/configs/sama5d4-ek/README.txt b/configs/sama5d4-ek/README.txt index 3a08afcf35..0c4c7df3e6 100644 --- a/configs/sama5d4-ek/README.txt +++ b/configs/sama5d4-ek/README.txt @@ -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 : 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 diff --git a/configs/sama5d4-ek/kernel/defconfig b/configs/sama5d4-ek/kernel/defconfig index dea5111de2..cfe1a5c510 100644 --- a/configs/sama5d4-ek/kernel/defconfig +++ b/configs/sama5d4-ek/kernel/defconfig @@ -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