diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2011-03-08 00:27:35 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2011-03-08 00:27:35 +0000 |
commit | fd0d80de07f5a3267ca2f9a33105de7400bd9b48 (patch) | |
tree | 28249f121ebc9fd071e24222304b4c0770b6fd86 /nuttx | |
parent | 89406239aa3790cc6a4f8afa64dbae3cfa2228ad (diff) |
Add support for platoform specific ROMFS startup files
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@3350 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/Documentation/NuttShell.html | 31 | ||||
-rw-r--r-- | nuttx/Makefile | 9 | ||||
-rw-r--r-- | nuttx/configs/qemu-i486/ostest/Make.defs | 8 | ||||
-rwxr-xr-x | nuttx/configs/qemu-i486/ostest/setenv.sh | 8 | ||||
-rwxr-xr-x | nuttx/configs/vsn/include/nsh_romfsimg.h | 89 | ||||
-rwxr-xr-x | nuttx/configs/vsn/include/rcS.template | 10 | ||||
-rw-r--r-- | nuttx/configs/vsn/nsh/Make.defs | 4 | ||||
-rwxr-xr-x | nuttx/configs/vsn/nsh/defconfig | 3 | ||||
-rw-r--r-- | nuttx/examples/nsh/README.txt | 25 | ||||
-rw-r--r-- | nuttx/examples/nsh/nsh_romfsetc.c | 12 | ||||
-rwxr-xr-x | nuttx/tools/README.txt | 6 | ||||
-rwxr-xr-x | nuttx/tools/mkromfsimg.sh (renamed from nuttx/examples/nsh/mkromfsimg.sh) | 4 |
12 files changed, 185 insertions, 24 deletions
diff --git a/nuttx/Documentation/NuttShell.html b/nuttx/Documentation/NuttShell.html index 87e8592e93..e03aadc7fd 100644 --- a/nuttx/Documentation/NuttShell.html +++ b/nuttx/Documentation/NuttShell.html @@ -8,7 +8,7 @@ <tr align="center" bgcolor="#e4e4e4"> <td> <h1><big><font color="#3c34ec"><i>NuttShell (NSH)</i></font></big></h1> - <p>Last Updated: March 1, 2011</p> + <p>Last Updated: March 7, 2011</p> </td> </tr> </table> @@ -580,9 +580,8 @@ mount -t vfat /dev/ram1 /tmp </p> <p> <b>Modifying the ROMFS Image</b>. - The contents of the <code>/etc</code> directory are retained in the file - <code>examples/nsh/nsh_romfsimg.h</code>. In order to modify the start-up - behavior, there are three things to study: + The contents of the <code>/etc</code> directory are retained in the file <code>examples/nsh/nsh_romfsimg.h</code> OR, if <code>CONFIG_EXAMPLES_NSH_ARCHROMFS</code> is defined, <code>include/arch/board/rcs.template</code>). + In order to modify the start-up behavior, there are three things to study: <ol> <li> <b>Configuration Options.</b> @@ -591,31 +590,38 @@ mount -t vfat /dev/ram1 /tmp </li> <li> <p> - <b><code>mkromfsimg.sh</code> Script</b>. - The script <code>examples/nsh/mkromfsimg.sh</code> creates <code>nsh_romfsimg.h</code>. + <b><code>tools/mkromfsimg.sh</code> Script</b>. + The script <code>tools/mkromfsimg.sh</code> creates <code>nsh_romfsimg.h</code>. It is not automatically executed. If you want to change the configuration settings associated with creating and mounting the <code>/tmp</code> directory, then it will be necessary to re-generate - this header file using the <code>mkromfsimg.sh</code> script. + this header file using the <code>tools/mkromfsimg.sh</code> script. </p> <p> The behavior of this script depends upon three things: <ul> <li>The configuration settings then installed configuration. <li>The <code>genromfs<code> tool (available from <a href="http://romfs.sourceforge.net">http://romfs.sourceforge.net</a>). - <li>The file <code>examples/nsh/rcS.template</code>. + <li>The file <code>examples/nsh/rcS.template</code> + (OR, if <code>CONFIG_EXAMPLES_NSH_ARCHROMFS</code> is defined <code>include/arch/board/rcs.template</code>. </ul> </p> </li> <li> <b><code>rcS.template</code></b>. The file <code>examples/nsh/rcS.template</code> contains the general form - of the <code>rcS</code> file; configurated values are plugged into this + of the <code>rcS</code> file; configured values are plugged into this template file to produce the final <code>rcS</code> file. </li> </ol> </p> <p> + <b>NOTE</b>: + <code>examples/nsh/rcS.template</code> generates the standard, default <code>nsh_romfsimg.h</code> file. + If <code>CONFIG_EXAMPLES_NSH_ARCHROMFS<code> is defined in the NuttX configuration file, then a custom, board-specific <code>nsh_romfsimg.h</code> file residing in <code>configs/<board>/include</code> will be used. + NOTE when the OS is configured, <code>include/arch/board</code> will be linked to <code>configs/<board>/include</code>. +</p> +<p> All of the startup-behavior is contained in <code>rcS.template</code>. The role of <code>mkromfsimg.sh</code> is to (1) apply the specific configuration settings to <code>rcS.template</code> to create the final <code>rcS</code>, and (2) to @@ -2255,6 +2261,12 @@ nsh> <th align="left">Description</th> </tr> <tr> + <td valign="top"><b><code>CONFIG_EXAMPLES_NSH_ARCHROMFS</code></b></td> + <td> + May be defined to specify an alternative ROMFS image that can be found at <code>configs/<board>/include/nsh_romfsimg.h</code>. + </td> + </tr> + <tr> <td valign="top"><b><code>CONFIG_EXAMPLES_NSH_ROMFSMOUNTPT</code></b></td> <td> The default mountpoint for the ROMFS volume is <code>"/etc"</code>, but that @@ -2353,6 +2365,7 @@ nsh> <li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_NOMAC</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ROMFSDEVNO</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ROMFSETC</code></a></li> + <li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ARCHROMFS</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ROMFSMOUNTPT</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_ROMFSSECTSIZE</code></a></li> <li><a href="#nshconfiguration"><code>CONFIG_EXAMPLES_NSH_STACKSIZE</code></a></li> diff --git a/nuttx/Makefile b/nuttx/Makefile index 7b71b7298a..00a7c60b16 100644 --- a/nuttx/Makefile +++ b/nuttx/Makefile @@ -1,7 +1,7 @@ ############################################################################ # Makefile # -# Copyright (C) 2007-2010 Gregory Nutt. All rights reserved. +# Copyright (C) 2007-2011 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <spudmonkey@racsa.co.cr> # # Redistribution and use in source and binary forms, with or without @@ -309,6 +309,13 @@ ifeq ($(CONFIG_RAW_BINARY),y) @$(OBJCOPY) $(OBJCOPYARGS) -O binary $(NUTTX)$(EXEEXT) $(NUTTX)$(EXEEXT).bin endif +# This is a helper target that will rebuild NuttX and download it to the +# target system in one step. It will generate an error an error if the +# DOWNLOAD command is not defined in platform Make.defs file. + +download: $(BIN) + $(call DOWNLOAD, $@) + depend: @for dir in $(MAKEDIRS) ; do \ $(MAKE) -C $$dir TOPDIR="$(TOPDIR)" depend ; \ diff --git a/nuttx/configs/qemu-i486/ostest/Make.defs b/nuttx/configs/qemu-i486/ostest/Make.defs index c27cac0eff..14efb3f325 100644 --- a/nuttx/configs/qemu-i486/ostest/Make.defs +++ b/nuttx/configs/qemu-i486/ostest/Make.defs @@ -65,7 +65,15 @@ ARCHPICFLAGS = -fpic ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow ARCHDEFINES = +# We have to use a cross-development toolchain under Cygwin because the native +# Cygwin toolchains don't generate ELF binaries. + +ifeq ($(HOSTOS),Cygwin) +CROSSDEV = i486-elf- +else CROSSDEV = +endif + CC = $(CROSSDEV)gcc CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld diff --git a/nuttx/configs/qemu-i486/ostest/setenv.sh b/nuttx/configs/qemu-i486/ostest/setenv.sh index 9386b98224..df098332ab 100755 --- a/nuttx/configs/qemu-i486/ostest/setenv.sh +++ b/nuttx/configs/qemu-i486/ostest/setenv.sh @@ -39,8 +39,10 @@ fi if [ -z ${PATH_ORIG} ]; then export PATH_ORIG=${PATH}; fi -# Define the following if you are using anything other than the system GCC -#export NUTTX_BIN= -#export PATH=${NUTTX_BIN}:/sbin:/usr/sbin:${PATH_ORIG} +# Uncomment and modify the following if you are using anything other +# than the system GCC +# WD=`pwd` +# export BUILDROOT_BIN="${WD}/../../buildroot/build_i486/staging_dir/bin" +# export PATH="${BUILDROOT_BIN}:/sbin:/usr/sbin:${PATH_ORIG}" echo "PATH : ${PATH}" diff --git a/nuttx/configs/vsn/include/nsh_romfsimg.h b/nuttx/configs/vsn/include/nsh_romfsimg.h new file mode 100755 index 0000000000..102d2a144f --- /dev/null +++ b/nuttx/configs/vsn/include/nsh_romfsimg.h @@ -0,0 +1,89 @@ +unsigned char romfs_img[] = {
+ 0x2d, 0x72, 0x6f, 0x6d, 0x31, 0x66, 0x73, 0x2d, 0x00, 0x00, 0x01, 0xf0,
+ 0x38, 0x85, 0x3a, 0x23, 0x4e, 0x53, 0x48, 0x49, 0x6e, 0x69, 0x74, 0x56,
+ 0x6f, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0xd1, 0xff, 0xff, 0x97,
+ 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0x00, 0x00, 0x00, 0xd1, 0xd1, 0xff, 0x80, 0x2e, 0x2e, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x2d, 0x96, 0x03, 0x69, 0x6e, 0x69, 0x74, 0x2e, 0x64, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0,
+ 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0xd1, 0xd1, 0xff, 0x40,
+ 0x2e, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x60,
+ 0x00, 0x00, 0x00, 0x00, 0xd1, 0xff, 0xfe, 0xe0, 0x2e, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f,
+ 0x8d, 0x9c, 0xab, 0xe7, 0x72, 0x63, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0x63, 0x68, 0x6f,
+ 0x20, 0x22, 0x56, 0x53, 0x4e, 0x20, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x20,
+ 0x31, 0x2e, 0x32, 0x2c, 0x20, 0x77, 0x77, 0x77, 0x2e, 0x6e, 0x65, 0x74,
+ 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x0a,
+ 0x0a, 0x23, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20,
+ 0x52, 0x41, 0x4d, 0x44, 0x49, 0x53, 0x4b, 0x20, 0x61, 0x6e, 0x64, 0x20,
+ 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x69, 0x74, 0x20, 0x61, 0x74, 0x20,
+ 0x2f, 0x74, 0x6d, 0x70, 0x0a, 0x23, 0x6d, 0x6b, 0x72, 0x64, 0x20, 0x2d,
+ 0x6d, 0x20, 0x31, 0x20, 0x2d, 0x73, 0x20, 0x35, 0x31, 0x32, 0x20, 0x34,
+ 0x30, 0x0a, 0x23, 0x6d, 0x6b, 0x66, 0x61, 0x74, 0x66, 0x73, 0x20, 0x2f,
+ 0x64, 0x65, 0x76, 0x2f, 0x72, 0x61, 0x6d, 0x31, 0x0a, 0x23, 0x6d, 0x6f,
+ 0x75, 0x6e, 0x74, 0x20, 0x2d, 0x74, 0x20, 0x76, 0x66, 0x61, 0x74, 0x20,
+ 0x2f, 0x64, 0x65, 0x76, 0x2f, 0x72, 0x61, 0x6d, 0x31, 0x20, 0x2f, 0x74,
+ 0x6d, 0x70, 0x0a, 0x0a, 0x65, 0x63, 0x68, 0x6f, 0x20, 0x22, 0x4d, 0x6f,
+ 0x75, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x46, 0x52, 0x41, 0x4d, 0x20,
+ 0x74, 0x6f, 0x20, 0x2f, 0x75, 0x73, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20,
+ 0x53, 0x44, 0x63, 0x61, 0x72, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x2f, 0x73,
+ 0x64, 0x63, 0x61, 0x72, 0x64, 0x22, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
+ 0x20, 0x2d, 0x74, 0x20, 0x76, 0x66, 0x61, 0x74, 0x20, 0x2f, 0x64, 0x65,
+ 0x76, 0x2f, 0x6d, 0x74, 0x64, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x30, 0x20,
+ 0x2f, 0x75, 0x73, 0x72, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2d,
+ 0x74, 0x20, 0x76, 0x66, 0x61, 0x74, 0x20, 0x2f, 0x64, 0x65, 0x76, 0x2f,
+ 0x6d, 0x6d, 0x63, 0x73, 0x64, 0x30, 0x20, 0x2f, 0x73, 0x64, 0x63, 0x61,
+ 0x72, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00
+};
+unsigned int romfs_img_len = 1024;
diff --git a/nuttx/configs/vsn/include/rcS.template b/nuttx/configs/vsn/include/rcS.template new file mode 100755 index 0000000000..83005bd40d --- /dev/null +++ b/nuttx/configs/vsn/include/rcS.template @@ -0,0 +1,10 @@ +echo "VSN Board 1.2, www.netclamps.com" + +# Create a RAMDISK and mount it at XXXRDMOUNTPOUNTXXX +#mkrd -m XXXMKRDMINORXXX -s XXMKRDSECTORSIZEXXX XXMKRDBLOCKSXXX +#mkfatfs /dev/ramXXXMKRDMINORXXX +#mount -t vfat /dev/ramXXXMKRDMINORXXX XXXRDMOUNTPOUNTXXX + +echo "Mounting FRAM to /usr and SDcard to /sdcard" +mount -t vfat /dev/mtdblock0 /usr +mount -t vfat /dev/mmcsd0 /sdcard diff --git a/nuttx/configs/vsn/nsh/Make.defs b/nuttx/configs/vsn/nsh/Make.defs index d343a07c8c..1bdc55d097 100644 --- a/nuttx/configs/vsn/nsh/Make.defs +++ b/nuttx/configs/vsn/nsh/Make.defs @@ -167,6 +167,10 @@ define CLEAN @rm -f *.o *.a endef +define DOWNLOAD + @armst /dev/ttyUSB0 nuttx.srec +endef + HOSTCC = gcc HOSTINCLUDES = -I. HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe diff --git a/nuttx/configs/vsn/nsh/defconfig b/nuttx/configs/vsn/nsh/defconfig index a1eb5ed94f..0f1d946b54 100755 --- a/nuttx/configs/vsn/nsh/defconfig +++ b/nuttx/configs/vsn/nsh/defconfig @@ -716,6 +716,8 @@ CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS=3 # CONFIG_EXAMPLES_NSH_NOMAC - Use a bogus MAC address # # If CONFIG_EXAMPLES_NSH_ROMFSETC is selected: +# CONFIG_EXAMPLES_NSH_ARCHROMFS - May be defined to specify an alternative +# ROMFS image that can be found at configs/<board>/include/nsh_romfsimg.h. # CONFIG_EXAMPLES_NSH_ROMFSMOUNTPT - ROMFS mountpoint # CONFIG_EXAMPLES_NSH_INITSCRIPT - Relative path to init script # CONFIG_EXAMPLES_NSH_ROMFSDEVNO - ROMFS RAM device minor @@ -742,6 +744,7 @@ CONFIG_EXAMPLES_NSH_NOMAC=n CONFIG_EXAMPLES_NSH_IPADDR=(10<<24|0<<16|0<<8|2) CONFIG_EXAMPLES_NSH_DRIPADDR=(10<<24|0<<16|0<<8|1) CONFIG_EXAMPLES_NSH_NETMASK=(255<<24|255<<16|255<<8|0) +CONFIG_EXAMPLES_NSH_ARCHROMFS=y CONFIG_EXAMPLES_NSH_ROMFSMOUNTPT="/etc" CONFIG_EXAMPLES_NSH_INITSCRIPT="init.d/rcS" CONFIG_EXAMPLES_NSH_ROMFSDEVNO=0 diff --git a/nuttx/examples/nsh/README.txt b/nuttx/examples/nsh/README.txt index ee3a42de23..ab44cbaeb8 100644 --- a/nuttx/examples/nsh/README.txt +++ b/nuttx/examples/nsh/README.txt @@ -159,15 +159,16 @@ Modifying the ROMFS Image ------------------------- The contents of the /etc directory are retained in the file -examples/nsh/nsh_romfsimg.h. In order to modify the start-up -behavior, there are three things to study: +examples/nsh/nsh_romfsimg.h (OR, if CONFIG_EXAMPLES_NSH_ARCHROMFS +is defined, include/arch/board/rcs.template). In order to modify +the start-up behavior, there are three things to study: 1. Configuration Options. The additional CONFIG_EXAMPLES_NSH_ROMFSETC configuration options discussed in the final section of this README. -2. mkromfsimg.sh Script. - The script examples/nsh/mkromfsimg.sh creates nsh_romfsimg.h. +2. tools/mkromfsimg.sh Script. + The script tools/mkromfsimg.sh creates nsh_romfsimg.h. It is not automatically executed. If you want to change the configuration settings associated with creating and mounting the /tmp directory, then it will be necessary to re-generate @@ -175,15 +176,25 @@ behavior, there are three things to study: The behavior of this script depends upon three things: - - The configuration settings then installed configuration. + - The configuration settings of the installed NuttX configuration. - The genromfs tool (available from http://romfs.sourceforge.net). - - The file examples/nsh/rcS.template. + - The file examples/nsh/rcS.template (OR, if + CONFIG_EXAMPLES_NSH_ARCHROMFS is defined, include/arch/board/rcs.template) 3. rcS.template. The file examples/nsh/rcS.template contains the general form - of the rcS file; configurated values are plugged into this + of the rcS file; configured values are plugged into this template file to produce the final rcS file. +NOTE: + + examples/nsh/rcS.template generates the standard, default + nsh_romfsimg.h file. If CONFIG_EXAMPLES_NSH_ARCHROMFS is defined + in the NuttX configuration file, then a custom, board-specific + nsh_romfsimg.h file residing in configs/<board>/include will be + used. NOTE when the OS is configured, include/arch/board will + be linked to configs/<board>/include. + All of the startup-behavior is contained in rcS.template. The role of mkromfsimg.sh is to (1) apply the specific configuration settings to rcS.template to create the final rcS, and (2) to diff --git a/nuttx/examples/nsh/nsh_romfsetc.c b/nuttx/examples/nsh/nsh_romfsetc.c index d16da0a7a4..482a3618cc 100644 --- a/nuttx/examples/nsh/nsh_romfsetc.c +++ b/nuttx/examples/nsh/nsh_romfsetc.c @@ -1,7 +1,7 @@ /**************************************************************************** * examples/nsh/nsh_romfsetc.c * - * Copyright (C) 2008-2010 Gregory Nutt. All rights reserved. + * Copyright (C) 2008-2011 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * Redistribution and use in source and binary forms, with or without @@ -49,7 +49,15 @@ #ifdef CONFIG_EXAMPLES_NSH_ROMFSETC -#include "nsh_romfsimg.h" +/* Should we use the default ROMFS image? Or a custom, board-specific + * ROMFS image? + */ + +#ifdef CONFIG_EXAMPLES_NSH_ARCHROMFS +# include <arch/board/nsh_romfsimg.h> +#else +# include "nsh_romfsimg.h" +#endif /**************************************************************************** * Definitions diff --git a/nuttx/tools/README.txt b/nuttx/tools/README.txt index ea13db9a0d..c62c18fb0f 100755 --- a/nuttx/tools/README.txt +++ b/nuttx/tools/README.txt @@ -31,6 +31,12 @@ mkconfig.c into include/nuttx/config.h. config.h is a another version of the
NuttX configuration that can be included by C files.
+mkromfsimg.sh
+
+ This script may be used to automate the generate of a ROMFS file system
+ image. It accepts an rcS script "template" and generates and image that
+ may be mounted under /etc in the NuttX pseudo file system.
+
Makefile.mkconfig
This is the makefile that is used to make the mkconfig program from
diff --git a/nuttx/examples/nsh/mkromfsimg.sh b/nuttx/tools/mkromfsimg.sh index 53f573179d..5e742f47de 100755 --- a/nuttx/examples/nsh/mkromfsimg.sh +++ b/nuttx/tools/mkromfsimg.sh @@ -1,8 +1,8 @@ #!/bin/bash ############################################################################ -# examples/nsh/mkromfsimg.sh +# tools/mkromfsimg.sh # -# Copyright (C) 2008 Gregory Nutt. All rights reserved. +# Copyright (C) 2008, 2011 Gregory Nutt. All rights reserved. # Author: Gregory Nutt <spudmonkey@racsa.co.cr> # # Redistribution and use in source and binary forms, with or without |