Misc documentation/LCD-related updates

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3844 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-08-05 02:31:59 +00:00
parent 44c5e2ca31
commit aea5fb2c27
3 changed files with 65 additions and 38 deletions

View File

@ -499,29 +499,29 @@ defconfig -- This is a configuration file similar to the Linux
CONFIG_ARCH_MATH_H, CONFIG_ARCH_STDBOOL_H, CONFIG_ARCH_STDINT_H
CONFIG_ARCH_ROMGETC - In Harvard architectures, data accesses and
instruction accesses occur on different busses, perhaps
concurrently. All data accesses are performed on the data bus
unless special machine instructions are used to read data
from the instruction address space. Also, in the typical
MCU, the available SRAM data memory is much smaller that the
non-volatile FLASH instruction memory. So if the application
requires many constant strings, the only practical solution may
be to store those constant strings in FLASH memory where they
can only be accessed using architecture-specific machine
instructions.
CONFIG_ARCH_ROMGETC - In Harvard architectures, data accesses and
instruction accesses occur on different busses, perhaps
concurrently. All data accesses are performed on the data bus
unless special machine instructions are used to read data
from the instruction address space. Also, in the typical
MCU, the available SRAM data memory is much smaller that the
non-volatile FLASH instruction memory. So if the application
requires many constant strings, the only practical solution may
be to store those constant strings in FLASH memory where they
can only be accessed using architecture-specific machine
instructions.
If CONFIG_ARCH_ROMGETC is defined, then the architecture logic
must export the function up_romgetc(). up_romgetc() will simply
read one byte of data from the instruction space.
If CONFIG_ARCH_ROMGETC is defined, then the architecture logic
must export the function up_romgetc(). up_romgetc() will simply
read one byte of data from the instruction space.
If CONFIG_ARCH_ROMGETC, certain C stdio functions are effected:
(1) All format strings in printf, fprintf, sprintf, etc. are
assumed to lie in FLASH (string arguments for %s are still assumed
to reside in SRAM). And (2), the string argument to puts and fputs
is assumed to reside in FLASH. Clearly, these assumptions may have
to modified for the particular needs of your environment. There
is no "one-size-fits-all" solution for this problem.
If CONFIG_ARCH_ROMGETC, certain C stdio functions are effected:
(1) All format strings in printf, fprintf, sprintf, etc. are
assumed to lie in FLASH (string arguments for %s are still assumed
to reside in SRAM). And (2), the string argument to puts and fputs
is assumed to reside in FLASH. Clearly, these assumptions may have
to modified for the particular needs of your environment. There
is no "one-size-fits-all" solution for this problem.
Sizes of configurable things (0 disables)
@ -564,19 +564,19 @@ defconfig -- This is a configuration file similar to the Linux
Filesystem configuration
CONFIG_FS_FAT - Enable FAT filesystem support
CONFIG_FAT_SECTORSIZE - Max supported sector size
CONFIG_FAT_LCNAMES - Enable use of the NT-style upper/lower case 8.3
file name support.
CONFIG_FAT_LCNAMES - Enable use of the NT-style upper/lower case 8.3
file name support.
CONFIG_FAT_LFN - Enable FAT long file names. NOTE: Microsoft claims
patents on FAT long file name technology. Please read the
disclaimer in the top-level COPYING file and only enable this
feature if you understand these issues.
CONFIG_FAT_MAXFNAME - If CONFIG_FAT_LFN is defined, then the
default, maximum long file name is 255 bytes. This can eat up
a lot of memory (especially stack space). If you are willing
to live with some non-standard, short long file names, then
define this value. A good choice would be the same value as
selected for CONFIG_NAME_MAX which will limit the visibility
of longer file names anyway.
patents on FAT long file name technology. Please read the
disclaimer in the top-level COPYING file and only enable this
feature if you understand these issues.
CONFIG_FAT_MAXFNAME - If CONFIG_FAT_LFN is defined, then the
default, maximum long file name is 255 bytes. This can eat up
a lot of memory (especially stack space). If you are willing
to live with some non-standard, short long file names, then
define this value. A good choice would be the same value as
selected for CONFIG_NAME_MAX which will limit the visibility
of longer file names anyway.
CONFIG_FS_NXFFS: Enable NuttX FLASH file system (NXFF) support.
CONFIG_NXFFS_ERASEDSTATE: The erased state of FLASH.
This must have one of the values of 0xff or 0x00.
@ -671,6 +671,18 @@ defconfig -- This is a configuration file similar to the Linux
meaning to the driver. Board-specific logic may place restrictions on
this value.
Input Devices
CONFIG_INPUT
Enables general support for input devices
CONFIG_INPUT_TSC2007
If CONFIG_INPUT is selected, then this setting will enable building
of the TI TSC2007 touchscreen driver.
CONFIG_TSC2007_MULTIPLE
Normally only a single TI TSC2007 touchscreen is used. But if
there are multiple TSC2007 touchscreens, this setting will enable
multiple touchscreens with the same driver.
ENC28J60 Ethernet Driver Configuration Settings:
CONFIG_NET_ENC28J60 - Enabled ENC28J60 support
CONFIG_ENC28J60_SPIMODE - Controls the SPI mode
@ -886,6 +898,7 @@ defconfig -- This is a configuration file similar to the Linux
and CONFIG_SCHED_WORKQUEUE=y
USB serial device class driver
CONFIG_USBSER
Enable compilation of the USB serial driver
CONFIG_USBSER_EPINTIN
@ -907,6 +920,7 @@ defconfig -- This is a configuration file similar to the Linux
Size of the serial receive/transmit buffers
USB Storage Device Configuration
CONFIG_USBSTRG
Enable compilation of the USB storage driver
CONFIG_USBSTRG_EP0MAXPACKET
@ -954,6 +968,12 @@ defconfig -- This is a configuration file similar to the Linux
device.
CONFIG_LCD_MAXCONTRAST - The maximum contrast value for an
LCD device.
CONFIG_LCD_LANDSCAPE, CONFIG_LCD_PORTRAIT, CONFIG_LCD_RLANDSCAPE,
and CONFIG_LCD_RPORTRAIT - Some LCD drivers may support
these options to present the display in landscape, portrait,
reverse landscape, or reverse portrait orientations. Check
the README.txt file in each board configuration directory to
see if any of these are supported by the board LCD logic.
CONFIG_NX_MOUSE
Build in support for mouse input.
CONFIG_NX_KBD

View File

@ -295,6 +295,13 @@ SAM3U-EK-specific Configuration Options
CONFIG_U[S]ARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity
CONFIG_U[S]ARTn_2STOP - Two stop bits
LCD Options. Other than the standard LCD configuration options
(see configs/README.txt), the SAM3U-EK driver also supports:
CONFIG_LCD_PORTRAIT - Present the display in the standard 240x320
"Portrait" orientation. Default: The display is rotated to
support a 320x240 "Landscape" orientation.
Configurations
^^^^^^^^^^^^^^

View File

@ -2,7 +2,7 @@
* configs/sam3u-ek/src/up_lcd.c
* arch/arm/src/board/up_lcd.c
*
* Copyright (C) 2010 Gregory Nutt. All rights reserved.
* Copyright (C) 2010-2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@ -168,12 +168,12 @@
/* Graphics Capbilities ***************************************************************/
/* LCD resolution: 320 (columns) by 240 (rows). The physical dimensions of the device
* are really 240 (columns) by 320 (rows), but unless CONFIG_SAM3U_240x320 is defined,
* are really 240 (columns) by 320 (rows), but unless CONFIG_LCD_PORTRAIT is defined,
* we swap rows and columns in setcursor to make things behave nicer (there IS a
* performance hit for this swap!).
*/
#ifdef CONFIG_SAM3U_240x320
#ifdef CONFIG_LCD_PORTRAIT
# define SAM3UEK_XRES 240
# define SAM3UEK_YRES 320
#else
@ -606,7 +606,7 @@ static int sam3u_putrun(fb_coord_t row, fb_coord_t col, FAR const uint8_t *buffe
gvdbg("row: %d col: %d npixels: %d\n", row, col, npixels);
DEBUGASSERT(buffer && ((uintptr_t)buffer & 1) == 0);
#ifdef CONFIG_SAM3U_240x320
#ifdef CONFIG_LCD_PORTRAIT
/* Set up to write the run. */
sam3u_setcursor(row, col);
@ -672,7 +672,7 @@ static int sam3u_getrun(fb_coord_t row, fb_coord_t col, FAR uint8_t *buffer,
gvdbg("row: %d col: %d npixels: %d\n", row, col, npixels);
DEBUGASSERT(buffer && ((uintptr_t)buffer & 1) == 0);
#ifdef CONFIG_SAM3U_240x320
#ifdef CONFIG_LCD_PORTRAIT
/* Set up to read the run */
sam3u_setcursor(row, col);