mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
|
# Overview
|
||
|
|
||
|
This test represents a simple shell application that can be used to test
|
||
|
the USB board reset function (module `usb_board_reset`) via the USB CDC ACM
|
||
|
interface.
|
||
|
|
||
|
It can be used to reset the board to restart either the application or the
|
||
|
bootloader if supported using the `usb_board_reset` module.
|
||
|
|
||
|
The test application requires that the board provides USB peripherals
|
||
|
(feature `periph_usbdev`).
|
||
|
|
||
|
# Usage
|
||
|
|
||
|
Once the test application is flashed, the board should be detected. The output
|
||
|
of command
|
||
|
```
|
||
|
dmesg
|
||
|
```
|
||
|
should look like the following and should show the USB DC ACM interface:
|
||
|
```
|
||
|
[1745182.057403] usb 1-4.1.2: new full-speed USB device number 69 using xhci_hcd
|
||
|
[1745182.160386] usb 1-4.1.2: New USB device found, idVendor=1209, idProduct=7d01, bcdDevice= 1.00
|
||
|
[1745182.160390] usb 1-4.1.2: New USB device strings: Mfr=3, Product=2, SerialNumber=4
|
||
|
[1745182.160392] usb 1-4.1.2: Product: arduino-mkr1000
|
||
|
[1745182.160393] usb 1-4.1.2: Manufacturer: RIOT-os.org
|
||
|
[1745182.160395] usb 1-4.1.2: SerialNumber: 6B6C2CA5229020D8
|
||
|
[1745182.170982] cdc_acm 1-4.1.2:1.0: ttyACM0: USB ACM device
|
||
|
```
|
||
|
*Note*: The interface `ttyACM0` could be different depending on which other
|
||
|
USB CDC ACM devices are already in use.
|
||
|
|
||
|
For boards that use the USB CDC ACM interface as STDIO (module `stdio_cdc_acm`),
|
||
|
this interface is used for the test application. Otherwise the test application
|
||
|
creates a simple USB CDC ACM interface without any functionality except the
|
||
|
USB board reset function.
|
||
|
|
||
|
When the USB CDC ACM interface is initialized, the `stty` command can be used
|
||
|
to reset the board, for example:
|
||
|
```
|
||
|
stty -F /dev/ttyACM0 raw ispeed 600 ospeed 600 cs8 -cstopb ignpar eol 255 eof 255
|
||
|
```
|
||
|
should reset the board and restart the application, while
|
||
|
```
|
||
|
stty -F /dev/ttyACM0 raw ispeed 1200 ospeed 1200 cs8 -cstopb ignpar eol 255 eof 255
|
||
|
```
|
||
|
should reset the board and start the bootloader. The latter requires that the
|
||
|
bootloader supports this.
|