From 906b527dec92422b728bb96243346f917882d9cb Mon Sep 17 00:00:00 2001
From: patacongo
@@ -1352,7 +1352,7 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code NXP LPC214x. Support is provided for the NXP LPC214x family of processors. In particular, support is provided for the mcu123.com lpc214x evaluation board (LPC2148). - This port also used the GNU arm-elf toolchain* under Linux or Cygwin. + This port also used the GNU arm-nuttx-elf toolchain* under Linux or Cygwin.
@@ -1386,7 +1386,7 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code Support is provided for the NXP LPC2378 MCU. In particular, support is provided for the Olimex-LPC2378 development board. This port was contributed by Rommel Marcelo is was first released in NuttX-5.3. - This port also used the GNU arm-elf toolchain* under Linux or Cygwin. + This port also used the GNU arm-nuttx-elf toolchain* under Linux or Cygwin.
@@ -1413,7 +1413,7 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code STMicro STR71x. Support is provided for the STMicro STR71x family of processors. In particular, support is provided for the Olimex STR-P711 evaluation board. - This port also used the GNU arm-elf toolchain* under Linux or Cygwin. + This port also used the GNU arm-nuttx-elf toolchain* under Linux or Cygwin.
@@ -1450,7 +1450,7 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Freescale MC9328MX1 or i.MX1. - This port uses the Freescale MX1ADS development board with a GNU arm-elf toolchain* + This port uses the Freescale MX1ADS development board with a GNU arm-nuttx-elf toolchain* under either Linux or Cygwin.
Luminary/TI Stellaris LM3S6918. This port uses the Micromint Eagle-100 development - board with a GNU arm-elf toolchain* under either Linux or Cygwin. + board with a GNU arm-nuttx-elf toolchain* under either Linux or Cygwin.
@@ -1601,7 +1601,7 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
Luminary/TI Stellaris LM3S6965. - This port uses the Stellaris LM3S6965 Ethernet Evalution Kit with a GNU arm-elf toolchain* + This port uses the Stellaris LM3S6965 Ethernet Evalution Kit with a GNU arm-nuttx-elf toolchain* under either Linux or Cygwin.
Luminary/TI Stellaris LM3S8962. - This port uses the Stellaris EKC-LM3S8962 Ethernet+CAN Evalution Kit with a GNU arm-elf toolchain* + This port uses the Stellaris EKC-LM3S8962 Ethernet+CAN Evalution Kit with a GNU arm-nuttx-elf toolchain* under either Linux or Cygwin. Contributed by Larry Arnold.
@@ -1733,7 +1733,7 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code- These ports uses a GNU arm-elf toolchain* under either Linux or Cygwin (with native Windows GNU + These ports uses a GNU arm-nuttx-elf toolchain* under either Linux or Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).
The Nucleus 2G board, the mbed board, and the LPCXpresso all feature the NXP LPC1768 MCU; the Olimex LPC1766-STK board features an LPC1766. - All use a GNU arm-elf or arm-eabi toolchain* under either Linux or Cygwin (with native Windows GNU tools or Cygwin-based GNU tools). + All use a GNU arm-nuttx-elf or arm-eabi toolchain* under either Linux or Cygwin (with native Windows GNU tools or Cygwin-based GNU tools).
@@ -2386,7 +2386,7 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Both use a GNU arm-elf toolchain* under Linux or Cygwin. + Both use a GNU arm-nuttx-elf toolchain* under Linux or Cygwin. The NuttX buildroot provides a properly patched GCC 3.4.4 toolchain that is highly optimized for the m9s12x family.
m16c-elf-ld
link fails with the following message:
+ because the GNU m16c-nuttx-elf-ld
link fails with the following message:
m32c-elf-ld: BFD (GNU Binutils) 2.19 assertion fail /home/Owner/projects/nuttx/buildroot/toolchain_build_m32c/binutils-2.19/bfd/elf32-m32c.c:482
+ m32c-nuttx-elf-ld: BFD (GNU Binutils) 2.19 assertion fail /home/Owner/projects/nuttx/buildroot/toolchain_build_m32c/binutils-2.19/bfd/elf32-m32c.c:482
Where the reference line is:
@@ -3583,7 +3583,7 @@ buildroot-1.10 2011-05-06 <gnutt@nuttx.org> i486 ELF binaries. But that will not work under Cygwin! The Cygwin toolchain (and probably MinGW), build DOS MZ format executables (i.e., .exe files). That is probably not usable for most NuttX targets. - Instead, you should use this i486-elf-gcc to generate true ELF binaries + Instead, you should use this i486-nuttx-elf-gcc to generate true ELF binaries under Cygwin. * Makefile - Alter copy arguments to avoid permissions problems when copying NuttX header files. diff --git a/Documentation/NuttXLinks.html b/Documentation/NuttXLinks.html index 7196ea3ea3..b69a354fad 100644 --- a/Documentation/NuttXLinks.html +++ b/Documentation/NuttXLinks.html @@ -22,6 +22,7 @@
abc-elf-ld -r -d -warn-common -o $@ $^
abc-nuttx-elf-ld -r -d -warn-common -o $@ $^
abc-elf-ld -r -d -warn-common -T binfmt/libnxflat/gnu-nxflat.ld -no-check-sections -o $@ hello.o hello-thunk.o
+ abc-nuttx-elf-ld -r -d -warn-common -T binfmt/libnxflat/gnu-nxflat.ld -no-check-sections -o $@ hello.o hello-thunk.o
configs/ea3131
:
Embedded Artists EA3131 Development bard. This board is based on the
- an NXP LPC3131 MCU. This OS is built with the arm-elf toolchain.
+ an NXP LPC3131 MCU. This OS is built with the arm-nuttx-elf toolchain.
STATUS: This port is complete and mature.
configs/eagle100
:
Micromint Eagle-100 Development board. This board is based on the
an ARM Cortex-M3 MCU, the Luminary LM3S6918. This OS is built with the
- arm-elf toolchain. STATUS: This port is complete and mature.
+ arm-nuttx-elf toolchain. STATUS: This port is complete and mature.
configs/ez80f0910200kitg
@@ -805,7 +805,7 @@
configs/lm3s6965-ek
:
Stellaris LM3S6965 Evaluation Kit. This board is based on the
an ARM Cortex-M3 MCU, the Luminary/TI LM3S6965. This OS is built with the
- arm-elf toolchain. STATUS: This port is complete and mature.
+ arm-nuttx-elf toolchain. STATUS: This port is complete and mature.
configs/lm3s8962-ek
:
@@ -827,13 +827,13 @@
configs/mbed
:
The configurations in this directory support the mbed board (http://mbed.org)
that features the NXP LPC1768 microcontroller. This OS is also built
- with the arm-elf toolchain. STATUS: Contributed.
+ with the arm-nuttx-elf toolchain. STATUS: Contributed.
configs/mcu123-lpc214x
:
This port is for the NXP LPC2148 as provided on the mcu123.com
lpc214x development board.
- This OS is also built with the arm-elf toolchain* under Linux or Cygwin.
+ This OS is also built with the arm-nuttx-elf toolchain* under Linux or Cygwin.
The port supports serial, timer0, spi, and usb.
configs/ntosd-dm320
:
- This port uses the Neuros OSD with a GNU arm-elf toolchain* under Linux or Cygwin.
+ This port uses the Neuros OSD with a GNU arm-nuttx-elf toolchain* under Linux or Cygwin.
See Neuros Wiki
for further information.
NuttX operates on the ARM9EJS of this dual core processor.
@@ -878,12 +878,12 @@
configs/olimex-lpc2378
:
- This port uses the Olimex-lpc2378 board and a GNU arm-elf toolchain under
+ This port uses the Olimex-lpc2378 board and a GNU arm-nuttx-elf toolchain under
Linux or Cygwin. STATUS: ostest and NSH configurations available.
configs/olimex-strp711
:
- This port uses the Olimex STR-P711 board arm-elf toolchain* under Linux or Cygwin.
+ This port uses the Olimex STR-P711 board arm-nuttx-elf toolchain* under Linux or Cygwin.
See the Olimex web site
for further information.
STATUS: Configurations for the basic OS test and NSH are complete and verified.
diff --git a/Documentation/UsbTrace.html b/Documentation/UsbTrace.html
index ec48e260dd..e85377756e 100644
--- a/Documentation/UsbTrace.html
+++ b/Documentation/UsbTrace.html
@@ -1,332 +1,332 @@
-
-
-
- NuttX USB Device Trace-Last Updated: March 20, 2011 - |
-
USB Device Tracing Controls. - The NuttX USB device subsystem supports a fairly sophisticated tracing facility. - The basic trace cabability is controlled by these NuttX configuration settings: -
-CONFIG_USBDEV_TRACE
: Enables USB tracingCONFIG_USBDEV_TRACE_NRECORDS
: Number of trace entries to rememberTrace IDs.
- The trace facility works like this:
- When enabled, USB events that occur in either the USB device driver or in the USB class driver are logged.
- These events are described in include/nuttx/usb/usbdev_trace.h
.
- The logged events are identified by a set of event IDs:
-
TRACE_INIT_ID |
- Initialization events | -
TRACE_EP_ID |
- Endpoint API calls | -
TRACE_DEV_ID |
- USB device API calls | -
TRACE_CLASS_ID |
- USB class driver API calls | -
TRACE_CLASSAPI_ID |
- Other class driver system API calls | -
TRACE_CLASSSTATE_ID |
- Track class driver state changes | -
TRACE_INTENTRY_ID |
- Interrupt handler entry | -
TRACE_INTDECODE_ID |
- Decoded interrupt event | -
TRACE_INTEXIT_ID |
- Interrupt handler exit | -
TRACE_OUTREQQUEUED_ID |
- Request queued for OUT endpoint | -
TRACE_INREQQUEUED_ID |
- Request queued for IN endpoint | -
TRACE_READ_ID |
- Read (OUT) action | -
TRACE_WRITE_ID |
- Write (IN) action | -
TRACE_COMPLETE_ID |
- Request completed | -
TRACE_DEVERROR_ID |
- USB controller driver error event | -
TRACE_CLSERROR_ID |
- USB class driver error event | -
Logged Events. - Each logged event is 32-bits in size and includes -
-8-bit Trace Data - The 8-bit trace data depends on the specific event ID. As examples, -
-include/nuttx/usb/usbdev_trace.h
.
- arch/arm/src/lpc17xx/lpc17_usbdev.c
.
- 16-bit Trace Data. - The 16-bit trace data provided additional context data relevant to the specific logged event. -
-Trace Control Interfaces.
- Logging of each of these kinds events can be enabled or disabled using the interfaces described in include/nuttx/usb/usbdev_trace.h
.
-
Enabling USB Device Tracing.
- USB device tracing will be configured if CONFIG_USBDEV
and either of the following are set in the NuttX configuration file:
-
CONFIG_USBDEV_TRACE
, orCONFIG_DEBUG and CONFIG_DEBUG_USB
Log Data Sink.
- The logged data itself may go to either (1) an internal circular buffer, or (2) may be provided on the console.
- If CONFIG_USBDEV_TRACE
is defined, then the trace data will go to the circular buffer.
- The size of the circular buffer is determined by CONFIG_USBDEV_TRACE_NRECORDS
.
- Otherwise, the trace data goes to console.
-
-
Example.
- Here is an example of USB trace output using apps/examples/usbserial
for an LPC1768 platform with the following NuttX configuration settings:
-
CONFIG_DEBUG
, CONFIG_DEBUG_VERBOSE
, CONFIG_USB
- CONFIG_EXAMPLES_USBSERIAL_TRACEINIT
, CONFIG_EXAMPLES_USBSERIAL_TRACECLASS
,
- CONFIG_EXAMPLES_USBSERIAL_TRACETRANSFERS
, CONFIG_EXAMPLES_USBSERIAL_TRACECONTROLLER
,
- CONFIG_EXAMPLES_USBSERIAL_TRACEINTERRUPTS
-Console Output:
-- | ABDE |
-
- | usbserial_main: Registering USB serial driver |
-
- | uart_register: Registering /dev/ttyUSB0 |
-
- | usbserial_main: Successfully registered the serial driver |
-
1 | -Class API call 1: 0000 |
-
2 | -Class error: 19:0000 |
-
- | usbserial_main: ERROR: Failed to open /dev/ttyUSB0 for reading: 107 |
-
- | usbserial_main: Not connected. Wait and try again. |
-
3 | -Interrupt 1 entry: 0039 |
-
4 | -Interrupt decode 7: 0019 |
-
5 | -Interrupt decode 32: 0019 |
-
6 | -Interrupt decode 6: 0019 |
-
7 | -Class disconnect(): 0000 |
-
8 | -Device pullup(): 0001 |
-
9 | -Interrupt 1 exit: 0000 |
-
- The numbered items are USB USB trace output.
- You can look in the file drivers/usbdev/usbdev_trprintf.c
to see examctly how each output line is formatted.
- Here is how each line should be interpreted:
-
  | -USB EVENT ID | -8-bit EVENT DATA |
- MEANING | -16-bit EVENT DATA |
-
---|---|---|---|---|
1 | -TRACE_CLASSAPI_ID 1 |
- 1 | -USBSER_TRACECLASSAPI_SETUP 1 |
- 0000 | -
2 | -TRACE_CLSERROR_ID 1 |
- 19 | -USBSER_TRACEERR_SETUPNOTCONNECTED 1 |
- 0000 | -
3 | -TRACE_INTENTRY_ID 1 |
- 1 | -LPC17_TRACEINTID_USB 2 |
- 0039 | -
4 | -TRACE_INTDECODE_ID 2 |
- 7 | -LPC17_TRACEINTID_DEVSTAT 2 |
- 0019 | -
5 | -TRACE_INTDECODE_ID 2 |
- 32 | -LPC17_TRACEINTID_SUSPENDCHG 2 |
- 0019 | -
6 | -TRACE_INTDECODE_ID 2 |
- 6 | -LPC17_TRACEINTID_DEVRESET 2 |
- 0019 | -
7 | -TRACE_CLASS_ID 1 |
- 3 | -(See TRACE_CLASSDISCONNECT 1) |
- 0000 | -
8 | -TRACE_DEV_ID 1 |
- 6 | -(See TRACE_DEVPULLUP 1) |
- 0001 | -
9 | -TRACE_INTEXIT_ID 1 |
- 1 | -LPC17_TRACEINTID_USB 2 |
- 0000 | -
NOTES:
- 1See include/nuttx/usb/usbdev_trace.h
- 2See arch/arm/src/lpc17xx/lpc17_usbdev.c
-
- In the above example you can see that: -
-drivers/usbdev/pl2303.c
:
- -static int pl2303_setup(FAR struct uart_dev_s *dev) -{ - ... - usbtrace(PL2303_CLASSAPI_SETUP, 0); - ... -
drivers/usbdev/pl2303.c
:
- -static int pl2303_setup(FAR struct uart_dev_s *dev) -{ - ... - /* Check if we have been configured */ - - if (priv->config == PL2303_CONFIGIDNONE) - { - usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_SETUPNOTCONNECTED), 0); - return -ENOTCONN; - } - ... --
+ NuttX USB Device Trace+Last Updated: March 20, 2011 + |
+
USB Device Tracing Controls. + The NuttX USB device subsystem supports a fairly sophisticated tracing facility. + The basic trace cabability is controlled by these NuttX configuration settings: +
+CONFIG_USBDEV_TRACE
: Enables USB tracingCONFIG_USBDEV_TRACE_NRECORDS
: Number of trace entries to rememberTrace IDs.
+ The trace facility works like this:
+ When enabled, USB events that occur in either the USB device driver or in the USB class driver are logged.
+ These events are described in include/nuttx/usb/usbdev_trace.h
.
+ The logged events are identified by a set of event IDs:
+
TRACE_INIT_ID |
+ Initialization events | +
TRACE_EP_ID |
+ Endpoint API calls | +
TRACE_DEV_ID |
+ USB device API calls | +
TRACE_CLASS_ID |
+ USB class driver API calls | +
TRACE_CLASSAPI_ID |
+ Other class driver system API calls | +
TRACE_CLASSSTATE_ID |
+ Track class driver state changes | +
TRACE_INTENTRY_ID |
+ Interrupt handler entry | +
TRACE_INTDECODE_ID |
+ Decoded interrupt event | +
TRACE_INTEXIT_ID |
+ Interrupt handler exit | +
TRACE_OUTREQQUEUED_ID |
+ Request queued for OUT endpoint | +
TRACE_INREQQUEUED_ID |
+ Request queued for IN endpoint | +
TRACE_READ_ID |
+ Read (OUT) action | +
TRACE_WRITE_ID |
+ Write (IN) action | +
TRACE_COMPLETE_ID |
+ Request completed | +
TRACE_DEVERROR_ID |
+ USB controller driver error event | +
TRACE_CLSERROR_ID |
+ USB class driver error event | +
Logged Events. + Each logged event is 32-bits in size and includes +
+8-bit Trace Data + The 8-bit trace data depends on the specific event ID. As examples, +
+include/nuttx/usb/usbdev_trace.h
.
+ arch/arm/src/lpc17xx/lpc17_usbdev.c
.
+ 16-bit Trace Data. + The 16-bit trace data provided additional context data relevant to the specific logged event. +
+Trace Control Interfaces.
+ Logging of each of these kinds events can be enabled or disabled using the interfaces described in include/nuttx/usb/usbdev_trace.h
.
+
Enabling USB Device Tracing.
+ USB device tracing will be configured if CONFIG_USBDEV
and either of the following are set in the NuttX configuration file:
+
CONFIG_USBDEV_TRACE
, orCONFIG_DEBUG and CONFIG_DEBUG_USB
Log Data Sink.
+ The logged data itself may go to either (1) an internal circular buffer, or (2) may be provided on the console.
+ If CONFIG_USBDEV_TRACE
is defined, then the trace data will go to the circular buffer.
+ The size of the circular buffer is determined by CONFIG_USBDEV_TRACE_NRECORDS
.
+ Otherwise, the trace data goes to console.
+
+
Example.
+ Here is an example of USB trace output using apps/examples/usbserial
for an LPC1768 platform with the following NuttX configuration settings:
+
CONFIG_DEBUG
, CONFIG_DEBUG_VERBOSE
, CONFIG_USB
+ CONFIG_EXAMPLES_USBSERIAL_TRACEINIT
, CONFIG_EXAMPLES_USBSERIAL_TRACECLASS
,
+ CONFIG_EXAMPLES_USBSERIAL_TRACETRANSFERS
, CONFIG_EXAMPLES_USBSERIAL_TRACECONTROLLER
,
+ CONFIG_EXAMPLES_USBSERIAL_TRACEINTERRUPTS
+Console Output:
++ | ABDE |
+
+ | usbserial_main: Registering USB serial driver |
+
+ | uart_register: Registering /dev/ttyUSB0 |
+
+ | usbserial_main: Successfully registered the serial driver |
+
1 | +Class API call 1: 0000 |
+
2 | +Class error: 19:0000 |
+
+ | usbserial_main: ERROR: Failed to open /dev/ttyUSB0 for reading: 107 |
+
+ | usbserial_main: Not connected. Wait and try again. |
+
3 | +Interrupt 1 entry: 0039 |
+
4 | +Interrupt decode 7: 0019 |
+
5 | +Interrupt decode 32: 0019 |
+
6 | +Interrupt decode 6: 0019 |
+
7 | +Class disconnect(): 0000 |
+
8 | +Device pullup(): 0001 |
+
9 | +Interrupt 1 exit: 0000 |
+
+ The numbered items are USB USB trace output.
+ You can look in the file drivers/usbdev/usbdev_trprintf.c
to see examctly how each output line is formatted.
+ Here is how each line should be interpreted:
+
  | +USB EVENT ID | +8-bit EVENT DATA |
+ MEANING | +16-bit EVENT DATA |
+
---|---|---|---|---|
1 | +TRACE_CLASSAPI_ID 1 |
+ 1 | +USBSER_TRACECLASSAPI_SETUP 1 |
+ 0000 | +
2 | +TRACE_CLSERROR_ID 1 |
+ 19 | +USBSER_TRACEERR_SETUPNOTCONNECTED 1 |
+ 0000 | +
3 | +TRACE_INTENTRY_ID 1 |
+ 1 | +LPC17_TRACEINTID_USB 2 |
+ 0039 | +
4 | +TRACE_INTDECODE_ID 2 |
+ 7 | +LPC17_TRACEINTID_DEVSTAT 2 |
+ 0019 | +
5 | +TRACE_INTDECODE_ID 2 |
+ 32 | +LPC17_TRACEINTID_SUSPENDCHG 2 |
+ 0019 | +
6 | +TRACE_INTDECODE_ID 2 |
+ 6 | +LPC17_TRACEINTID_DEVRESET 2 |
+ 0019 | +
7 | +TRACE_CLASS_ID 1 |
+ 3 | +(See TRACE_CLASSDISCONNECT 1) |
+ 0000 | +
8 | +TRACE_DEV_ID 1 |
+ 6 | +(See TRACE_DEVPULLUP 1) |
+ 0001 | +
9 | +TRACE_INTEXIT_ID 1 |
+ 1 | +LPC17_TRACEINTID_USB 2 |
+ 0000 | +
NOTES:
+ 1See include/nuttx/usb/usbdev_trace.h
+ 2See arch/arm/src/lpc17xx/lpc17_usbdev.c
+
+ In the above example you can see that: +
+drivers/usbdev/pl2303.c
:
+ +static int pl2303_setup(FAR struct uart_dev_s *dev) +{ + ... + usbtrace(PL2303_CLASSAPI_SETUP, 0); + ... +
drivers/usbdev/pl2303.c
:
+ +static int pl2303_setup(FAR struct uart_dev_s *dev) +{ + ... + /* Check if we have been configured */ + + if (priv->config == PL2303_CONFIGIDNONE) + { + usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_SETUPNOTCONNECTED), 0); + return -ENOTCONN; + } + ... ++