Prep for 5.4 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2626 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
fb7845d7e3
commit
e612a4fc7c
@ -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 "sees" 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 "object" of the framebuffer "driver" to use
|
||||
<dt><code>dev</code>
|
||||
<dd>Framebuffer or LCD driver "object" to be used
|
||||
</dl></ul>
|
||||
</p>
|
||||
<p>
|
||||
@ -1016,7 +1024,7 @@ NXHANDLE nx_connectinstance(FAR const char *svrmqname);
|
||||
#include <nuttx/nx.h>
|
||||
|
||||
#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 "object" of the framebuffer "driver" to use
|
||||
<dt><code>dev</code>
|
||||
<dd>Frame buffer or LCD driver "object" 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 <NuttX-Directory>/tools
|
||||
./configure sim/nx
|
||||
@ -2722,6 +2732,23 @@ cp <NuttX-Directory>/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>
|
||||
|
@ -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 <spudmonkey@racsa.co.cr>
|
||||
nuttx-5.4 2010-04-23 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* 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 <spudmonkey@racsa.co.cr>
|
||||
|
||||
@ -1687,10 +1678,7 @@ buildroot-1.8 2009-12-21 <spudmonkey@racsa.co.cr>
|
||||
</table>
|
||||
|
||||
<ul><pre>
|
||||
nuttx-5.4 2010-xx-xx 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.
|
||||
nuttx-5.5 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user