9
0
Fork 0

Prep for 5.4 release

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@2626 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2010-04-24 00:27:11 +00:00
parent 97626fce12
commit a926bbf2fc
4 changed files with 120 additions and 74 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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:
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>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 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>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:
</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;
nuttx-5.4 2010-04-23 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.
* 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;

View File

@ -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.