diff --git a/ChangeLog b/ChangeLog index cf1dd50aa40..7d192fb53be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7135,3 +7135,11 @@ crashes. This was fixed by David Sidrane by implementing RAM functions. The killer code is copied and executed from ISRAM and the crash is avoided (2014-4-3). + * configs/sama5d3-xplained/Kconfig and include/board*.h; + configs/sama5d3x-ek/Kconfig and include/board*.h: Add support for + 528MHz CPU clock (2014-4-3). + * arch/arm/src/sama5/Make.defs: Fix a build error that occurs when + only USB device tracing is enabled (2014-4-4). + * Documentation/UsbTrace.html: Add some discussion of the USB monitor + (2014-4-4). + diff --git a/Documentation/UsbTrace.html b/Documentation/UsbTrace.html index e85377756ef..767b587369d 100644 --- a/Documentation/UsbTrace.html +++ b/Documentation/UsbTrace.html @@ -328,5 +328,125 @@ static int pl2303_setup(FAR struct uart_dev_s *dev) And the interrupt returns +
USB Monitor.
+ The USB monitor is an application in the apps/system/usbmonitor that provides a convenient way to get debug trace output.
+ If tracing is enabled, the USB device will save encoded trace output in in-memory buffer;
+ if the USB monitor is also enabled, that trace buffer will be periodically emptied and dumped to the
+ system logging device (the serial console in most configurations).
+ The following are some of the relevant configuration options:
+
| + Device Drivers -> USB Device Driver Support + | +|
+ CONFIG_USBDEV_TRACE=y
+ |
+ + Enable USB trace feature + | +
+ CONFIG_USBDEV_TRACE_NRECORDS=nnnn
+ |
+ + Buffer nnnn records in memory. + If you lose trace data, then you will need to increase the size of this buffer + (or increase the rate at which the trace buffer is emptied). + | +
+ CONFIG_USBDEV_TRACE_STRINGS=y
+ |
+ + Optionally, convert trace ID numbers to strings. + This feature may not be supported by all drivers. + | +
| + Application Configuration -> NSH LIbrary + | +|
+ CONFIG_NSH_USBDEV_TRACE=n
+ |
+ + Make sure that any built-in tracing from NSH is disabled. + | +
+ CONFIG_NSH_ARCHINIT=y
+ |
+
+ Enable this option only if your board-specific logic has logic to automatically start the USB monitor.
+ Otherwise the USB monitor can be started or stopped with the usbmon_start and usbmon_stop commands from the NSH console.
+ |
+
| + Application Configuration -> System NSH Add-Ons + | +|
+ CONFIG_SYSTEM_USBMONITOR=y
+ |
+ + Enable the USB monitor daemon + | +
+ CONFIG_SYSTEM_USBMONITOR_STACKSIZE=nnnn
+ |
+ + Sets the USB monitor daemon stack size to nnnn. + The default is 2KiB. + | +
+ CONFIG_SYSTEM_USBMONITOR_PRIORITY=50
+ |
+ + Sets the USB monitor daemon priority to nnnn. + This priority should be low so that it does not interfere with other operations, but not so low that you cannot dump the buffered USB data sufficiently rapidly. + The default is 50. + | +
+ CONFIG_SYSTEM_USBMONITOR_INTERVAL=nnnn
+ |
+ + Dump the buffered USB data every nnnn seconds. + If you lose buffered USB trace data, then dropping this value will help by increasing the rate at which the USB trace buffer is emptied. + | +
+ CONFIG_SYSTEM_USBMONITOR_TRACEINIT=y+ CONFIG_SYSTEM_USBMONITOR_TRACECLASS=y+ CONFIG_SYSTEM_USBMONITOR_TRACETRANSFERS=y+ CONFIG_SYSTEM_USBMONITOR_TRACECONTROLLER=y+ CONFIG_SYSTEM_USBMONITOR_TRACEINTERRUPTS=y+ |
+ + Selects which USB event(s) that you want to be traced. + | +
+ NOTE: If USB debug output is also enabled, both outputs will appear on the serial console. + However, the debug output will be asynchronous with the trace output and, hence, difficult to interpret. +