diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2013-05-29 10:26:00 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2013-05-29 10:26:00 -0600 |
commit | 26346bebfa749b55d1dd983c478d14c913eb9619 (patch) | |
tree | d8c42f6585bfb31af497f7100b09b3b2f9274bf8 | |
parent | c2f92bd1abeb2cab6b1dffb6f88f10b6c8b596e1 (diff) | |
download | nuttx-26346bebfa749b55d1dd983c478d14c913eb9619.tar.gz nuttx-26346bebfa749b55d1dd983c478d14c913eb9619.tar.bz2 nuttx-26346bebfa749b55d1dd983c478d14c913eb9619.zip |
Fix STM32F1 and F3 USB device driver. It was not handling NULL packets correctly and it prevent use of the driver with the CDC/ACM class
-rw-r--r-- | nuttx/ChangeLog | 7 | ||||
-rw-r--r-- | nuttx/TODO | 19 | ||||
-rw-r--r-- | nuttx/arch/arm/src/stm32/stm32_usbdev.c | 12 | ||||
-rw-r--r-- | nuttx/configs/stm32f3discovery/README.txt | 86 | ||||
-rw-r--r-- | nuttx/configs/stm32f3discovery/usbnsh/defconfig | 93 | ||||
-rw-r--r-- | nuttx/configs/stm32f4discovery/README.txt | 6 | ||||
-rw-r--r-- | nuttx/configs/sure-pic32mx/README.txt | 17 |
7 files changed, 164 insertions, 76 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 50623ef24..880a026f9 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -4828,3 +4828,10 @@ support from Laurent Latil (2013-5-28) * configs/stm32_tiny: Add support for the STM32 Tiny development board based on th STM32 F103C8T6 MCU (2013-5-28). + * arch/arm/src/stm32/stm32_usbdev.c: Fix an error in NULL packet + handling: If the NULL-packet needed flag ever gets set, then + it is not cleared and inifinite NULL packets result. This only + effects the CDC/ACM class and was the cause of the failure of + configs/stm32f3discovery/usbnsh configureation which works great + after this change (2013-5-29). + diff --git a/nuttx/TODO b/nuttx/TODO index 74bf4e78c..e1c57dfe1 100644 --- a/nuttx/TODO +++ b/nuttx/TODO @@ -1,4 +1,4 @@ -NuttX TODO List (Last updated April 10, 2013) +NuttX TODO List (Last updated May 29, 2013) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This file summarizes known NuttX bugs, limitations, inconsistencies with @@ -32,7 +32,7 @@ nuttx/ (0) ARM/LPC43x (arch/arm/src/lpc43xx/) (3) ARM/STR71x (arch/arm/src/str71x/) (3) ARM/LM3S6918 (arch/arm/src/lm/) - (6) ARM/STM32 (arch/arm/src/stm32/) + (5) ARM/STM32 (arch/arm/src/stm32/) (3) AVR (arch/avr) (0) Intel x86 (arch/x86) (5) 8051 / MCS51 (arch/8051/) @@ -1608,21 +1608,6 @@ o ARM/STM32 (arch/arm/src/stm32/) Status: Open Priority: Low - Title: USB DRIVER IN STM32F3DISCVORY usbnsh CONFIGURATION - Description: The USB device driver is not reliable in the - configs/stm32f3discovery/upnsh configuration. When a large - volume of serial data is sent (for example, by entering - 'help' from the NSH command line), the driver hangs. This - looks like an improperly handled output data overrun problem. - - This is a surprising since this same driver has worked with - the STM32 F1 for some time using the Mass Storage driver - which has considerably higher data rates. So this seems to - be some particular issue with the way that the CDC/ACM driver - sends data through the driver. - Status: Open - Priority: Medium High - o AVR (arch/avr) ^^^^^^^^^^^^^^ diff --git a/nuttx/arch/arm/src/stm32/stm32_usbdev.c b/nuttx/arch/arm/src/stm32/stm32_usbdev.c index ab3967783..d35e707c3 100644 --- a/nuttx/arch/arm/src/stm32/stm32_usbdev.c +++ b/nuttx/arch/arm/src/stm32/stm32_usbdev.c @@ -1253,7 +1253,16 @@ static int stm32_wrrequest(struct stm32_usbdev_s *priv, struct stm32_ep_s *prive #warning "REVISIT: If the EP supports double buffering, then we can do better" - /* Send the next packet */ + /* Either (1) we are committed to sending the null packet (because txnullpkt == 1 + * && nbytes == 0), or (2) we have not yet send the last packet (nbytes > 0). + * In either case, it is appropriate to clearn txnullpkt now. + */ + + privep->txnullpkt = 0; + + /* If we are not sending a NULL packet, then clip the size to maxpacket + * and check if we need to send a following NULL packet. + */ if (nbytes > 0) { @@ -1261,7 +1270,6 @@ static int stm32_wrrequest(struct stm32_usbdev_s *priv, struct stm32_ep_s *prive * the request. */ - privep->txnullpkt = 0; if (nbytes >= privep->ep.maxpacket) { nbytes = privep->ep.maxpacket; diff --git a/nuttx/configs/stm32f3discovery/README.txt b/nuttx/configs/stm32f3discovery/README.txt index 82d5efd1e..12811b8a0 100644 --- a/nuttx/configs/stm32f3discovery/README.txt +++ b/nuttx/configs/stm32f3discovery/README.txt @@ -323,7 +323,7 @@ the following settings in the include/board.h file: This can be found on the board at: TX, PA2, Connector P1, pin 14 - RX, PA3, Connector P1, pin 9 + RX, PA3, Connector P1, pin 11 FPU === @@ -726,7 +726,7 @@ Where <subdir> is one of the following: nsh: --- Configures the NuttShell (nsh) located at apps/examples/nsh. The - Configuration enables the serial interfaces on UART2. Support for + Configuration enables the serial interfaces on USART2. Support for builtin applications is enabled, but in the base configuration no builtin applications are selected (see NOTES below). @@ -824,41 +824,59 @@ Where <subdir> is one of the following: for Windows and builds under Cygwin (or probably MSYS). That can easily be reconfigured, of course. - CONFIG_HOST_WINDOWS=y : Builds under Windows - CONFIG_WINDOWS_CYGWIN=y : Using Cygwin - CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows + Build Setup: + CONFIG_HOST_WINDOWS=y : Builds under Windows + CONFIG_WINDOWS_CYGWIN=y : Using Cygwin - 3. This configuration does have UART2 output enabled and set up as + System Type: + CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows + + 3. This configuration does have USART2 output enabled and set up as the system logging device: - CONFIG_SYSLOG=y : Enable output to syslog, not console - CONFIG_SYSLOG_CHAR=y : Use a character device for system logging - CONFIG_SYSLOG_DEVPATH="/dev/ttyS0" : UART2 will be /dev/ttyS0 + Device Drivers -> System Logging Device Options: + CONFIG_SYSLOG=y : Enable output to syslog, not console + CONFIG_SYSLOG_CHAR=y : Use a character device for system logging + CONFIG_SYSLOG_DEVPATH="/dev/ttyS0" : USART2 will be /dev/ttyS0 However, there is nothing to generate SYLOG output in the default - configuration so nothing should appear on UART2 unless you enable + configuration so nothing should appear on USART2 unless you enable some debug output or enable the USB monitor. + NOTE: Using the SYSLOG to get debug output has limitations. Among + those are that you cannot get debug output from interrupt handlers. + So, in particularly, debug output is not a useful way to debug the + USB device controller driver. Instead, use the USB monitor with + USB debug off and USB trance on (see below). + 4. Enabling USB monitor SYSLOG output. If tracing is enabled, the USB device will save encoded trace output in in-memory buffer; if the USB monitor is enabled, that trace buffer will be periodically - emptied and dumped to the system loggin device (UART2 in this + emptied and dumped to the system loggin device (USART2 in this configuraion): - CONFIG_USBDEV_TRACE=y : Enable USB trace feature - CONFIG_USBDEV_TRACE_NRECORDS=128 : Buffer 128 records in memory - CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH - CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor - CONFIG_SYSTEM_USBMONITOR=y : Enable the USB monitor daemon - CONFIG_SYSTEM_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size - CONFIG_SYSTEM_USBMONITOR_PRIORITY=50 : USB monitor daemon priority - CONFIG_SYSTEM_USBMONITOR_INTERVAL=2 : Dump trace data every 2 seconds - - CONFIG_SYSTEM_USBMONITOR_TRACEINIT=y : Enable TRACE output - CONFIG_SYSTEM_USBMONITOR_TRACECLASS=y - CONFIG_SYSTEM_USBMONITOR_TRACETRANSFERS=y - CONFIG_SYSTEM_USBMONITOR_TRACECONTROLLER=y - CONFIG_SYSTEM_USBMONITOR_TRACEINTERRUPTS=y + Device Drivers -> "USB Device Driver Support: + CONFIG_USBDEV_TRACE=y : Enable USB trace feature + CONFIG_USBDEV_TRACE_NRECORDS=256 : Buffer 128 records in memory + + Application Configuration -> NSH LIbrary: + CONFIG_NSH_USBDEV_TRACE=n : No builtin tracing from NSH + CONFIG_NSH_ARCHINIT=y : Automatically start the USB monitor + + Application Configuration -> System NSH Add-Ons: + CONFIG_SYSTEM_USBMONITOR=y : Enable the USB monitor daemon + CONFIG_SYSTEM_USBMONITOR_STACKSIZE=2048 : USB monitor daemon stack size + CONFIG_SYSTEM_USBMONITOR_PRIORITY=50 : USB monitor daemon priority + CONFIG_SYSTEM_USBMONITOR_INTERVAL=1 : Dump trace data every second + CONFIG_SYSTEM_USBMONITOR_TRACEINIT=y : Enable TRACE output + CONFIG_SYSTEM_USBMONITOR_TRACECLASS=y + CONFIG_SYSTEM_USBMONITOR_TRACETRANSFERS=y + CONFIG_SYSTEM_USBMONITOR_TRACECONTROLLER=y + CONFIG_SYSTEM_USBMONITOR_TRACEINTERRUPTS=y + + NOTE: USB debug output also be enabled in this case. Both will appear + on the serial SYSLOG output. However, the debug output will be + asynchronous with the trace output and, hence, difficult to interpret. 5. The STM32F3Discovery board does not provide circuitry for control of the "soft connect" USB pullup. As a result, the host PC does not know @@ -868,15 +886,13 @@ Where <subdir> is one of the following: 1) Start NSH with USB disconnected, then 2) Connect the USB device to the host. - 5. By default, this project assumes that you are *NOT* using the DFU - bootloader. + 6. Using the Prolifics PL2303 Emulation - Using the Prolifics PL2303 Emulation - ------------------------------------ - You could also use the non-standard PL2303 serial device instead of - the standard CDC/ACM serial device by changing: + You could also use the non-standard PL2303 serial device instead of + the standard CDC/ACM serial device by changing: - CONFIG_CDCACM=y : Disable the CDC/ACM serial device class - CONFIG_CDCACM_CONSOLE=y : The CDC/ACM serial device is NOT the console - CONFIG_PL2303=y : The Prolifics PL2303 emulation is enabled - CONFIG_PL2303_CONSOLE=y : The PL2303 serial device is the console + Drivers->USB Device Driver Support + CONFIG_CDCACM=y : Disable the CDC/ACM serial device class + CONFIG_CDCACM_CONSOLE=y : The CDC/ACM serial device is NOT the console + CONFIG_PL2303=y : The Prolifics PL2303 emulation is enabled + CONFIG_PL2303_CONSOLE=y : The PL2303 serial device is the console diff --git a/nuttx/configs/stm32f3discovery/usbnsh/defconfig b/nuttx/configs/stm32f3discovery/usbnsh/defconfig index 3f5272231..814fba52b 100644 --- a/nuttx/configs/stm32f3discovery/usbnsh/defconfig +++ b/nuttx/configs/stm32f3discovery/usbnsh/defconfig @@ -69,12 +69,14 @@ CONFIG_ARCH="arm" # CONFIG_ARCH_CHIP_DM320 is not set # CONFIG_ARCH_CHIP_IMX is not set # CONFIG_ARCH_CHIP_KINETIS is not set +# CONFIG_ARCH_CHIP_KL is not set # CONFIG_ARCH_CHIP_LM is not set # CONFIG_ARCH_CHIP_LPC17XX is not set # CONFIG_ARCH_CHIP_LPC214X is not set # CONFIG_ARCH_CHIP_LPC2378 is not set # CONFIG_ARCH_CHIP_LPC31XX is not set # CONFIG_ARCH_CHIP_LPC43XX is not set +# CONFIG_ARCH_CHIP_NUC1XX is not set # CONFIG_ARCH_CHIP_SAM3U is not set CONFIG_ARCH_CHIP_STM32=y # CONFIG_ARCH_CHIP_STR71X is not set @@ -87,8 +89,6 @@ CONFIG_ARCH_HAVE_CMNVECTOR=y # CONFIG_ARCH_FPU is not set CONFIG_ARCH_HAVE_MPU=y # CONFIG_ARMV7M_MPU is not set -CONFIG_BOARD_LOOPSPERMSEC=6522 -# CONFIG_ARCH_CALIBRATION is not set # # ARMV7M Configuration Options @@ -105,6 +105,24 @@ CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y # # STM32 Configuration Options # +# CONFIG_ARCH_CHIP_STM32L151C6 is not set +# CONFIG_ARCH_CHIP_STM32L151C8 is not set +# CONFIG_ARCH_CHIP_STM32L151CB is not set +# CONFIG_ARCH_CHIP_STM32L151R6 is not set +# CONFIG_ARCH_CHIP_STM32L151R8 is not set +# CONFIG_ARCH_CHIP_STM32L151RB is not set +# CONFIG_ARCH_CHIP_STM32L151V6 is not set +# CONFIG_ARCH_CHIP_STM32L151V8 is not set +# CONFIG_ARCH_CHIP_STM32L151VB is not set +# CONFIG_ARCH_CHIP_STM32L152C6 is not set +# CONFIG_ARCH_CHIP_STM32L152C8 is not set +# CONFIG_ARCH_CHIP_STM32L152CB is not set +# CONFIG_ARCH_CHIP_STM32L152R6 is not set +# CONFIG_ARCH_CHIP_STM32L152R8 is not set +# CONFIG_ARCH_CHIP_STM32L152RB is not set +# CONFIG_ARCH_CHIP_STM32L152V6 is not set +# CONFIG_ARCH_CHIP_STM32L152V8 is not set +# CONFIG_ARCH_CHIP_STM32L152VB is not set # CONFIG_ARCH_CHIP_STM32F100C8 is not set # CONFIG_ARCH_CHIP_STM32F100CB is not set # CONFIG_ARCH_CHIP_STM32F100R8 is not set @@ -117,6 +135,8 @@ CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y # CONFIG_ARCH_CHIP_STM32F100VC is not set # CONFIG_ARCH_CHIP_STM32F100VD is not set # CONFIG_ARCH_CHIP_STM32F100VE is not set +# CONFIG_ARCH_CHIP_STM32F103C4 is not set +# CONFIG_ARCH_CHIP_STM32F103C8 is not set # CONFIG_ARCH_CHIP_STM32F103RET6 is not set # CONFIG_ARCH_CHIP_STM32F103VCT6 is not set # CONFIG_ARCH_CHIP_STM32F103VET6 is not set @@ -145,7 +165,21 @@ CONFIG_ARCH_CHIP_STM32F303VC=y # CONFIG_ARCH_CHIP_STM32F407ZG is not set # CONFIG_ARCH_CHIP_STM32F407IE is not set # CONFIG_ARCH_CHIP_STM32F407IG is not set +# CONFIG_ARCH_CHIP_STM32F427V is not set +# CONFIG_ARCH_CHIP_STM32F427Z is not set +# CONFIG_ARCH_CHIP_STM32F427I is not set +# CONFIG_STM32_STM32L15XX is not set +# CONFIG_STM32_ENERGYLITE is not set +# CONFIG_STM32_STM32F10XX is not set +# CONFIG_STM32_VALUELINE is not set +# CONFIG_STM32_CONNECTIVITYLINE is not set +# CONFIG_STM32_PERFORMANCELINE is not set +# CONFIG_STM32_HIGHDENSITY is not set +# CONFIG_STM32_MEDIUMDENSITY is not set +# CONFIG_STM32_LOWDENSITY is not set +# CONFIG_STM32_STM32F20XX is not set CONFIG_STM32_STM32F30XX=y +# CONFIG_STM32_STM32F40XX is not set # CONFIG_STM32_DFU is not set # @@ -163,11 +197,9 @@ CONFIG_STM32_STM32F30XX=y # CONFIG_STM32_DAC2 is not set # CONFIG_STM32_I2C1 is not set # CONFIG_STM32_I2C2 is not set -# CONFIG_STM32_IWDG is not set CONFIG_STM32_PWR=y # CONFIG_STM32_SDIO is not set CONFIG_STM32_SPI1=y -# CONFIG_STM32_SPI2 is not set CONFIG_STM32_SYSCFG=y # CONFIG_STM32_TIM1 is not set # CONFIG_STM32_TIM2 is not set @@ -183,6 +215,7 @@ CONFIG_STM32_SYSCFG=y # CONFIG_STM32_USART1 is not set CONFIG_STM32_USART2=y CONFIG_STM32_USB=y +# CONFIG_STM32_IWDG is not set # CONFIG_STM32_WWDG is not set CONFIG_STM32_SPI=y @@ -193,6 +226,7 @@ CONFIG_STM32_SPI=y # CONFIG_STM32_JTAG_FULL_ENABLE is not set # CONFIG_STM32_JTAG_NOJNTRST_ENABLE is not set CONFIG_STM32_JTAG_SW_ENABLE=y +# CONFIG_STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG is not set # CONFIG_STM32_FORCEPOWER is not set # CONFIG_ARCH_BOARD_STM32_CUSTOM_CLOCKCONFIG is not set CONFIG_STM32_USART=y @@ -235,10 +269,14 @@ CONFIG_ARCH_HAVE_VFORK=y CONFIG_ARCH_STACKDUMP=y # CONFIG_ENDIAN_BIG is not set # CONFIG_ARCH_HAVE_RAMFUNCS is not set +CONFIG_ARCH_HAVE_RAMVECTORS=y +# CONFIG_ARCH_RAMVECTORS is not set # # Board Settings # +CONFIG_BOARD_LOOPSPERMSEC=6522 +# CONFIG_ARCH_CALIBRATION is not set CONFIG_DRAM_START=0x20000000 CONFIG_DRAM_SIZE=40960 CONFIG_ARCH_HAVE_INTERRUPTSTACK=y @@ -278,6 +316,7 @@ CONFIG_NSH_MMCSDMINOR=0 # # RTOS Features # +# CONFIG_BOARD_INITIALIZE is not set CONFIG_MSEC_PER_TICK=10 CONFIG_RR_INTERVAL=200 # CONFIG_SCHED_INSTRUMENTATION is not set @@ -293,7 +332,6 @@ CONFIG_START_DAY=27 # CONFIG_FDCLONE_DISABLE is not set # CONFIG_FDCLONE_STDIO is not set CONFIG_SDCLONE_DISABLE=y -# CONFIG_SCHED_WORKQUEUE is not set CONFIG_SCHED_WAITPID=y # CONFIG_SCHED_STARTHOOK is not set # CONFIG_SCHED_ATEXIT is not set @@ -357,6 +395,7 @@ CONFIG_SPI_EXCHANGE=y # CONFIG_RTC is not set # CONFIG_WATCHDOG is not set # CONFIG_ANALOG is not set +# CONFIG_AUDIO_DEVICES is not set # CONFIG_BCH is not set # CONFIG_INPUT is not set # CONFIG_LCD is not set @@ -366,7 +405,6 @@ CONFIG_SPI_EXCHANGE=y # CONFIG_PM is not set # CONFIG_POWER is not set # CONFIG_SENSORS is not set -# CONFIG_SERCOMM_CONSOLE is not set CONFIG_SERIAL=y # CONFIG_DEV_LOWCONSOLE is not set CONFIG_SERIAL_REMOVABLE=y @@ -389,14 +427,19 @@ CONFIG_USART2_2STOP=0 CONFIG_USBDEV=y # -# Device Controller Driver Options +# USB Device Controller Driver Options # # CONFIG_USBDEV_ISOCHRONOUS is not set # CONFIG_USBDEV_DUALSPEED is not set CONFIG_USBDEV_SELFPOWERED=y # CONFIG_USBDEV_BUSPOWERED is not set +CONFIG_USBDEV_MAXPOWER=100 # CONFIG_USBDEV_DMA is not set # CONFIG_USBDEV_TRACE is not set + +# +# USB Device Class Driver Options +# # CONFIG_USBDEV_COMPOSITE is not set # CONFIG_PL2303 is not set CONFIG_CDCACM=y @@ -449,6 +492,7 @@ CONFIG_CDCACM_PRODUCTSTR="CDC/ACM Serial" # CONFIG_FS_FAT is not set # CONFIG_FS_NXFFS is not set # CONFIG_FS_ROMFS is not set +# CONFIG_FS_SMARTFS is not set # CONFIG_FS_BINFS is not set # @@ -467,11 +511,17 @@ CONFIG_SYSLOG_DEVPATH="/dev/ttyS0" # # Memory Management # +# CONFIG_MM_MULTIHEAP is not set # CONFIG_MM_SMALL is not set CONFIG_MM_REGIONS=2 # CONFIG_GRAN is not set # +# Audio Support +# +# CONFIG_AUDIO is not set + +# # Binary Formats # # CONFIG_BINFMT_DISABLE is not set @@ -496,6 +546,7 @@ CONFIG_LIB_HOMEDIR="/" # CONFIG_LIBM is not set # CONFIG_NOPRINTF_FIELDWIDTH is not set # CONFIG_LIBC_FLOATINGPOINT is not set +CONFIG_LIB_RAND_ORDER=1 # CONFIG_EOL_IS_CR is not set # CONFIG_EOL_IS_LF is not set # CONFIG_EOL_IS_BOTH_CRLF is not set @@ -511,9 +562,11 @@ CONFIG_LIB_SENDFILE_BUFSIZE=512 # CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set # -# Non-standard Helper Functions +# Non-standard Library Support # +# CONFIG_SCHED_WORKQUEUE is not set # CONFIG_LIB_KBDCODEC is not set +# CONFIG_LIB_SLCDCODEC is not set # # Basic CXX Support @@ -557,8 +610,8 @@ CONFIG_BUILTIN_PROXY_STACKSIZE=1024 # CONFIG_EXAMPLES_IGMP is not set # CONFIG_EXAMPLES_LCDRW is not set # CONFIG_EXAMPLES_MM is not set -# CONFIG_EXAMPLES_MOUNT is not set # CONFIG_EXAMPLES_MODBUS is not set +# CONFIG_EXAMPLES_MOUNT is not set CONFIG_EXAMPLES_NSH=y # CONFIG_EXAMPLES_NULL is not set # CONFIG_EXAMPLES_NX is not set @@ -578,6 +631,10 @@ CONFIG_EXAMPLES_NSH=y # CONFIG_EXAMPLES_ROMFS is not set # CONFIG_EXAMPLES_SENDMAIL is not set # CONFIG_EXAMPLES_SERLOOP is not set +# CONFIG_EXAMPLES_SLCD is not set +# CONFIG_EXAMPLES_SMART_TEST is not set +# CONFIG_EXAMPLES_SMART is not set +# CONFIG_EXAMPLES_TCPECHO is not set # CONFIG_EXAMPLES_TELNETD is not set # CONFIG_EXAMPLES_THTTPD is not set # CONFIG_EXAMPLES_TIFF is not set @@ -590,8 +647,9 @@ CONFIG_EXAMPLES_NSH=y # CONFIG_EXAMPLES_WATCHDOG is not set # -# Interpreters +# Graphics Support # +# CONFIG_TIFF is not set # # Interpreters @@ -621,11 +679,7 @@ CONFIG_EXAMPLES_NSH=y # CONFIG_NETUTILS_WEBCLIENT is not set # -# ModBus -# - -# -# FreeModbus +# FreeModBus # # CONFIG_MODBUS is not set @@ -677,6 +731,11 @@ CONFIG_NSH_BUILTIN_APPS=y # CONFIG_NSH_DISABLE_USLEEP is not set # CONFIG_NSH_DISABLE_WGET is not set # CONFIG_NSH_DISABLE_XD is not set + +# +# Configure Command Options +# +# CONFIG_NSH_CMDOPT_DF_H is not set CONFIG_NSH_CODECS_BUFSIZE=128 CONFIG_NSH_FILEIOSIZE=512 CONFIG_NSH_LINELEN=64 @@ -715,6 +774,10 @@ CONFIG_NSH_ARCHINIT=y # CONFIG_SYSTEM_INSTALL is not set # +# FLASH Erase-all Command +# + +# # readline() # CONFIG_SYSTEM_READLINE=y diff --git a/nuttx/configs/stm32f4discovery/README.txt b/nuttx/configs/stm32f4discovery/README.txt index 684c916f5..e94bd466b 100644 --- a/nuttx/configs/stm32f4discovery/README.txt +++ b/nuttx/configs/stm32f4discovery/README.txt @@ -1641,6 +1641,12 @@ Where <subdir> is one of the following: configuration so nothing should appear on UART2 unless you enable some debug output or enable the USB monitor. + NOTE: Using the SYSLOG to get debug output has limitations. Among + those are that you cannot get debug output from interrupt handlers. + So, in particularly, debug output is not a useful way to debug the + USB device controller driver. Instead, use the USB monitor with + USB debug off and USB trance on (see below). + 4. Enabling USB monitor SYSLOG output. If tracing is enabled, the USB device will save encoded trace output in in-memory buffer; if the USB monitor is enabled, that trace buffer will be periodically diff --git a/nuttx/configs/sure-pic32mx/README.txt b/nuttx/configs/sure-pic32mx/README.txt index 7592538ff..48877a498 100644 --- a/nuttx/configs/sure-pic32mx/README.txt +++ b/nuttx/configs/sure-pic32mx/README.txt @@ -853,10 +853,11 @@ Where <subdir> is one of the following: You could also use the non-standard PL2303 serial device instead of the standard CDC/ACM serial device by changing: - CONFIG_CDCACM=n : Disable the CDC/ACM serial device class - CONFIG_CDCACM_CONSOLE=n : The CDC/ACM serial device is NOT the console - CONFIG_PL2303=y : The Prolifics PL2303 emulation is enabled - CONFIG_PL2303_CONSOLE=y : The PL2303 serial device is the console + Drivers->USB Device Driver Support + CONFIG_CDCACM=n : Disable the CDC/ACM serial device class + CONFIG_CDCACM_CONSOLE=n : The CDC/ACM serial device is NOT the console + CONFIG_PL2303=y : The Prolifics PL2303 emulation is enabled + CONFIG_PL2303_CONSOLE=y : The PL2303 serial device is the console Why would you want to use a non-standard USB serial driver? You might to use the PL2303 driver with a Windows host because it should @@ -864,9 +865,9 @@ Where <subdir> is one of the following: some effort to get Windows to recognize the CDC/ACM device). 4. Since this configuration is current set for the "DB_DP11215 PIC32 - Storage Demo Board," USART2 is available and is configured to used as + Storage Demo Board," UART2 is available and is configured to used as the SYSLOG device. That means that all debug output will be directed - out USART2. Debug output is not enabled by default, however, so these + out UART2. Debug output is not enabled by default, however, so these settings do nothing until you enable debug ouput. Device Drivers -> System Logging Device Options: @@ -916,7 +917,9 @@ Where <subdir> is one of the following: CONFIG_SYSTEM_USBMONITOR_TRACECONTROLLER=y CONFIG_SYSTEM_USBMONITOR_TRACEINTERRUPTS=y - NOTE: USB debug output should not be enabled in this case. + NOTE: USB debug output also be enabled in this case. Both will appear + on the serial SYSLOG output. However, the debug output will be + asynchronous with the trace output and, hence, difficult to interpret. 6. If you want to try this configuration on the DB-DP11212 PIC32 General Purpose Demo Board", here are the changes that you should make: |