samples: usb: add usb.rst and README.rst for CDC ACM sample
Signed-off-by: Johann Fischer <j.fischer@phytec.de>
This commit is contained in:
parent
1ff51986e5
commit
bc2454fa9e
2 changed files with 112 additions and 0 deletions
102
samples/subsys/usb/cdc_acm/README.rst
Normal file
102
samples/subsys/usb/cdc_acm/README.rst
Normal file
|
@ -0,0 +1,102 @@
|
|||
.. _usb_cdc-acm:
|
||||
|
||||
USB CDC ACM Sample Application
|
||||
####################################
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
This sample app demonstrates use of a USB Communication Device Class (CDC)
|
||||
Abstract Control Model (ACM) driver provided by the Zephyr project.
|
||||
Received data from the serial port is echoed back to the same port
|
||||
provided by this driver.
|
||||
This sample can be found under :file:`samples/subsys/usb/cdc_acm` in the
|
||||
Zephyr project tree.
|
||||
|
||||
Requirements
|
||||
************
|
||||
|
||||
This project requires an USB device driver,
|
||||
which is available for Intel Quark* SE SoC based boards like
|
||||
:ref:`arduino_101`.
|
||||
For the Arduino 101 board you need a USB to 3.3V TTL serial cable.
|
||||
Connect it to UART1 as described in
|
||||
:ref:`Connecting Serial Output section <arduino_101>`.
|
||||
|
||||
Building and Running
|
||||
********************
|
||||
|
||||
Arduino 101
|
||||
===========
|
||||
|
||||
To see the console output of the app, open a serial port emulator and
|
||||
attach it to the USB to TTL Serial cable. Build and flash the project:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ cd samples/subsys/usb/cdc_acm
|
||||
$ make BOARD=arduino_101 flash
|
||||
|
||||
See :ref:`Flashing the x86 Application Core section <arduino_101>` for details.
|
||||
|
||||
Running
|
||||
=======
|
||||
|
||||
Plug the board into a host device, for example, a PC running Linux.
|
||||
The board will be detected as shown by the Linux dmesg command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
usb 9-1: new full-speed USB device number 112 using uhci_hcd
|
||||
usb 9-1: New USB device found, idVendor=8086, idProduct=f8a1
|
||||
usb 9-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
|
||||
usb 9-1: Product: CDC-ACM
|
||||
usb 9-1: Manufacturer: Intel
|
||||
usb 9-1: SerialNumber: 00.01
|
||||
cdc_acm 9-1:1.0: ttyACM1: USB ACM device
|
||||
|
||||
The app prints on serial output (UART1), used for the console:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Wait for DTR
|
||||
|
||||
Open a serial port emulator, for example minicom
|
||||
and attach it to detected CDC ACM device:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
minicom --device /dev/ttyACM1
|
||||
|
||||
The app should respond on serial output with:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
DTR set, start test
|
||||
Baudrate detected: 115200
|
||||
|
||||
And on ttyACM device, provided by zephyr USB device stack:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
Send characters to the UART device
|
||||
Characters read:
|
||||
|
||||
The characters entered in serial port emulator will be echoed back.
|
||||
|
||||
Troubleshooting
|
||||
===============
|
||||
|
||||
If the ModemManager runs on your operating system, it will try
|
||||
to access the CDC ACM device and maybe you can see several characters
|
||||
including "AT" on the terminal attached to the CDC ACM device.
|
||||
You can add or extend the udev rule for your Arduino 101 to inform
|
||||
ModemManager to skip the CDC ACM device.
|
||||
For this example, it would look like this:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
ATTRS{idVendor}=="8086" ATTRS{idProduct}=="f8a1", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
|
||||
You can use
|
||||
`/lib/udev/rules.d/77-mm-usb-device-blacklist.rules` as reference.
|
10
samples/subsys/usb/usb.rst
Normal file
10
samples/subsys/usb/usb.rst
Normal file
|
@ -0,0 +1,10 @@
|
|||
.. _usb-samples:
|
||||
|
||||
USB Samples
|
||||
###############
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:glob:
|
||||
|
||||
**/*
|
Loading…
Add table
Add a link
Reference in a new issue