From 07292be9c02226128959c0faa8a2e8022b9d8067 Mon Sep 17 00:00:00 2001
From: patacongo
-
-
-
-
-
-
- Last Updated: August 19, 2011 Last Updated: August 25, 2011
/dev/null
, /dev/zero
drivers./dev/null
, /dev/zero
, and loop drivers.
+
diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html
index 4289e9146a..17d7ad1761 100644
--- a/Documentation/NuttxPortingGuide.html
+++ b/Documentation/NuttxPortingGuide.html
@@ -12,7 +12,7 @@
@@ -59,10 +59,10 @@
2.13 nuttx/sched/
NuttX RTOS Porting Guide
-
2.14 nuttx/syscall/
2.15 nuttx/tools/
- 2.16 nuttx/Makefile
+ 2.16 nuttx/Makefile
2.17 apps/netutils
2.18 apps/nshlib
- 2.19 apps/examples/
+ 2.19 apps/examples/
3.0 Configuring and Building
@@ -126,6 +126,7 @@
6.3.8 SDIO Device Drivers
Appendix A: NuttX Configuration Settings
6.3.9 USB Host-Side Drivers
6.3.10 USB Device-Side Drivers
+ 6.3.11 Analog (ADC/DAC) Drivers
@@ -1000,22 +1001,43 @@
drivers/
|-- Makefile
+|-- analog/
+| |-- Make.defs
+| `-- (Common ADC and DAC driver source files)
|-- bch/
| |-- Make.defs
| `-- (bch driver source files)
+|-- input/
+| |-- Make.defs
+| `-- (Common touchscreen and keypad driver source files)
+|-- lcd/
+| |-- Make.defs
+| `-- (Common LCD driver source files)
|-- mmcsd/
| |-- Make.defs
-| `-- (mmcsd driver source files)
+| `-- (Common MMC/SD card driver source files)
+|-- mtd/
+| |-- Make.defs
+| `-- (Common memory technology device driver source files)
|-- net/
| |-- Make.defs
-| `-- (net driver source files)
+| `-- (Common network driver source files)
+|-- sensors/
+| |-- Make.defs
+| `-- (Common sensor driver source files)
+|-- serial/
+| |-- Make.defs
+| `-- (Common front-end character drivers for chip-specific UARTs)
|-- usbdev/
| |-- Make.defs
-| `-- (USB device driver source files)
+| `-- (Common USB device driver source files)
|-- usbhost/
| |-- Make.defs
-| `-- (USB host driver source files)
-`-- (common driver source files)
+| `-- (Common USB host driver source files)
+|-- wirelss/
+| |-- Make.defs
+| `-- (Common wireless driver source files)
+`-- (Various common driver source files)
2.6 nuttx/fs
@@ -1029,13 +1051,16 @@ fs/
|-- Makefile
|-- fat/
| |-- Make.defs
-| `-- (fat file system source files)
+| `-- (FAT file system source files)
+|-- mmap/
+| |-- Make.defs
+| `-- (RAM-based file mapping source files)
|-- nxffs/
| |-- Make.defs
-| `-- (NXFFS file system source files)
+| `-- (NuttX Flash File System (NXFFS) source files)
|-- romfs/
| |-- Make.defs
-| `-- (romfs file system source files)
+| `-- (ROMFS file system source files)
`-- (common file system source files)
@@ -1047,12 +1072,21 @@ fs/
graphics/
|-- Makefile
+|-- nxbe/
+| |-- Make.defs
+| `-- (NuttX graphics back-end (NXBE) source files)
+|-- nxfont/
+| |-- Make.defs
+| `-- (NuttX graphics font-related (NXFONT) source files)
|-- nxglib/
| |-- Make.defs
-| `-- (NuttX graphics library source files)
-|-- nx/
+| `-- (NuttX graphics library (NXGL) source files)
+|-- nxmu/
| |-- Make.defs
-| `-- (NuttX X-server source files)
+| `-- (NuttX graphics multi-user (NXMU) server source files)
+|-- nxsu/
+| |-- Make.defs
+| `-- (NuttX graphics single-user (NXSU) source files)
`-- (common file system source files)
@@ -1073,16 +1107,18 @@ graphics/
include/
|-- (standard header files)
|-- arpa/
-| `-- (standard header files)
+| `-- (Standard header files)
+|-- cxx/
+| `-- (C++ standard header files)
|-- net/
| `-- uip/
| `-- (uIP specific header files)
|-- netinet/
-| `-- (standard header files)
+| `-- (Standard header files)
|-- nuttx/
-| `-- (nuttx specific header files)
+| `-- (NuttX specific header files)
`- sys/
- `-- (more standard header files)
+ `-- (More standard header files)
2.9 nuttx/lib
@@ -1090,6 +1126,48 @@ include/
This directory holds a collection of standard libc-like functions with custom
interfaces into NuttX.
+ Normally the logic in this file builds to a single library (liblib.a
).
+ However, if NuttX is built as a separately compiled kernel (with CONFIG_NUTTX_KERNEL=y
), then the contents of this directory are built as two libraries:
+ One for use by user programs (libulib.a
) and one for use only within the <kernel> space (libklib.a
).
+
+ These user/kernel space libraries (along with the sycalls of nuttx/syscall
) are needed to support the two differing protection domains.
+
+ Directory structure: +
++lib/ +|-- libgen/ +| `-- (Implementation of functions from libgen.h) +|-- math/ +| `-- (Implementation of functions from fixedmath.h) +|-- misc/ +| `-- (Implementation of miscellaneous library functions) +|-- mqueue/ +| `-- (Implementation of some functions from mqueue.h) +|-- net/ +| `-- (Implementation of network-related library functions) +|-- queue/ +| `-- (Implementation of functions from queue.h) +|-- sched/ +| `-- (Implementation of some functions from sched.h) +|-- semaphore/ +| `-- (Implementation of some functions from semaphore.h) +|-- signal/ +| `-- (Implementation of some functions from signal.h) +|-- stdio/ +| `-- (Implementation of functions from stdio.h) +|-- stdlib/ +| `-- (Implementation of functions from stdlib.h) +|-- string/ +| `-- (Implementation of functions from string.h) +|-- time/ +| `-- (Implementation of some functions from time.h) +`-- unistd/ + `-- (Implementation of some functions from unistd.h) +2.10 nuttx/libxx
@@ -1115,7 +1193,7 @@ include/
2.14 nuttx/syscall
- If NuttX is built as a separately compiled kernel (with CONFIG_NUTTX_KERNEL=y), + If NuttX is built as a separately compiled kernel (with
CONFIG_NUTTX_KERNEL=y
), then the contents of this directory are built. This directory holds a syscall interface that can be used for communication between user-mode applications and the kernel-mode RTOS. @@ -3036,6 +3114,69 @@ extern void up_ledoff(int led); +6.3.11 Analog (ADC/DAC) Drivers
+
include/nuttx/analog/
.
+ drivers/analog/
.
+ arch/
<architecture>/src/
<chip> directory for the specific processor <architecture> and for the specific <chip> analog peripheral devices.
+ include/nuttx/analog/adc.h
.
+ All structures and APIs needed to work with ADC drivers are provided in this header file.
+ This header file includes:
+ drivers/analog/adc.c
.
+ The implementation of the common ADC character driver.
+ include/nuttx/analog/dac.h
.
+ All structures and APIs needed to work with DAC drivers are provided in this header file.
+ This header file includes:
+ drivers/analog/dac.c
.
+ The implementation of the common DAC character driver.
+ diff --git a/drivers/README.txt b/drivers/README.txt index 871a713df9..3c337956f9 100644 --- a/drivers/README.txt +++ b/drivers/README.txt @@ -38,12 +38,23 @@ rwbuffer.c Subdirectories of this directory: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +analog/ + This directory holds implementations of analog device drivers. + This includes drivers for Analog to Digital Conversion (ADC) as + well as drivers for Digital to Analog Conversion (DAC). + See include/nuttx/analog/*.h for registration information. + bch/ Contains logic that may be used to convert a block driver into a character driver. This is the complementary conversion as that performed by loop.c. See include/nuttx/fs.h for registration information. +analog/ + This directory holds implementations of input device drivers. + This includes such things as touchscreen and keypad drivers. + See include/nuttx/input/*.h for registration information. + lcd/ Drivers for parallel and serial LCD and OLED type devices. These drivers support interfaces as defined in include/nuttx/lcd/lcd.h @@ -74,7 +85,7 @@ sensors/ Drivers for various sensors serial/ - Front-ends character drivers for chip-specific UARTs. This provide + Front-end character drivers for chip-specific UARTs. This provide some TTY-like functionality and are commonly used (but not required for) the NuttX system console. See also include/nuttx/serial.h @@ -84,6 +95,9 @@ usbdev/ usbhost/ USB host drivers. See also include/nuttx/usb/usbhost.h +wireless/ + Drivers for various wireless devices. + Skeleton Files ^^^^^^^^^^^^^^ diff --git a/drivers/analog/Make.defs b/drivers/analog/Make.defs index ed09c709a4..8c868a84f0 100644 --- a/drivers/analog/Make.defs +++ b/drivers/analog/Make.defs @@ -39,7 +39,7 @@ ifeq ($(CONFIG_DAC),y) -# Include the common ADC character driver +# Include the common DAC character driver CSRCS += dac.c diff --git a/syscall/README.txt b/syscall/README.txt index 7797c5781f..42ef78b1f7 100644 --- a/syscall/README.txt +++ b/syscall/README.txt @@ -19,7 +19,7 @@ switch from user-mode to kernel-mode is accomplished using software interrupts (SWIs). SWIs are implemented differently and named differently by different manufacturers but all work essentially the same: A special instruction is executed in user-mode that causes a software generated -interrupt. The software generated interrrupt is caught within the kernel +interrupt. The software generated interrupt is caught within the kernel and handle in kernel-mode. Header Files @@ -117,7 +117,7 @@ database. Here the following definition is used: Proxy - A tiny bit of code that executes in the user space. A proxy has exactly the same function prototype as does the "real" function for which it proxies. However, it only serves to map the function - call into a syscall, marshalling all of the system call parameters + call into a syscall, marshaling all of the system call parameters as necessary. Stub - Another tiny bit of code that executes within the NuttX kernel |