summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-04-24 00:27:11 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-04-24 00:27:11 +0000
commit81ce10304b19f41f9c918d25f97c98e6f0d6c9e5 (patch)
tree9bb7ba77610f3569024249dcdfb3a83151c685af
parent85d9df0abee0d1754bb66b4088f66d1f3fba49d1 (diff)
downloadnuttx-5.4.tar.gz
nuttx-5.4.tar.bz2
nuttx-5.4.zip
Prep for 5.4 releasenuttx-5.4
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2626 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog6
-rw-r--r--nuttx/Documentation/NXGraphicsSubsystem.html77
-rw-r--r--nuttx/Documentation/NuttX.html86
-rw-r--r--nuttx/ReleaseNotes27
4 files changed, 121 insertions, 75 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 5ee9f4ac5..228520d16 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -1089,8 +1089,12 @@
PIO decoding. No PIOs greater than 15 could be used on any port! Obviously,
no one has been using this port.
-5.4 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
+5.4 2010-04-23 Gregory Nutt <spudmonkey@racsa.co.cr>
* 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.
+
+5.5 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
diff --git a/nuttx/Documentation/NXGraphicsSubsystem.html b/nuttx/Documentation/NXGraphicsSubsystem.html
index a712bfa6e..382ca06dc 100644
--- a/nuttx/Documentation/NXGraphicsSubsystem.html
+++ b/nuttx/Documentation/NXGraphicsSubsystem.html
@@ -12,7 +12,7 @@
<h1><big><font color="#3c34ec">
<i>NX Graphics Subsystem</i>
</font></big></h1>
- <p>Last Updated: April 16, 2010</p>
+ <p>Last Updated: April 23, 2010</p>
</td>
</tr>
</table>
@@ -212,7 +212,7 @@
</tr>
<tr>
<td><small>Figure 1.
- This sceen shot shows the final frame for the NuttX example at <code>examples/nx</code>
+ This scren shot shows the final frame for the NuttX example at <code>examples/nx</code>
running on the simulated, Linux x86 platform with simulated framebuffer output to
an X window.
This picture shows to framed windows with (blank) toolbars.
@@ -256,12 +256,20 @@
<i>back-end</i> logic. This back-end supports only a primitive set of graphic
and rendering operations.
</li>
- <li><b>Framebuffer Device Interface</b>.
- NX supports any graphics device using the NuttX framebuffer <i>driver</i>
- interface.
- (However, the dependency of NX on framebuffer drivers is minimal and the
- logic could be extended to other interfaces -- such as a serial LCD -- with
- some minimal effort).
+ <li><b>Device Interface</b>.
+ NX supports any graphics device either of two device interfaces:
+ <ul>
+ <li>
+ Any device with random accesss video memory using the NuttX framebuffer driver interface
+ (see <code>include/nuttx/fb.h</code>).
+ </li>
+ <li>
+ Any LCD-like device than can accept raster line <i>runs</i> through a parallel or serial interface
+ (see <code>include/nuttx/lcd.h</code>).
+ By default, NX is configured to use the frame buffer driver unless <code>CONFIG_NX_LCDDRIVER</code> is defined =y in your NuttX configuration file.
+ </li>
+ </ul>
+ </li>
<li><b>Transparent to NX Client</b>.
The window client on &quot;sees&quot; the sub-window that is operates in
and does not need to be concerned with the virtual, vertical space (other
@@ -310,7 +318,7 @@
<p>
NXGLIB is a standalone library that contains low-level graphics utilities and
- direct framebuffer rendering logic. NX is built on top NXGLIB.
+ direct framebuffer or LCD rendering logic. NX is built on top NXGLIB.
</p>
<h3>1.3.2 <a name="nx1">NX (<code>NXSU</code> and <code>NXMU</code>)</a></h3>
@@ -335,7 +343,7 @@
<p><b>NXNULL?</b>
At one time, I also envisoned a <i>NULL</i> front-end that did not support windowing
- at all but, rather, simply provided the entire framebuffer memory as one dumb window.
+ at all but, rather, simply provided the entire framebuffer or LCD memory as one dumb window.
This has the advantage that the same NX APIs can be used on the one dumb window as
for the other NX windows.
This would be in the NuttX spirit of scalability.
@@ -412,7 +420,7 @@
Only those APIs intended for application usage are documented here
See <code>include/nuttx/nxglib.h</code> for the full set of APIs;
those APIs might be of interest if you are rendering directly into
- framebuffer memory.
+ framebuffer or LCD memory.
</p>
<h3>2.2.1 <a name="nxgltypes">NXGL Types</a></h3>
@@ -922,7 +930,7 @@ void (*kbdin)(NXWINDOW hwnd, uint8_t nch, FAR const uint8_t *ch, FAR void *arg);
#ifdef CONFIG_NX_MULTIUSER
int nx_runinstance(FAR const char *mqname, FAR struct fb_vtable_s *fb);
-#define nx_run(fb) nx_runinstance(NX_DEFAULT_SERVER_MQNAME, fb)
+#define nx_run(fb) nx_runinstance(NX_DEFAULT_SERVER_MQNAME, dev)
#endif
</pre></ul>
<p>
@@ -945,8 +953,8 @@ int nx_runinstance(FAR const char *mqname, FAR struct fb_vtable_s *fb);
<dt><code>mqname</code>
<dd>
- The name for the server incoming message queue
- <dt><code>fb</code>
- <dd>Vtable &quot;object&quot; of the framebuffer &quot;driver&quot; to use
+ <dt><code>dev</code>
+ <dd>Framebuffer or LCD driver &quot;object&quot; to be used
</dl></ul>
</p>
<p>
@@ -1016,7 +1024,7 @@ NXHANDLE nx_connectinstance(FAR const char *svrmqname);
#include &lt;nuttx/nx.h&gt;
#ifndef CONFIG_NX_MULTIUSER
-NXHANDLE nx_open(FAR struct fb_vtable_s *fb);
+NXHANDLE nx_open(FAR struct fb_vtable_s *dev);
#endif
</pre></ul>
<p>
@@ -1032,8 +1040,8 @@ NXHANDLE nx_open(FAR struct fb_vtable_s *fb);
<p>
<b>Input Parameters:</b>
<ul><dl>
- <dt><code>fb</code>
- <dd>Vtable &quot;object&quot; of the framebuffer &quot;driver&quot; to use
+ <dt><code>dev</code>
+ <dd>Frame buffer or LCD driver &quot;object&quot; to be used.
<dt><code>cb</code>
<dd>Callbacks used to process received NX server messages
</dl></ul>
@@ -2525,8 +2533,8 @@ int nxf_convert_32bpp(FAR uint32_t *dest, uint16_t height,
<dt><code>graphics/nxglib</code>
<dd>The NuttX tiny graphics library.
The directory contains generic utilities support operations on primitive graphics objects
- and logic to rasterize directly into a framebuffer.
- It has no concept of windows (other than the one, framebuffer window).
+ and logic to rasterize directly into a framebuffer or through an LCD driver interface.
+ It has no concept of windows (other than the one, framebuffer or LCD window).
<dt><code>graphics/nxbe</code>
<dd>This is the <i>back-end</i> of a tiny windowing system.
@@ -2708,12 +2716,14 @@ make
</pre></ul>
</li>
<li>
- A preferred configuration extends the test with a simulated framebuffer driver
- that uses an X window as a framebuffer.
- This configuration uses the configuration file at <code>configs/sim/nx/defconfig-x11</code>.
- This is a superior test configuration because the X window appears at your desktop
- and you can see the NX output.
- This preferred configuration can be built as follows:
+ <p>
+ A preferred configuration extends the test with a simulated framebuffer driver
+ that uses an X window as a framebuffer.
+ This configuration uses the configuration file at <code>configs/sim/nx/defconfig-x11</code>.
+ This is a superior test configuration because the X window appears at your desktop
+ and you can see the NX output.
+ This preferred configuration can be built as follows:
+ </p>
<ul><pre>
cd &lt;NuttX-Directory&gt;/tools
./configure sim/nx
@@ -2722,6 +2732,23 @@ cp &lt;NuttX-Directory&gt;/configs/sim/nx/defconfig-x11 .config
make
./nuttx
</pre></ul>
+ <p>
+ <i>Update:</i>
+ The sim target has suffered some bit-rot over the years and so the following caveats need to be added:
+ <ul>
+ <li>
+ The X target does not build under recent Cygwin configurations.
+ </li>
+ <li>
+ The X target does not build under current Ubuntu distributions;
+ it fails to locate the X header files.
+ </li>
+ <li>
+ The sim target itself is broken under 64-bit Linux.
+ This is because the sim target is based upon some assembly language setjmp/longjmp logic that only works on 32-bit systems.
+ </li>
+ </ul>
+ </p>
</li>
</ol>
<p>
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index 4b8d9ebe2..3da1c04a4 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: April 16, 2010</p>
+ <p>Last Updated: April 23, 2010</p>
</td>
</tr>
</table>
@@ -729,37 +729,39 @@
</tr>
</table>
-<p><b>nuttx-5.3 Release Notes</b>:
+<p><b>nuttx-5.4 Release Notes</b>:
<p>
- This 50<sup>th</sup> release of NuttX was made on April 11, 2010 and is available for download from the
+ This 51<sup>st</sup> release of NuttX was made on April 23, 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 suport for one new achitecture:
-</p>
-<ul>
- <li>A basic port for the NXP LPC2378 MCU on the Olimex-LPC2378 development board was contributed by Rommel Marcelo.</li>
-</ul>
-<p>
- And extensions to two existing architures:
+ This release includes one new, important extension to the
+ <a href="http://www.nuttx.org/NXGraphicsSubsystem.html">NX graphics system</a>:
+ <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>
+ </ul>
</p>
-<ul>
- <li>David Hewson contributed a dual-speed (full/high) USB device-side driver
- for the NXP LPC3131 on the Embedded Artists EA3131 development board.</li>
- <li>A DMA driver and a high speed MCI driver for the Atmel AT91SAM3U are
- included (but not fully tested in this release).</li>
-</ul>
<p>
- Two important bugfix was also included:
+ 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>
-<ul>
- <li>An important fix to the USB mass storage driver was contributed by David Hewson.</li>
- <li>A serious error in the AT91SAM3U PIO handling was fixed.</li>
-</ul>
<table width ="100%">
<tr bgcolor="#e4e4e4">
@@ -1061,9 +1063,9 @@
<p>
<b>Atmel AT91SAM3U</b>.
This port uses the <a href=" http://www.atmel.com/">Atmel</a> SAM3U-EK
- development board that features the AT91SAM3U4E MCU.
- This port uses a GNU arm-elf or arm-eabi toolchain* under either Linux or Cygwin (with native Windows GNU
- tools or Cygwin-based GNU tools).
+ development board that features the AT91SAM3U4E MCU.
+ This port uses a GNU arm-elf or arm-eabi toolchain* under either Linux or Cygwin (with native Windows GNU
+ tools or Cygwin-based GNU tools).
</p>
<ul>
<p>
@@ -1072,11 +1074,14 @@
logic, interrupt driven serial console, and system timer interrupts.
That release passes the NuttX OS test and is proven to have a valid OS implementation.
A configuration to support the NuttShell is also included.
+ NuttX version 5.4 adds support for the HX8347 LCD on the SAM3U-EK board.
+ This LCD support includes an example using the
+ <a href=" http://www.nuttx.org/NXGraphicsSubsystem.html">NX graphics system</a>.
</p>
<p>
Subsequent NuttX releases will extend this port and add support for SDIO-based SD cards and
USB device (and possible LCD support).
- These extensions may or may not happen by the Nuttx 5.3 release as my plate is kind of full now.
+ These extensions may or may not happen by the Nuttx 5.5 release as my plate is kind of full now.
</p>
<p>
<b>Development Environments:</b>
@@ -1638,26 +1643,12 @@ Other memory:
</table>
<ul><pre>
-nuttx-5.3 2010-04-11 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * arch/arm/src/lpc313x/lpc313x_usbdev.c - USB driver for the LPC313x
- contributed by David Hewson.
- * configs/ea3131/src/up_ubstrgc.c, configs/ea3131/usbserial,
- configs/ea3131/usbstorage - USB storage and USB serial example support
- contributed by David Hewson.
- * Several important compilation error fixes in lpc313x and (dualspeed) USB
- code also contributed by David Hewson.
- * arch/arm/src/sam3u/sam3u_dmac.c - DMA support for the AT90SAM3U.
- * arch/arm/src/sam3u/sam3u_hsmci.c - SD memory card support for AT90SAM3U
- (Neither the DMA nor the HSMCI driver are functional on the initial checkin).
- * drivers/usbdev - Several important fixes to the USB mass storage driver
- submitted by David Hewson.
- * configs/olimex-lpc2378, arch/arm/include/lpc2378, and arch/arm/src/lpc2378 -
- Basic port of the NXP 2378 on the Olimex board contributed by
- Rommel Marcelo.
- * arch/arm/src/sam3u/sam3u_internal.h - Fixed a critical bug in the AT91SAM3U
- PIO decoding. No PIOs greater than 15 could be used on any port! Obviously,
- no one has been using this port.
+nuttx-5.4 2010-04-23 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.
pascal-2.0 2010-12-21 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
@@ -1687,10 +1678,7 @@ buildroot-1.8 2009-12-21 &lt;spudmonkey@racsa.co.cr&gt;
</table>
<ul><pre>
-nuttx-5.4 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.
+nuttx-5.5 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/ReleaseNotes b/nuttx/ReleaseNotes
index 0b329f101..7618bc7d0 100644
--- a/nuttx/ReleaseNotes
+++ b/nuttx/ReleaseNotes
@@ -1199,3 +1199,30 @@ Two important bugfix was also included:
* An important fix to the USB mass storage driver was contributed by
David Hewson.
* A serious error in the AT91SAM3U PIO handling was fixed.
+
+nuttx-5.4
+^^^^^^^^^
+
+This is the 51st release of NuttX. This release includes one new, important
+extension to th NX graphics system (See http://www.nuttx.org/NXGraphicsSubsystem.html).
+
+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.
+
+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.
+
+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).
+
+
+ * 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.