diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index 5ca42e14d49..a74984b2cbc 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -3958,6 +3958,25 @@ build +
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.
+ CONFIG_NX
+ CONFIG_NX:
Enables overall support for graphics library and NX
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.
diff --git a/TODO b/TODO
index 380006f4707..6dafc5c4253 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-NuttX TODO List (Last updated July 12, 2011)
+NuttX TODO List (Last updated August 8, 2011)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
nuttx/
@@ -13,7 +13,7 @@ nuttx/
(16) Network (net/, drivers/net)
(2) USB (drivers/usbdev, drivers/usbhost)
(6) Libraries (lib/)
- (13) File system/Generic drivers (fs/, drivers/)
+ (10) File system/Generic drivers (fs/, drivers/)
(1) Graphics subystem (graphics/)
(1) Pascal add-on (pcode/)
(1) Documentation (Documentation/)
@@ -32,6 +32,7 @@ nuttx/
(3) AVR (arch/avr)
(0) Intel x86 (arch/x86)
(4) 8051 / MCS51 (arch/8051/)
+ (1) MIPS (arch/mips)
(2) Hitachi/Renesas SH-1 (arch/sh/src/sh1)
(4) Renesas M16C/26 (arch/sh/src/m16c)
(8) z80/z8/ez80 (arch/z80/)
@@ -345,6 +346,7 @@ o Network (net/, drivers/net)
and the packet was rejected.
Status: Open
Priority: Low... fix defconfig files as necessary.
+
o USB (drivers/usbdev, drivers/usbhost)
^^^^^^^^^^^^^^^^^^^^
@@ -411,10 +413,6 @@ o File system / Generic drivers (fs/, drivers/)
Status: Open
Priority: Low
- Description: FAT: long file names
- Status: Open
- Priority: Medium
-
Description: The CAN driver is untested. Add a test for the CAN driver.
Status: Open
Priority: Medium
@@ -443,17 +441,6 @@ o File system / Generic drivers (fs/, drivers/)
Status: Open
Priority: Medium-Low
- Description: At present, mmap() only works with file descriptors associated
- with a ROMFS file system. Generalize this logic so that if
- mmap is not supported by the file system or block driver, it
- will allocate memory and copy the file into RAM. This would
- need some centralized logic so that the memory region would
- be shared on later mmap()'s on the same inode. Reference counting
- would be required so that the multiply mmap()'ed region persists
- until the last munmap().
- Status: Open
- Priority: Low
-
Description: Block driver read-ahead buffer and write buffer support is
implemented but not yet tested.
Status: Open
@@ -470,7 +457,7 @@ o File system / Generic drivers (fs/, drivers/)
Status: Open
Priority: Low
- Description: Time stamping is not implemented in the NuttX FA file system.
+ Description: Time stamping is not implemented in the NuttX FAT file system.
See the following functions in fs/fat/fs_fat32util.c:
fat_systime2fattime() and fat_fattime2systime()
Status: Open
@@ -660,6 +647,13 @@ o ARM (arch/arm/)
This user context switching time could be improved by eliminating
the SVCalls and developing assembly language implementations
of the context save and restore logic.
+ Also, because interrupts are always disabled when the SVCall is
+ executed, the SVC goes to the hard fault handler where it must
+ be handled as a special case. I recall seeing some controls
+ somewhere that will allow to suppress one hard fault. I don't
+ recall the control, but something like this should be used before
+ executing the SVCall so that it vectors directly to the SVC
+ handler.
Status: Open
Priority: Low
@@ -922,17 +916,23 @@ o AVR (arch/avr)
Priority: Low. The AVR is probably not the architecuture that you want to use
for extensive string operations.
- Description: An SPI driver and a USB device driver exist for the AT90USB (as well
- as a USB mass storage example). However, this configuration is not
- fully debugged as of the NuttX-6.5 release.
- Update 7/11: (1) The SPI/SD driver has been verified, however, (2) I
- believe that the current teensy/usbstorage configuration uses too
- much SRAM for the system to behave sanely. A lower memory footprint
- version of the mass storage driver will be required before this can
- be debugged
+ Description: An SPI driver and a USB device driver exist for the AT90USB (as well
+ as a USB mass storage example). However, this configuration is not
+ fully debugged as of the NuttX-6.5 release.
+ Update 7/11: (1) The SPI/SD driver has been verified, however, (2) I
+ believe that the current teensy/usbstorage configuration uses too
+ much SRAM for the system to behave sanely. A lower memory footprint
+ version of the mass storage driver will be required before this can
+ be debugged
Status: Open
Priority: Medium-High.
+ Description: A complete port for the AVR32 is provided and has been partially
+ debugged. There may still be some issues with the serial port
+ driver.
+ Status: Open
+ Priority: Medium
+
o Intel x86 (arch/x86)
^^^^^^^^^^^^^^^^^^^^
@@ -974,6 +974,14 @@ o 8051 / MCS51 (arch/8051/)
Status: Open
Priority: Low -- only because there as so many other issues with 8051
+o MIPS (arch/mips)
+ ^^^^^^^^^^^^^^^^
+
+ Description: A port to the PIC32MX has been completed, but is pending debug.
+ Right now, there are some issues with intregating the PICKit 3
+ and MPLAB so I don't have capability to debug the port.
+ Status: Open
+ Priority: High
o Hitachi/Renesas SH-1 (arch/sh/src/sh1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/configs/README.txt b/configs/README.txt
index 41c90e38768..5eee4786cf9 100644
--- a/configs/README.txt
+++ b/configs/README.txt
@@ -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
diff --git a/configs/sam3u-ek/README.txt b/configs/sam3u-ek/README.txt
index a350c72d7e6..b94e668ef62 100755
--- a/configs/sam3u-ek/README.txt
+++ b/configs/sam3u-ek/README.txt
@@ -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
^^^^^^^^^^^^^^
diff --git a/configs/sam3u-ek/src/up_lcd.c b/configs/sam3u-ek/src/up_lcd.c
index 8b0a919f7b4..2de563f9b9c 100755
--- a/configs/sam3u-ek/src/up_lcd.c
+++ b/configs/sam3u-ek/src/up_lcd.c
@@ -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