summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-03-08 00:27:35 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-03-08 00:27:35 +0000
commit8f66f424602e26f0a43a62beaa3c2aec7775c890 (patch)
tree28249f121ebc9fd071e24222304b4c0770b6fd86
parentddd126cb2969bec42a4430b7d8fcdd45de4a42c1 (diff)
downloadnuttx-8f66f424602e26f0a43a62beaa3c2aec7775c890.tar.gz
nuttx-8f66f424602e26f0a43a62beaa3c2aec7775c890.tar.bz2
nuttx-8f66f424602e26f0a43a62beaa3c2aec7775c890.zip
Add support for platoform specific ROMFS startup files
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3350 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/Documentation/NuttShell.html31
-rw-r--r--nuttx/Makefile9
-rw-r--r--nuttx/configs/qemu-i486/ostest/Make.defs8
-rwxr-xr-xnuttx/configs/qemu-i486/ostest/setenv.sh8
-rwxr-xr-xnuttx/configs/vsn/include/nsh_romfsimg.h89
-rwxr-xr-xnuttx/configs/vsn/include/rcS.template10
-rw-r--r--nuttx/configs/vsn/nsh/Make.defs4
-rwxr-xr-xnuttx/configs/vsn/nsh/defconfig3
-rw-r--r--nuttx/examples/nsh/README.txt25
-rw-r--r--nuttx/examples/nsh/nsh_romfsetc.c12
-rwxr-xr-xnuttx/tools/README.txt6
-rwxr-xr-xnuttx/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 87e8592e9..e03aadc7f 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/&lt;board&gt;/include</code> will be used.
+ NOTE when the OS is configured, <code>include/arch/board</code> will be linked to <code>configs/&lt;board&gt;/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/&lt;board&gt;/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>&quot;/etc&quot;</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 7b71b7298..00a7c60b1 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 c27cac0ef..14efb3f32 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 9386b9822..df098332a 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 000000000..102d2a144
--- /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 000000000..83005bd40
--- /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 d343a07c8..1bdc55d09 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 a1eb5ed94..0f1d946b5 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 ee3a42de2..ab44cbaeb 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 d16da0a7a..482a3618c 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 ea13db9a0..c62c18fb0 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 53f573179..5e742f47d 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