summaryrefslogtreecommitdiffstats
path: root/nuttx
diff options
context:
space:
mode:
authorpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2010-05-09 16:36:07 +0000
committerpatacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679>2010-05-09 16:36:07 +0000
commitbc2af164e047abae45230c760e2a5d288586295e (patch)
treeb7a4e7e951cd1de1bc8e7c2d3a8858983d427e75 /nuttx
parentfcc04646f1f20bb8c299e00268f53c0bb7998319 (diff)
Add LM3S6965 NSH configuration + Prep for 5.5 release
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@2659 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx')
-rw-r--r--nuttx/ChangeLog9
-rw-r--r--nuttx/Documentation/NuttX.html129
-rwxr-xr-xnuttx/Documentation/README.html6
-rwxr-xr-xnuttx/README.txt4
-rw-r--r--nuttx/ReleaseNotes33
-rw-r--r--nuttx/TODO7
-rw-r--r--nuttx/arch/arm/src/lm3s/lm3s_serial.c2
-rw-r--r--nuttx/configs/eagle100/README.txt4
-rwxr-xr-xnuttx/configs/lm3s6965-ek/README.txt28
-rwxr-xr-xnuttx/configs/lm3s6965-ek/nsh/Make.defs168
-rwxr-xr-xnuttx/configs/lm3s6965-ek/nsh/defconfig610
-rwxr-xr-xnuttx/configs/lm3s6965-ek/nsh/ld.script108
-rwxr-xr-xnuttx/configs/lm3s6965-ek/nsh/setenv.sh46
-rwxr-xr-xnuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h25
-rwxr-xr-xnuttx/configs/lm3s6965-ek/src/up_ssi.c1
-rw-r--r--nuttx/include/nuttx/spi.h3
-rw-r--r--nuttx/net/net_close.c5
17 files changed, 1115 insertions, 73 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index c4264262a5..3cefdf43b1 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -1097,7 +1097,7 @@
board.
* configs/sam3u-ek/nx - NX graphics configuration for the SAM3U-EK
-5.5 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
+5.5 2010-05-09 Gregory Nutt <spudmonkey@racsa.co.cr>
* drivers/net/enc28j60.c - Microchip ENC28J60 SPI ethernet chip driver.
(untested on original check-in).
@@ -1113,10 +1113,15 @@
* arch/arm/src/lm3s and arch/arm/include/lm3s - Add definitions for
LM3S6965
* configs/lm3s6965-ek - Add configuration for Stellaris LM3S6965
- Evaluation Kit.
+ Evaluation Kit (including basic examples/ostest configuration)
* lib/lib_dtoa.c and lib/lib_dtoa.c - printf will not printf floating
point values if you select CONFIG_LIBC_FLOATINGPOINT in your
configuration file. Contributed by Yolande Cates. NOTE: these
floating point operations have not been well tested and may not
be portable to all floating point implementations.
+ * configs/lm3s6965-ek/nsh - Added NuttShell (NSH) configuration for
+ the LM3S6965 Evaluation Kit. Includes both serial and telnet
+ interfaces.
+ * net/net_close.c - Correct a UDP reference counting error
+5.6 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index 798726f26d..45f81b5491 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
- <p>Last Updated: May 7, 2010</p>
+ <p>Last Updated: May 9, 2010</p>
</td>
</tr>
</table>
@@ -729,39 +729,51 @@
</tr>
</table>
-<p><b>nuttx-5.4 Release Notes</b>:
+<p><b>nuttx-5.5 Release Notes</b>:
<p>
- This 51<sup>st</sup> release of NuttX was made on April 23, 2010 and is available for download from the
+ This 52<sup>nd</sup> release of NuttX was made on May 9, 2010 and is available for download from the
<a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a> website.
The change log associated with the release is available <a href="#currentrelease">here</a>.
Unreleased changes after this release are available in CVS.
These unreleased changes are listed <a href="#pendingchanges">here</a>.
</p>
<p>
- This release includes one new, important extension to the
- <a href="http://www.nuttx.org/NXGraphicsSubsystem.html">NX graphics system</a>:
+ This relese includes one new port, some new drivers and some important bugfixes:
<ul>
- <p>
- NX was develop a couple years back on hardware that supported only framebuffer
- devices, that is, video hardware with video memory directly converts the memroy
- content to video. However, most MCUs that NuttX focuses on do not support such
- video memory; rather, that typically only support LCDs via parallel or serial
- interfaces.
- </p>
- <p>
- This release of NuttX extends NX so that now renders directly to the LCD device
- via its serial or parallel interface. No in-memory copy of the screen memory
- need be maintained so this solution should also work in MCUs with very limited
- SRAM.
- </p>
+ <li><p>
+ NuttX was ported to the Luminary/TI LM3S6965 Ethernet Evaluation Kit.
+ At present, that port includes an OS test configuration and a NuttShell
+ (NSH) configuration with telnet support.
+ </p>
+ <p>
+ MMC/SD and Networking support are provided but not thoroughly verified
+ in this release: Current development efforts are focused on porting the
+ NuttX window system (NX) to work with the Evaluation Kits OLED display.
+ </p></li>
+ <li><p>
+ A NuttX Ethernet driver for the Microchip ENC28J60 SPI Ethernet chip is
+ available in the source tree (but has not yet been fully verified because
+ I haven't properly connected it to hardware yet).
+ </p></li>
+ <li><p>
+ The Olimex STR-P711 NuttX port was extended to support the ENC28J60 and
+ some new networking configurations were added. The ENC28J60 has not
+ been tested on the STR-P711, however, because of hardware issues (I don't
+ think the USB powered board provides enough power for the ENC28J60 and
+ I don't have the right wall wart yet).
+ </p></li>
+ <li><p>
+ Along the way, external interrupt support (XTI) was added to the STMicro
+ STR-P711 port and some important bugs were fixed in the STR-P711 SPI
+ driver.
+ </p></li>
+ <li><p>
+ Corrected an important UDP reference counting error. It was not a serious
+ error, but it trigger an assertion was IS a serious error.
+ </p></li>
</ul>
</p>
-<p>
- This initial release of this feature includes the verified NX extensions plus
- a driver for the HX8347, 16-bit parallel LCD. This LCD supports 16-bit RGB
- (5:6:5).
-</p>
<table width ="100%">
<tr bgcolor="#e4e4e4">
@@ -1030,16 +1042,27 @@
<td>
<p>
<b>Luminary/TI LM3S6965</b>.
- This port uses the Stellaris LM3S6965 Evalution Kit with a GNU arm-elf toolchain*
+ This port uses the Stellaris LM3S6965 Ethernet Evalution Kit with a GNU arm-elf toolchain*
under either Linux or Cygwin.
</p>
<ul>
<p>
<b>STATUS:</b>
- This port is available in the source tree, but is still under development.
+ This port was released in NuttX 5.5.
+ Features are the same as with the Eagle-100 LM3S6918 described above.
+ The examples/ostest configuration has been successfully verified and an
+ NSH configuration with telnet support is available.
+ MMC/SD and Networking support was not been thoroughly verified:
+ Current development efforts are focused on porting the NuttX window system (NX)
+ to work with the Evaluation Kits OLED display.
</p>
+ <p><small>
+ <b>NOTE</b>: As it is configured now, you MUST have a network connected.
+ Otherwise, the NSH prompt will not come up because the Ethernet
+ driver is waiting for the network to come up.
+ </small></p>
<p>
- <b>Development Environments:</b> See the Eagle-100 above.
+ <b>Development Environments:</b> See the Eagle-100 LM3S6918 above.
</p>
</ul>
</td>
@@ -1669,13 +1692,32 @@ Other memory:
</table>
<ul><pre>
-nuttx-5.4 2010-04-23 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
+nuttx-5.5 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
- * include/nuttx/lcd.h - Defines an LCD interface.
- * graphics/nxglib/fb and lcd - Support LCD and framebuffer rasterizers for NX.
- * configs/sam3u-ek/src/up_lcd.c - LCD driver for LCD on SAM3U-EK development
- board.
- * configs/sam3u-ek/nx - NX graphics configuration for the SAM3U-EK
+ * drivers/net/enc28j60.c - Microchip ENC28J60 SPI ethernet chip driver.
+ (untested on original check-in).
+ * configs/olimex-str7p11/nettest - examples/nettest configuration using
+ the ENC28J60 driver on the Olimex STMicro STR-P711.
+ (unverified on original check-in)
+ * configs/olimex-str7p11/src/up_enc28j60.c - Add ENC28J60 initialization
+ logic.
+ * configs/olimex-str7p11/src/up_spi.c - Fixed some bugs; added support
+ for ENC28J60.
+ * arch/arm/src/str7x/str7x_xti.c - Add basic XTI support (external
+ interrupts).
+ * arch/arm/src/lm3s and arch/arm/include/lm3s - Add definitions for
+ LM3S6965
+ * configs/lm3s6965-ek - Add configuration for Stellaris LM3S6965
+ Evaluation Kit (including basic examples/ostest configuration)
+ * lib/lib_dtoa.c and lib/lib_dtoa.c - printf will not printf floating
+ point values if you select CONFIG_LIBC_FLOATINGPOINT in your
+ configuration file. Contributed by Yolande Cates. NOTE: these
+ floating point operations have not been well tested and may not
+ be portable to all floating point implementations.
+ * configs/lm3s6965-ek/nsh - Added NuttShell (NSH) configuration for
+ the LM3S6965 Evaluation Kit. Includes both serial and telnet
+ interfaces.
+ * net/net_close.c - Correct a UDP reference counting error
pascal-2.0 2010-12-21 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
@@ -1705,28 +1747,7 @@ buildroot-1.8 2009-12-21 &lt;spudmonkey@racsa.co.cr&gt;
</table>
<ul><pre>
-nuttx-5.5 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * drivers/net/enc28j60.c - Microchip ENC28J60 SPI ethernet chip driver.
- (untested on original check-in).
- * configs/olimex-str7p11/nettest - examples/nettest configuration using
- the ENC28J60 driver on the Olimex STMicro STR-P711.
- (unverified on original check-in)
- * configs/olimex-str7p11/src/up_enc28j60.c - Add ENC28J60 initialization
- logic.
- * configs/olimex-str7p11/src/up_spi.c - Fixed some bugs; added support
- for ENC28J60.
- * arch/arm/src/str7x/str7x_xti.c - Add basic XTI support (external
- interrupts).
- * arch/arm/src/lm3s and arch/arm/include/lm3s - Add definitions for
- LM3S6965
- * configs/lm3s6965-ek - Add configuration for Stellaris LM3S6965
- Evaluation Kit.
- * lib/lib_dtoa.c and lib/lib_dtoa.c - printf will not printf floating
- point values if you select CONFIG_LIBC_FLOATINGPOINT in your
- configuration file. Contributed by Yolande Cates. NOTE: these
- floating point operations have not been well tested and may not
- be portable to all floating point implementations.
+nuttx-5.6 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
pascal-2.1 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/nuttx/Documentation/README.html b/nuttx/Documentation/README.html
index 885deaccf0..572f976aff 100755
--- a/nuttx/Documentation/README.html
+++ b/nuttx/Documentation/README.html
@@ -9,7 +9,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX README Files</i></font></big></h1>
- <p>Last Updated: Aprill 11, 2009</p>
+ <p>Last Updated: May 8, 2010</p>
</td>
</tr>
</table>
@@ -66,6 +66,10 @@
| | |- <a href="configs/ez80f910200zco/ostest/README.txt">ostest/README.txt</a>
| | |- <a href="configs/ez80f910200zco/poll/README.txt">poll/README.txt</a>
| | `- <a href="configs/ez80f910200zco/README.txt"><b><i>README.txt</i></b></a>
+ | |- lm3s6965-ek/
+ | | |- <a href="configs/lm3s6965-ek/include/README.txt">include/README.txt</a>
+ | | |- <a href="configs/lm3s6965-ek/src/README.txt">src/README.txt</a>
+ | | `- <a href="configs/lm3s6965-ek/README.txt"><b><i>README.txt</i></b></a>
| |- m68332evb/
| | |- <a href="configs/m68332evb/include/README.txt">include/README.txt</a>
| | `- <a href="configs/m68332evb/src/README.txt">src/README.txt</a>
diff --git a/nuttx/README.txt b/nuttx/README.txt
index 4c2fb772e0..7aef3afe2d 100755
--- a/nuttx/README.txt
+++ b/nuttx/README.txt
@@ -157,6 +157,10 @@ Below is a guide to the available README files in the NuttX source tree:
| | |- ostest/README.txt
| | |- poll/README.txt
| | `- README.txt
+ | |- lm3s5965-ek/
+ | | |- include/README.txt
+ | | |- src/README.txt
+ | | `- README.txt
| |- m68332evb/
| | |- include/README.txt
| | `- src/README.txt
diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes
index 7618bc7d04..3c6dda5f71 100644
--- a/nuttx/ReleaseNotes
+++ b/nuttx/ReleaseNotes
@@ -1221,8 +1221,33 @@ This initial release of this feature includes the verified NX extensions plus
a driver for the HX8347, 16-bit parallel LCD. This LCD supports 16-bit RGB
(5:6:5).
+nuttx-5.5
+^^^^^^^^^
- * include/nuttx/lcd.h - Defines an LCD interface.
- * graphics/nxglib/fb and lcd - Support LCD and framebuffer rasterizers for NX.
- * configs/sam3u-ek/src/up_lcd.c - LCD driver for LCD on SAM3U-EK development
- board.
+This is the 52nd release of NuttX. This release includes one new port, some
+new drivers and some important bugfixes:
+
+ * NuttX was ported to the Luminary/TI LM3S6965 Ethernet Evaluation Kit.
+ At present, that port includes an OS test configuration and a NuttShell
+ (NSH) configuration with telnet support.
+
+ MMC/SD and Networking support are provided but not thoroughly verified
+ in this release: Current development efforts are focused on porting the
+ NuttX window system (NX) to work with the Evaluation Kits OLED display.
+
+ * A NuttX Ethernet driver for the Microchip ENC28J60 SPI Ethernet chip is
+ available in the source tree (but has not yet been fully verified because
+ I haven't properly connected it to hardware yet).
+
+ * The Olimex STR-P711 NuttX port was extended to support the ENC28J60 and
+ some new networking configurations were added. The ENC28J60 has not
+ been tested on the STR-P711, however, because of hardware issues (I don't
+ think the USB powered board provides enough power for the ENC28J60 and
+ I don't have the right wall wart yet).
+
+ Along the way, external interrupt support (XTI) was added to the STMicro
+ STR-P711 port and some important bugs were fixed in the STR-P711 SPI
+ driver.
+
+ * Corrected an important UDP reference counting error. It was not a serious
+ error, but it trigger an assertion was IS a serious error.
diff --git a/nuttx/TODO b/nuttx/TODO
index eb55f36d50..2afd1d490e 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -1,4 +1,4 @@
-NuttX TODO List (Last updated May 4, 2010)
+NuttX TODO List (Last updated May 8, 2010)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(5) Task/Scheduler (sched/)
@@ -7,7 +7,7 @@ NuttX TODO List (Last updated May 4, 2010)
(1) pthreads (sched/)
(1) C++ Support
(5) Binary loaders (binfmt/)
- (16) Network (net/, drivers/net)
+ (15) Network (net/, drivers/net)
(5) Network Utilities (netutils/)
(1) USB (drivers/usbdev)
(5) Libraries (lib/)
@@ -484,7 +484,8 @@ o Build system
older compilers. My work around for now is to use an older compiler
for the CPP definition in the configuration Make.defs file, do
make context, restore the original Make.defs, and then make.
- Status: Open
+ Status: Open. This may not be a real issue. I have not seen this
+ happen lately so it may have nothing to do with GCC.
Priority: High if you are using NX and a newer compiler.
diff --git a/nuttx/arch/arm/src/lm3s/lm3s_serial.c b/nuttx/arch/arm/src/lm3s/lm3s_serial.c
index 2d693bd42c..f1f5ac9baf 100644
--- a/nuttx/arch/arm/src/lm3s/lm3s_serial.c
+++ b/nuttx/arch/arm/src/lm3s/lm3s_serial.c
@@ -51,7 +51,9 @@
#include <nuttx/irq.h>
#include <nuttx/arch.h>
#include <nuttx/serial.h>
+
#include <arch/serial.h>
+#include <arch/board/board.h>
#include "chip.h"
#include "up_arch.h"
diff --git a/nuttx/configs/eagle100/README.txt b/nuttx/configs/eagle100/README.txt
index 2a48c21c90..af08a1c88b 100644
--- a/nuttx/configs/eagle100/README.txt
+++ b/nuttx/configs/eagle100/README.txt
@@ -340,7 +340,9 @@ Where <subdir> is one of the following:
nsh:
Configures the NuttShell (nsh) located at examples/nsh. The
- Configuration enables both the serial and telnetd NSH interfaces.
+ Configuration enables only the serial NSH interfaces (the telnet
+ interface should also be functional, but is not enabled in this
+ configuration).
ostest:
This configuration directory, performs a simple OS test using
diff --git a/nuttx/configs/lm3s6965-ek/README.txt b/nuttx/configs/lm3s6965-ek/README.txt
index ada74b1117..f80e9e96d8 100755
--- a/nuttx/configs/lm3s6965-ek/README.txt
+++ b/nuttx/configs/lm3s6965-ek/README.txt
@@ -12,6 +12,7 @@ Contents
IDEs
NuttX buildroot Toolchain
USB Device Controller Functions
+ OLED
Stellaris LM3S6965 Evaluation Kit Configuration Options
Configurations
@@ -77,6 +78,24 @@ PIN SIGNAL EVB Function
47 PF0/PWM0 User LED
23 PC6/CCP3 Enable +15 V
+OLED
+^^^^
+
+ The Evaluation Kit includes an OLED graphics display. Features:
+
+ - RiT P14201 series display (www.ritekdisplay.com).
+ - 128 columns by 96rows
+ - High-contrast (typ. 500:1)
+ - Excellent brightness (120 cd/m2)
+ - Fast 10 us response with 128 x 96 pixel resolution.
+
+ The OLED display has a built-in controller IC with synchronous serial and
+ parallel interfaces. Synchronous serial (SSI) is used on the EVB. The SSI
+ port is shared with the microSD card slot.
+
+ - PC7: OLED display data/control select (D/Cn)
+ - PA3: OLED display chip select (CSn)
+
Development Environment
^^^^^^^^^^^^^^^^^^^^^^^
@@ -378,6 +397,15 @@ sudirectory and can be selected as follow:
Where <subdir> is one of the following:
+ nsh:
+ Configures the NuttShell (nsh) located at examples/nsh. The
+ Configuration enables both the serial and telnetd NSH interfaces.
+
+ NOTE: As it is configured now, you MUST have a network connected.
+ Otherwise, the NSH prompt will not come up because the Ethernet
+ driver is waiting for the network to come up. That is probably
+ a bug in the Ethernet driver behavior!
+
ostest:
This configuration directory, performs a simple OS test using
examples/ostest.
diff --git a/nuttx/configs/lm3s6965-ek/nsh/Make.defs b/nuttx/configs/lm3s6965-ek/nsh/Make.defs
new file mode 100755
index 0000000000..4f0be16256
--- /dev/null
+++ b/nuttx/configs/lm3s6965-ek/nsh/Make.defs
@@ -0,0 +1,168 @@
+############################################################################
+# configs/lm3s6965-ek/nsh/Make.defs
+#
+# Copyright (C) 2010 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+# used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+############################################################################
+
+include ${TOPDIR}/.config
+
+# Setup for the selected toolchain
+
+ifeq ($(CONFIG_LM3S_CODESOURCERYW),y)
+ # CodeSourcery under Windows
+ CROSSDEV = arm-none-eabi-
+ WINTOOL = y
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+endif
+ifeq ($(CONFIG_LM3S_CODESOURCERYL),y)
+ # CodeSourcery under Linux
+ CROSSDEV = arm-none-eabi-
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+ MAXOPTIMIZATION = -O2
+endif
+ifeq ($(CONFIG_LM3S_DEVKITARM),y)
+ # devkitARM under Windows
+ CROSSDEV = arm-eabi-
+ WINTOOL = y
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+endif
+ifeq ($(CONFIG_LM3S_RAISONANCE),y)
+ # Raisonance RIDE7 under Windows
+ CROSSDEV = arm-none-eabi-
+ WINTOOL = y
+ ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
+endif
+ifeq ($(CONFIG_LM3S_BUILDROOT),y)
+ # NuttX buildroot under Linux or Cygwin
+ CROSSDEV = arm-elf-
+ ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
+ MAXOPTIMIZATION = -Os
+endif
+
+ifeq ($(WINTOOL),y)
+ # Windows-native toolchains
+ DIRLINK = $(TOPDIR)/tools/winlink.sh
+ DIRUNLINK = $(TOPDIR)/tools/unlink.sh
+ MKDEP = $(TOPDIR)/tools/mknulldeps.sh
+ ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
+ ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script}"
+ MAXOPTIMIZATION = -O2
+else
+ # Linux/Cygwin-native toolchain
+ MKDEP = $(TOPDIR)/tools/mkdeps.sh
+ ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
+ ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/nsh/ld.script
+endif
+
+CC = $(CROSSDEV)gcc
+CXX = $(CROSSDEV)g++
+CPP = $(CROSSDEV)gcc -E
+LD = $(CROSSDEV)ld
+AR = $(CROSSDEV)ar rcs
+NM = $(CROSSDEV)nm
+OBJCOPY = $(CROSSDEV)objcopy
+OBJDUMP = $(CROSSDEV)objdump
+
+ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
+ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
+
+ifeq ("${CONFIG_DEBUG_SYMBOLS}","y")
+ ARCHOPTIMIZATION = -g
+else
+ ARCHOPTIMIZATION = $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
+endif
+
+ARCHCFLAGS = -fno-builtin
+ARCHCXXFLAGS = -fno-builtin -fno-exceptions
+ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
+ARCHWARNINGSXX = -Wall -Wshadow
+ARCHDEFINES =
+ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
+
+CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) -pipe
+CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
+CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) -pipe
+CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
+CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES)
+AFLAGS = $(CFLAGS) -D__ASSEMBLY__
+
+NXFLATLDFLAGS1 = -r -d -warn-common
+NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat.ld -no-check-sections
+LDNXFLATFLAGS = -e main -s 2048
+
+OBJEXT = .o
+LIBEXT = .a
+EXEEXT =
+
+ifneq ($(CROSSDEV),arm-elf-)
+ LDFLAGS += -nostartfiles -nodefaultlibs
+endif
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ LDFLAGS += -g
+endif
+
+define PREPROCESS
+ @echo "CPP: $1->$2"
+ @$(CPP) $(CPPFLAGS) $1 -o $2
+endef
+
+define COMPILE
+ @echo "CC: $1"
+ @$(CC) -c $(CFLAGS) $1 -o $2
+endef
+
+define COMPILEXX
+ @echo "CXX: $1"
+ @$(CXX) -c $(CXXFLAGS) $1 -o $2
+endef
+
+define ASSEMBLE
+ @echo "AS: $1"
+ @$(CC) -c $(AFLAGS) $1 -o $2
+endef
+
+define ARCHIVE
+ echo "AR: $2"; \
+ $(AR) $1 $2 || { echo "$(AR) $1 $2 FAILED!" ; exit 1 ; }
+endef
+
+define CLEAN
+ @rm -f *.o *.a
+endef
+
+HOSTCC = gcc
+HOSTINCLUDES = -I.
+HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
+HOSTLDFLAGS =
+
diff --git a/nuttx/configs/lm3s6965-ek/nsh/defconfig b/nuttx/configs/lm3s6965-ek/nsh/defconfig
new file mode 100755
index 0000000000..c5aab7239c
--- /dev/null
+++ b/nuttx/configs/lm3s6965-ek/nsh/defconfig
@@ -0,0 +1,610 @@
+############################################################################
+# configs/lm3s6965-ek/nsh/defconfig
+#
+# Copyright (C) 2010 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+# used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+############################################################################
+#
+# architecture selection
+#
+# CONFIG_ARCH - identifies the arch subdirectory and, hence, the
+# processor architecture.
+# CONFIG_ARCH_family - for use in C code. This identifies the
+# particular chip family that the architecture is implemented
+# in.
+# CONFIG_ARCH_architecture - for use in C code. This identifies the
+# specific architecture within the chip familyl.
+# CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory
+# CONFIG_ARCH_CHIP_name - For use in C code
+# CONFIG_ARCH_BOARD - identifies the configs subdirectory and, hence,
+# the board that supports the particular chip or SoC.
+# CONFIG_ARCH_BOARD_name - for use in C code
+# CONFIG_ENDIAN_BIG - define if big endian (default is little endian)
+# CONFIG_BOARD_LOOPSPERMSEC - for delay loops
+# CONFIG_DRAM_SIZE - Describes the installed DRAM.
+# CONFIG_DRAM_START - The start address of DRAM (physical)
+# CONFIG_DRAM_END - Last address+1 of installed RAM
+# CONFIG_ARCH_IRQPRIO - The LM3S6965 supports interrupt prioritization
+# CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt
+# stack. If defined, this symbol is the size of the interrupt
+# stack in bytes. If not defined, the user task stacks will be
+# used during interrupt handling.
+# CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions
+# CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture.
+# CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that
+# cause a 100 second delay during boot-up. This 100 second delay
+# serves no purpose other than it allows you to calibratre
+# CONFIG_BOARD_LOOPSPERMSEC. You simply use a stop watch to measure
+# the 100 second delay then adjust CONFIG_BOARD_LOOPSPERMSEC until
+# the delay actually is 100 seconds.
+#
+CONFIG_ARCH=arm
+CONFIG_ARCH_ARM=y
+CONFIG_ARCH_CORTEXM3=y
+CONFIG_ARCH_CHIP=lm3s
+CONFIG_ARCH_CHIP_LM3S6965=y
+CONFIG_ARCH_BOARD=lm3s6965-ek
+CONFIG_ARCH_BOARD_LM3S6965EK=y
+CONFIG_BOARD_LOOPSPERMSEC=4531
+CONFIG_DRAM_SIZE=0x00010000
+CONFIG_DRAM_START=0x20000000
+CONFIG_DRAM_END=(CONFIG_DRAM_START+CONFIG_DRAM_SIZE)
+CONFIG_ARCH_IRQPRIO=y
+CONFIG_DRAM_NUTTXENTRY=0x00002000
+CONFIG_ARCH_INTERRUPTSTACK=n
+CONFIG_ARCH_STACKDUMP=y
+CONFIG_ARCH_LEDS=y
+CONFIG_ARCH_CALIBRATION=n
+
+#
+# Identify toolchain and linker options
+#
+CONFIG_LM3S_CODESOURCERYW=n
+CONFIG_LM3S_CODESOURCERYL=n
+CONFIG_LM3S_DEVKITARM=n
+CONFIG_LM3S_RAISONANCE=n
+CONFIG_LM3S_BUILDROOT=y
+CONFIG_LM3S_DFU=y
+
+#
+# LM3S6965 specific serial device driver settings
+#
+# CONFIG_UARTn_DISABLE - select to disable all support for
+# the UART
+# CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn for the
+# console and ttys0 (default is the UART0).
+# CONFIG_UARTn_RXBUFSIZE - Characters are buffered as received.
+# This specific the size of the receive buffer
+# CONFIG_UARTn_TXBUFSIZE - Characters are buffered before
+# being sent. This specific the size of the transmit buffer
+# CONFIG_UARTn_BAUD - The configure BAUD of the UART. Must be
+# CONFIG_UARTn_BITS - The number of bits. Must be either 7 or 8.
+# CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
+# CONFIG_UARTn_2STOP - Two stop bits
+#
+CONFIG_UART0_DISABLE=n
+CONFIG_UART1_DISABLE=y
+CONFIG_UART2_DISABLE=y
+CONFIG_UART0_SERIAL_CONSOLE=y
+CONFIG_UART1_SERIAL_CONSOLE=n
+CONFIG_UART2_SERIAL_CONSOLE=n
+CONFIG_UART0_TXBUFSIZE=256
+CONFIG_UART1_TXBUFSIZE=256
+CONFIG_UART2_TXBUFSIZE=256
+CONFIG_UART0_RXBUFSIZE=256
+CONFIG_UART1_RXBUFSIZE=256
+CONFIG_UART2_RXBUFSIZE=256
+CONFIG_UART0_BAUD=115200
+CONFIG_UART1_BAUD=115200
+CONFIG_UART2_BAUD=115200
+CONFIG_UART0_BITS=8
+CONFIG_UART1_BITS=8
+CONFIG_UART2_BITS=8
+CONFIG_UART0_PARITY=0
+CONFIG_UART1_PARITY=0
+CONFIG_UART2_PARITY=0
+CONFIG_UART0_2STOP=0
+CONFIG_UART1_2STOP=0
+CONFIG_UART2_2STOP=0
+
+#
+# LM3S6965 specific SSI device driver settings
+#
+# CONFIG_SSIn_DISABLE - select to disable all support for
+# the SSI
+# CONFIG_SSI_POLLWAIT - Select to disable interrupt driven SSI support
+# Poll-waiting is recommended if the interrupt rate would be to
+# high in the interrupt driven case.
+# CONFIG_SSI_TXLIMIT - Write this many words to the Tx FIFO before
+# emptying the Rx FIFO. If the SPI frequency is high and this
+# value is large, then larger values of this setting may cause
+# Rx FIFO overrun errors. Default: half of the Tx FIFO size (4).
+#
+CONFIG_SSI0_DISABLE=n
+CONFIG_SSI1_DISABLE=y
+CONFIG_SSI_POLLWAIT=y
+#CONFIG_SSI_TXLIMIT=4
+
+#
+# LM3S6965 specific serial device driver settings
+#
+# CONFIG_LM3S_ETHERNET - This must be set (along with CONFIG_NET)
+# to build the LM3S Ethernet driver
+# CONFIG_LM3S_ETHLEDS - Enable to use Ethernet LEDs on the board.
+# CONFIG_LM3S_BOARDMAC - If the board-specific logic can provide
+# a MAC address (via lm3s_ethernetmac()), then this should be selected.
+# CONFIG_LM3S_ETHHDUPLEX - Set to force half duplex operation
+# CONFIG_LM3S_ETHNOAUTOCRC - Set to suppress auto-CRC generation
+# CONFIG_LM3S_ETHNOPAD - Set to suppress Tx padding
+# CONFIG_LM3S_MULTICAST - Set to enable multicast frames
+# CONFIG_LM3S_PROMISCUOUS - Set to enable promiscuous mode
+# CONFIG_LM3S_BADCRC - Set to enable bad CRC rejection.
+# CONFIG_LM3S_DUMPPACKET - Dump each packet received/sent to the console.
+#
+CONFIG_LM3S_ETHERNET=y
+CONFIG_LM3S_ETHLEDS=n
+CONFIG_LM3S_BOARDMAC=n
+CONFIG_LM3S_ETHHDUPLEX=n
+CONFIG_LM3S_ETHNOAUTOCRC=n
+CONFIG_LM3S_ETHNOPAD=n
+CONFIG_LM3S_MULTICAST=n
+CONFIG_LM3S_PROMISCUOUS=n
+CONFIG_LM3S_BADCRC=n
+CONFIG_LM3S_DUMPPACKET=n
+
+#
+# General build options
+#
+# CONFIG_RRLOAD_BINARY - make the rrload binary format used with
+# BSPs from www.ridgerun.com using the tools/mkimage.sh script
+# CONFIG_INTELHEX_BINARY - make the Intel HEX binary format
+# used with many different loaders using the GNU objcopy program
+# Should not be selected if you are not using the GNU toolchain.
+# CONFIG_MOTOROLA_SREC - make the Motorola S-Record binary format
+# used with many different loaders using the GNU objcopy program
+# Should not be selected if you are not using the GNU toolchain.
+# CONFIG_RAW_BINARY - make a raw binary format file used with many
+# different loaders using the GNU objcopy program. This option
+# should not be selected if you are not using the GNU toolchain.
+# CONFIG_HAVE_LIBM - toolchain supports libm.a
+#
+CONFIG_RRLOAD_BINARY=n
+CONFIG_INTELHEX_BINARY=n
+CONFIG_MOTOROLA_SREC=n
+CONFIG_RAW_BINARY=y
+CONFIG_HAVE_LIBM=n
+
+#
+# General OS setup
+#
+# CONFIG_EXAMPLE - identifies the subdirectory in examples
+# that will be used in the build
+# CONFIG_DEBUG - enables built-in debug options
+# CONFIG_DEBUG_VERBOSE - enables verbose debug output
+# CONFIG_DEBUG_SYMBOLS - build without optimization and with
+# debug symbols (needed for use with a debugger).
+# CONFIG_MM_REGIONS - If the architecture includes multiple
+# regions of memory to allocate from, this specifies the
+# number of memory regions that the memory manager must
+# handle and enables the API mm_addregion(start, end);
+# CONFIG_ARCH_LOWPUTC - architecture supports low-level, boot
+# time console output
+# CONFIG_TICKS_PER_MSEC - The default system timer is 100Hz
+# or TICKS_PER_MSEC=10. This setting may be defined to
+# inform NuttX that the processor hardware is providing
+# system timer interrupts at some interrupt interval other
+# than 10 msec.
+# CONFIG_RR_INTERVAL - The round robin timeslice will be set
+# this number of milliseconds; Round robin scheduling can
+# be disabled by setting this value to zero.
+# CONFIG_SCHED_INSTRUMENTATION - enables instrumentation in
+# scheduler to monitor system performance
+# CONFIG_TASK_NAME_SIZE - Spcifies that maximum size of a
+# task name to save in the TCB. Useful if scheduler
+# instrumentation is selected. Set to zero to disable.
+# CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
+# Used to initialize the internal time logic.
+# CONFIG_GREGORIAN_TIME - Enables Gregorian time conversions.
+# You would only need this if you are concerned about accurate
+# time conversions in the past or in the distant future.
+# CONFIG_JULIAN_TIME - Enables Julian time conversions. You
+# would only need this if you are concerned about accurate
+# time conversion in the distand past. You must also define
+# CONFIG_GREGORIAN_TIME in order to use Julian time.
+# CONFIG_DEV_CONSOLE - Set if architecture-specific logic
+# provides /dev/console. Enables stdout, stderr, stdin.
+# CONFIG_DEV_LOWCONSOLE - Use the simple, low-level serial console
+# driver (minimul support)
+# CONFIG_MUTEX_TYPES: Set to enable support for recursive and
+# errorcheck mutexes. Enables pthread_mutexattr_settype().
+# CONFIG_PRIORITY_INHERITANCE : Set to enable support for priority
+# inheritance on mutexes and semaphores.
+# CONFIG_SEM_PREALLOCHOLDERS: This setting is only used if priority
+# inheritance is enabled. It defines the maximum number of
+# different threads (minus one) that can take counts on a
+# semaphore with priority inheritance support. This may be
+# set to zero if priority inheritance is disabled OR if you
+# are only using semaphores as mutexes (only one holder) OR
+# if no more than two threads participate using a counting
+# semaphore.
+# CONFIG_SEM_NNESTPRIO. If priority inheritance is enabled,
+# then this setting is the maximum number of higher priority
+# threads (minus 1) than can be waiting for another thread
+# to release a count on a semaphore. This value may be set
+# to zero if no more than one thread is expected to wait for
+# a semaphore.
+# CONFIG_FDCLONE_DISABLE. Disable cloning of all file descriptors
+# by task_create() when a new task is started. If set, all
+# files/drivers will appear to be closed in the new task.
+# CONFIG_FDCLONE_STDIO. Disable cloning of all but the first
+# three file descriptors (stdin, stdout, stderr) by task_create()
+# when a new task is started. If set, all files/drivers will
+# appear to be closed in the new task except for stdin, stdout,
+# and stderr.
+# CONFIG_SDCLONE_DISABLE. Disable cloning of all socket
+# desciptors by task_create() when a new task is started. If
+# set, all sockets will appear to be closed in the new task.
+# CONFIG_NXFLAT. Enable support for the NXFLAT binary format.
+# This format will support execution of NuttX binaries located
+# in a ROMFS filesystem (see examples/nxflat).
+#
+CONFIG_EXAMPLE=nsh
+CONFIG_DEBUG=n
+CONFIG_DEBUG_VERBOSE=n
+CONFIG_DEBUG_SYMBOLS=n
+CONFIG_DEBUG_NET=n
+CONFIG_MM_REGIONS=1
+CONFIG_ARCH_LOWPUTC=y
+CONFIG_RR_INTERVAL=200
+CONFIG_SCHED_INSTRUMENTATION=n
+CONFIG_TASK_NAME_SIZE=0
+CONFIG_START_YEAR=2010
+CONFIG_START_MONTH=5
+CONFIG_START_DAY=8
+CONFIG_GREGORIAN_TIME=n
+CONFIG_JULIAN_TIME=n
+CONFIG_DEV_CONSOLE=y
+CONFIG_DEV_LOWCONSOLE=n
+CONFIG_MUTEX_TYPES=n
+CONFIG_PRIORITY_INHERITANCE=n
+CONFIG_SEM_PREALLOCHOLDERS=0
+CONFIG_SEM_NNESTPRIO=0
+CONFIG_FDCLONE_DISABLE=n
+CONFIG_FDCLONE_STDIO=n
+CONFIG_SDCLONE_DISABLE=y
+CONFIG_NXFLAT=n
+
+#
+# The following can be used to disable categories of
+# APIs supported by the OS. If the compiler supports
+# weak functions, then it should not be necessary to
+# disable functions unless you want to restrict usage
+# of those APIs.
+#
+# There are certain dependency relationships in these
+# features.
+#
+# o mq_notify logic depends on signals to awaken tasks
+# waiting for queues to become full or empty.
+# o pthread_condtimedwait() depends on signals to wake
+# up waiting tasks.
+#
+CONFIG_DISABLE_CLOCK=n
+CONFIG_DISABLE_POSIX_TIMERS=n
+CONFIG_DISABLE_PTHREAD=n
+CONFIG_DISABLE_SIGNALS=n
+CONFIG_DISABLE_MQUEUE=n
+CONFIG_DISABLE_MOUNTPOINT=n
+CONFIG_DISABLE_ENVIRON=n
+CONFIG_DISABLE_POLL=y
+
+#
+# Misc libc settings
+#
+# CONFIG_NOPRINTF_FIELDWIDTH - sprintf-related logic is a
+# little smaller if we do not support fieldwidthes
+#
+CONFIG_NOPRINTF_FIELDWIDTH=n
+
+#
+# Allow for architecture optimized implementations
+#
+# The architecture can provide optimized versions of the
+# following to improve system performance
+#
+CONFIG_ARCH_MEMCPY=n
+CONFIG_ARCH_MEMCMP=n
+CONFIG_ARCH_MEMMOVE=n
+CONFIG_ARCH_MEMSET=n
+CONFIG_ARCH_STRCMP=n
+CONFIG_ARCH_STRCPY=n
+CONFIG_ARCH_STRNCPY=n
+CONFIG_ARCH_STRLEN=n
+CONFIG_ARCH_BZERO=n
+CONFIG_ARCH_KMALLOC=n
+CONFIG_ARCH_KZMALLOC=n
+CONFIG_ARCH_KFREE=n
+
+#
+# Sizes of configurable things (0 disables)
+#
+# CONFIG_MAX_TASKS - The maximum number of simultaneously
+# active tasks. This value must be a power of two.
+# CONFIG_MAX_TASK_ARGS - This controls the maximum number of
+# of parameters that a task may receive (i.e., maxmum value
+# of 'argc')
+# CONFIG_NPTHREAD_KEYS - The number of items of thread-
+# specific data that can be retained
+# CONFIG_NFILE_DESCRIPTORS - The maximum number of file
+# descriptors (one for each open)
+# CONFIG_NFILE_STREAMS - The maximum number of streams that
+# can be fopen'ed
+# CONFIG_NAME_MAX - The maximum size of a file name.
+# CONFIG_STDIO_BUFFER_SIZE - Size of the buffer to allocate
+# on fopen. (Only if CONFIG_NFILE_STREAMS > 0)
+# CONFIG_NUNGET_CHARS - Number of characters that can be
+# buffered by ungetc() (Only if CONFIG_NFILE_STREAMS > 0)
+# CONFIG_PREALLOC_MQ_MSGS - The number of pre-allocated message
+# structures. The system manages a pool of preallocated
+# message structures to minimize dynamic allocations
+# CONFIG_MQ_MAXMSGSIZE - Message structures are allocated with
+# a fixed payload size given by this settin (does not include
+# other message structure overhead.
+# CONFIG_MAX_WDOGPARMS - Maximum number of parameters that
+# can be passed to a watchdog handler
+# CONFIG_PREALLOC_WDOGS - The number of pre-allocated watchdog
+# structures. The system manages a pool of preallocated
+# watchdog structures to minimize dynamic allocations
+# CONFIG_PREALLOC_TIMERS - The number of pre-allocated POSIX
+# timer structures. The system manages a pool of preallocated
+# timer structures to minimize dynamic allocations. Set to
+# zero for all dynamic allocations.
+#
+CONFIG_MAX_TASKS=16
+CONFIG_MAX_TASK_ARGS=4
+CONFIG_NPTHREAD_KEYS=4
+CONFIG_NFILE_DESCRIPTORS=8
+CONFIG_NFILE_STREAMS=8
+CONFIG_NAME_MAX=32
+CONFIG_STDIO_BUFFER_SIZE=256
+CONFIG_NUNGET_CHARS=2
+CONFIG_PREALLOC_MQ_MSGS=4
+CONFIG_MQ_MAXMSGSIZE=32
+CONFIG_MAX_WDOGPARMS=2
+CONFIG_PREALLOC_WDOGS=4
+CONFIG_PREALLOC_TIMERS=4
+
+#
+# Filesystem configuration
+#
+# CONFIG_FS_FAT - Enable FAT filesystem support
+# CONFIG_FAT_SECTORSIZE - Max supported sector size
+# CONFIG_FS_ROMFS - Enable ROMFS filesystem support
+CONFIG_FS_FAT=y
+CONFIG_FS_ROMFS=n
+
+#
+# SPI-based MMC/SD driver
+#
+# CONFIG_MMCSD_NSLOTS
+# Number of MMC/SD slots supported by the driver
+# CONFIG_MMCSD_READONLY
+# Provide read-only access (default is read/write)
+# CONFIG_MMCSD_SPICLOCK - Maximum SPI clock to drive MMC/SD card.
+# Default is 20MHz.
+#
+CONFIG_MMCSD_NSLOTS=1
+CONFIG_MMCSD_READONLY=n
+CONFIG_MMCSD_SPICLOCK=12500000
+
+#
+# TCP/IP and UDP support via uIP
+# CONFIG_NET - Enable or disable all network features
+# CONFIG_NET_IPv6 - Build in support for IPv6
+# CONFIG_NSOCKET_DESCRIPTORS - Maximum number of socket descriptors per task/thread.
+# CONFIG_NET_SOCKOPTS - Enable or disable support for socket options
+# CONFIG_NET_BUFSIZE - uIP buffer size
+# CONFIG_NET_TCP - TCP support on or off
+# CONFIG_NET_TCP_CONNS - Maximum number of TCP connections (all tasks)
+# CONFIG_NET_TCP_READAHEAD_BUFSIZE - Size of TCP read-ahead buffers
+# CONFIG_NET_NTCP_READAHEAD_BUFFERS - Number of TCP read-ahead buffers (may be zero)
+# CONFIG_NET_TCPBACKLOG - Incoming connections pend in a backlog until
+# accept() is called. The size of the backlog is selected when listen() is called.
+# CONFIG_NET_MAX_LISTENPORTS - Maximum number of listening TCP ports (all tasks)
+# CONFIG_NET_UDP - UDP support on or off
+# CONFIG_NET_UDP_CHECKSUMS - UDP checksums on or off
+# CONFIG_NET_UDP_CONNS - The maximum amount of concurrent UDP connections
+# CONFIG_NET_ICMP - ICMP ping response support on or off
+# CONFIG_NET_ICMP_PING - ICMP ping request support on or off
+# CONFIG_NET_PINGADDRCONF - Use "ping" packet for setting IP address
+# CONFIG_NET_STATISTICS - uIP statistics on or off
+# CONFIG_NET_RECEIVE_WINDOW - The size of the advertised receiver's window
+# CONFIG_NET_ARPTAB_SIZE - The size of the ARP table
+# CONFIG_NET_BROADCAST - Broadcast support
+# CONFIG_NET_LLH_LEN - The link level header length
+# CONFIG_NET_FWCACHE_SIZE - number of packets to remember when looking for duplicates
+#
+CONFIG_NET=y
+CONFIG_NET_IPv6=n
+CONFIG_NSOCKET_DESCRIPTORS=8
+CONFIG_NET_SOCKOPTS=y
+CONFIG_NET_BUFSIZE=562
+CONFIG_NET_TCP=y
+CONFIG_NET_TCP_CONNS=8
+CONFIG_NET_NTCP_READAHEAD_BUFFERS=16
+CONFIG_NET_TCPBACKLOG=n
+CONFIG_NET_MAX_LISTENPORTS=8
+CONFIG_NET_UDP=y
+CONFIG_NET_UDP_CHECKSUMS=y
+#CONFIG_NET_UDP_CONNS=8
+CONFIG_NET_ICMP=y
+CONFIG_NET_ICMP_PING=y
+#CONFIG_NET_PINGADDRCONF=0
+CONFIG_NET_STATISTICS=y
+#CONFIG_NET_RECEIVE_WINDOW=
+#CONFIG_NET_ARPTAB_SIZE=8
+CONFIG_NET_BROADCAST=n
+#CONFIG_NET_LLH_LEN=14
+#CONFIG_NET_FWCACHE_SIZE=2
+
+#
+# UIP Network Utilities
+# CONFIG_NET_DHCP_LIGHT - Reduces size of DHCP
+# CONFIG_NET_RESOLV_ENTRIES - Number of resolver entries
+#
+CONFIG_NET_DHCP_LIGHT=n
+CONFIG_NET_RESOLV_ENTRIES=4
+
+#
+# Settings for examples/uip
+#
+CONFIG_EXAMPLE_UIP_IPADDR=(10<<24|0<<16|0<<8|2)
+CONFIG_EXAMPLE_UIP_DRIPADDR=(10<<24|0<<16|0<<8|1)
+CONFIG_EXAMPLE_UIP_NETMASK=(255<<24|255<<16|255<<8|0)
+CONFIG_EXAMPLE_UIP_DHCPC=n
+
+#
+# Settings for examples/nettest
+CONFIG_EXAMPLE_NETTEST_SERVER=n
+CONFIG_EXAMPLE_NETTEST_PERFORMANCE=n
+CONFIG_EXAMPLE_NETTEST_NOMAC=n
+CONFIG_EXAMPLE_NETTEST_IPADDR=(10<<24|0<<16|0<<8|2)
+CONFIG_EXAMPLE_NETTEST_DRIPADDR=(10<<24|0<<16|0<<8|1)
+CONFIG_EXAMPLE_NETTEST_NETMASK=(255<<24|255<<16|255<<8|0)
+CONFIG_EXAMPLE_NETTEST_CLIENTIP=(10<<24|0<<16|0<<8|1)
+
+#
+# Settings for examples/ostest
+#
+CONFIG_EXAMPLES_OSTEST_LOOPS=1
+CONFIG_EXAMPLES_OSTEST_STACKSIZE=2048
+CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS=3
+
+#
+# Settings for examples/nsh
+#
+# CONFIG_EXAMPLES_NSH_FILEIOSIZE - Size of a static I/O buffer
+# CONFIG_EXAMPLES_NSH_STRERROR - Use strerror(errno)
+# CONFIG_EXAMPLES_NSH_LINELEN - Maximum length of one command line
+# CONFIG_EXAMPLES_NSH_STACKSIZE - Stack size to use for new threads.
+# CONFIG_EXAMPLES_NSH_NESTDEPTH - Max number of nested if-then[-else]-fi
+# CONFIG_EXAMPLES_NSH_DISABLESCRIPT - Disable scripting support
+# CONFIG_EXAMPLES_NSH_DISABLEBG - Disable background commands
+# CONFIG_EXAMPLES_NSH_ROMFSETC - Use startup script in /etc
+# CONFIG_EXAMPLES_NSH_CONSOLE - Use serial console front end
+# CONFIG_EXAMPLES_NSH_TELNET - Use telnetd console front end
+# CONFIG_EXAMPLES_NSH_ARCHINIT - Platform provides architecture
+# specific initialization (nsh_archinitialize()).
+#
+# If CONFIG_EXAMPLES_NSH_TELNET is selected:
+# CONFIG_EXAMPLES_NSH_IOBUFFER_SIZE -- Telnetd I/O buffer size
+# CONFIG_EXAMPLES_NSH_DHCPC - Obtain address using DHCP
+# CONFIG_EXAMPLES_NSH_IPADDR - Provides static IP address
+# CONFIG_EXAMPLES_NSH_DRIPADDR - Provides static router IP address
+# CONFIG_EXAMPLES_NSH_NETMASK - Provides static network mask
+# CONFIG_EXAMPLES_NSH_NOMAC - Use a bogus MAC address
+#
+# If CONFIG_EXAMPLES_NSH_ROMFSETC is selected:
+# CONFIG_EXAMPLES_NSH_ROMFSMOUNTPT - ROMFS mountpoint
+# CONFIG_EXAMPLES_NSH_INITSCRIPT - Relative path to init script
+# CONFIG_EXAMPLES_NSH_ROMFSDEVNO - ROMFS RAM device minor
+# CONFIG_EXAMPLES_NSH_ROMFSSECTSIZE - ROMF sector size
+# CONFIG_EXAMPLES_NSH_FATDEVNO - FAT FS RAM device minor
+# CONFIG_EXAMPLES_NSH_FATSECTSIZE - FAT FS sector size
+# CONFIG_EXAMPLES_NSH_FATNSECTORS - FAT FS number of sectors
+# CONFIG_EXAMPLES_NSH_FATMOUNTPT - FAT FS mountpoint
+#
+CONFIG_EXAMPLES_NSH_FILEIOSIZE=512
+CONFIG_EXAMPLES_NSH_STRERROR=n
+CONFIG_EXAMPLES_NSH_LINELEN=64
+CONFIG_EXAMPLES_NSH_STACKSIZE=2048
+CONFIG_EXAMPLES_NSH_NESTDEPTH=3
+CONFIG_EXAMPLES_NSH_DISABLESCRIPT=n
+CONFIG_EXAMPLES_NSH_DISABLEBG=n
+CONFIG_EXAMPLES_NSH_ROMFSETC=n
+CONFIG_EXAMPLES_NSH_CONSOLE=y
+CONFIG_EXAMPLES_NSH_TELNET=y
+CONFIG_EXAMPLES_NSH_ARCHINIT=y
+CONFIG_EXAMPLES_NSH_IOBUFFER_SIZE=512
+CONFIG_EXAMPLES_NSH_DHCPC=n
+CONFIG_EXAMPLES_NSH_NOMAC=y
+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_ROMFSMOUNTPT="/etc"
+CONFIG_EXAMPLES_NSH_INITSCRIPT="init.d/rcS"
+CONFIG_EXAMPLES_NSH_ROMFSDEVNO=0
+CONFIG_EXAMPLES_NSH_ROMFSSECTSIZE=64
+CONFIG_EXAMPLES_NSH_FATDEVNO=1
+CONFIG_EXAMPLES_NSH_FATSECTSIZE=512
+CONFIG_EXAMPLES_NSH_FATNSECTORS=1024
+CONFIG_EXAMPLES_NSH_FATMOUNTPT=/tmp
+
+#
+# Architecture-specific NSH options
+#
+CONFIG_EXAMPLES_NSH_MMCSDSPIPORTNO=0
+CONFIG_EXAMPLES_NSH_MMCSDSLOTNO=0
+CONFIG_EXAMPLES_NSH_MMCSDMINOR=0
+
+#
+# Stack and heap information
+#
+# CONFIG_BOOT_RUNFROMFLASH - Some configurations support XIP
+# operation from FLASH but must copy initialized .data sections to RAM.
+# (should also be =n for the LM3S6965 Eval Kit which always runs from flash)
+# CONFIG_BOOT_COPYTORAM - Some configurations boot in FLASH
+# but copy themselves entirely into RAM for better performance.
+# CONFIG_CUSTOM_STACK - The up_ implementation will handle
+# all stack operations outside of the nuttx model.
+# CONFIG_STACK_POINTER - The initial stack pointer (arm7tdmi only)
+# CONFIG_IDLETHREAD_STACKSIZE - The size of the initial stack.
+# This is the thread that (1) performs the inital boot of the system up
+# to the point where user_start() is spawned, and (2) there after is the
+# IDLE thread that executes only when there is no other thread ready to
+# run.
+# CONFIG_USERMAIN_STACKSIZE - The size of the stack to allocate
+# for the main user thread that begins at the user_start() entry point.
+# CONFIG_PTHREAD_STACK_MIN - Minimum pthread stack size
+# CONFIG_PTHREAD_STACK_DEFAULT - Default pthread stack size
+# CONFIG_HEAP_BASE - The beginning of the heap
+# CONFIG_HEAP_SIZE - The size of the heap
+#
+CONFIG_BOOT_RUNFROMFLASH=n
+CONFIG_BOOT_COPYTORAM=n
+CONFIG_CUSTOM_STACK=n
+CONFIG_STACK_POINTER=
+CONFIG_IDLETHREAD_STACKSIZE=1024
+CONFIG_USERMAIN_STACKSIZE=2048
+CONFIG_PTHREAD_STACK_MIN=256
+CONFIG_PTHREAD_STACK_DEFAULT=2048
+CONFIG_HEAP_BASE=
+CONFIG_HEAP_SIZE=
diff --git a/nuttx/configs/lm3s6965-ek/nsh/ld.script b/nuttx/configs/lm3s6965-ek/nsh/ld.script
new file mode 100755
index 0000000000..61fe04c0eb
--- /dev/null
+++ b/nuttx/configs/lm3s6965-ek/nsh/ld.script
@@ -0,0 +1,108 @@
+/****************************************************************************
+ * configs/lm3s6965-ek/nsh/ld.script
+ *
+ * Copyright (C) 2010 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <spudmonkey@racsa.co.cr>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ * used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/* The LM3S6965 has 256Kb of FLASH beginning at address 0x0000:0000 and 64Kb
+ * of SRAM beginning at 0x2000:0000.
+ */
+
+MEMORY
+{
+ flash (rx) : ORIGIN = 0x00000000, LENGTH = 256K
+ sram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
+}
+
+OUTPUT_ARCH(arm)
+ENTRY(_stext)
+SECTIONS
+{
+ .text : {
+ _stext = ABSOLUTE(.);
+ *(.vectors)
+ *(.text .text.*)
+ *(.fixup)
+ *(.gnu.warning)
+ *(.rodata .rodata.*)
+ *(.gnu.linkonce.t.*)
+ *(.glue_7)
+ *(.glue_7t)
+ *(.got)
+ *(.gcc_except_table)
+ *(.gnu.linkonce.r.*)
+ _etext = ABSOLUTE(.);
+ } > flash
+
+ _eronly = ABSOLUTE(.); /* See below */
+
+ /* The LM3S6918 has 64Kb of SRAM beginning at the following address */
+
+ .data : {
+ _sdata = ABSOLUTE(.);
+ *(.data .data.*)
+ *(.gnu.linkonce.d.*)
+ CONSTRUCTORS
+ _edata = ABSOLUTE(.);
+ } > sram AT > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } >sram
+
+ .ARM.exidx : {
+ __exidx_start = ABSOLUTE(.);
+ *(.ARM.exidx*)
+ __exidx_end = ABSOLUTE(.);
+ } >sram
+
+ .bss : { /* BSS */
+ _sbss = ABSOLUTE(.);
+ *(.bss .bss.*)
+ *(.gnu.linkonce.b.*)
+ *(COMMON)
+ _ebss = ABSOLUTE(.);
+ } > sram
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_info 0 : { *(.debug_info) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ .debug_aranges 0 : { *(.debug_aranges) }
+}
diff --git a/nuttx/configs/lm3s6965-ek/nsh/setenv.sh b/nuttx/configs/lm3s6965-ek/nsh/setenv.sh
new file mode 100755
index 0000000000..3490a47d8e
--- /dev/null
+++ b/nuttx/configs/lm3s6965-ek/nsh/setenv.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+# configs/lm3s6965-ek/nsh/setenv.sh
+#
+# Copyright (C) 2010 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <spudmonkey@racsa.co.cr>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name NuttX nor the names of its contributors may be
+# used to endorse or promote products derived from this software
+# without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+if [ "$(basename $0)" = "setenv.sh" ] ; then
+ echo "You must source this script, not run it!" 1>&2
+ exit 1
+fi
+
+if [ -z "${PATH_ORIG}" ]; then export PATH_ORIG="${PATH}"; fi
+
+WD=`pwd`
+export BUILDROOT_BIN="${WD}/../buildroot/build_arm_nofpu/staging_dir/bin"
+export PATH="${BUILDROOT_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"
+
+echo "PATH : ${PATH}"
diff --git a/nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h b/nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h
index d83a6228d3..2b7514c21e 100755
--- a/nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h
+++ b/nuttx/configs/lm3s6965-ek/src/lm3s6965ek_internal.h
@@ -87,11 +87,28 @@
* 23 PC6/CCP3 Enable +15 V
*/
- /* GPIO for microSD card chip select */
+/* GPIO for microSD card chip select:
+ * - PD0: SD card chip select (CARDCSn)
+ */
+
+#define SDCCS_GPIO (GPIO_FUNC_OUTPUT | GPIO_PADTYPE_STDWPU | GPIO_STRENGTH_4MA | \
+ GPIO_VALUE_ONE | GPIO_PORTD | 0)
+
+/* GPIO for single LED:
+ * - PF0: User LED
+ */
+
+#define LED_GPIO (GPIO_FUNC_OUTPUT | GPIO_VALUE_ONE | GPIO_PORTF | 0)
+
+/* GPIOs for OLED:
+ * - PC7: OLED display data/control select (D/Cn)
+ * - PA3: OLED display chip select (CSn)
+ */
-#define SDCCS_GPIO (GPIO_FUNC_OUTPUT | GPIO_PADTYPE_STDWPU | GPIO_STRENGTH_4MA | \
- GPIO_VALUE_ONE | GPIO_PORTD | 0)
-#define LED_GPIO (GPIO_FUNC_OUTPUT | GPIO_VALUE_ONE | GPIO_PORTF | 0)
+#define OLEDDC_GPIO (GPIO_FUNC_OUTPUT | GPIO_PADTYPE_STDWPU | GPIO_STRENGTH_4MA | \
+ GPIO_VALUE_ONE | GPIO_PORTC | 7)
+#define OLEDCS_GPIO (GPIO_FUNC_OUTPUT | GPIO_PADTYPE_STDWPU | GPIO_STRENGTH_4MA | \
+ GPIO_VALUE_ONE | GPIO_PORTA | 3)
/************************************************************************************
* Public Functions
diff --git a/nuttx/configs/lm3s6965-ek/src/up_ssi.c b/nuttx/configs/lm3s6965-ek/src/up_ssi.c
index 2939067a8f..c7e2c8f1c9 100755
--- a/nuttx/configs/lm3s6965-ek/src/up_ssi.c
+++ b/nuttx/configs/lm3s6965-ek/src/up_ssi.c
@@ -145,7 +145,6 @@ void lm3s_spiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool select
uint8_t lm3s_spistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
{
-#warning "Need to check schematic"
ssidbg("Returning SPI_STATUS_PRESENT\n");
return SPI_STATUS_PRESENT;
}
diff --git a/nuttx/include/nuttx/spi.h b/nuttx/include/nuttx/spi.h
index 40abc3be19..ce97c51831 100644
--- a/nuttx/include/nuttx/spi.h
+++ b/nuttx/include/nuttx/spi.h
@@ -307,7 +307,8 @@ enum spi_dev_e
SPIDEV_NONE = 0, /* Not a valid value */
SPIDEV_MMCSD, /* Select SPI MMC/SD device */
SPIDEV_FLASH, /* Select SPI FLASH device */
- SPIDEV_ETHERNET /* Select SPI ethernet device */
+ SPIDEV_ETHERNET, /* Select SPI ethernet device */
+ SPIDEV_DISPLAY /* Select SPI LCD/OLED display device */
};
/* Certain SPI devices may required differnt clocking modes */
diff --git a/nuttx/net/net_close.c b/nuttx/net/net_close.c
index 1620065053..50421cb55b 100644
--- a/nuttx/net/net_close.c
+++ b/nuttx/net/net_close.c
@@ -1,7 +1,7 @@
/****************************************************************************
* net/net_close.c
*
- * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2007-2010 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@@ -277,7 +277,8 @@ int net_closesocket(FAR struct socket *psock)
{
/* Yes... free the connection structure */
- uip_udpfree(psock->s_conn); /* Free uIP resources */
+ conn->crefs = 0; /* No more references on the connection */
+ uip_udpfree(psock->s_conn); /* Free uIP resources */
}
else
{