1. 體驗
1.1 使用
所有命令都是在開發板上執行。
掛載 configfs 文件系統
# modprobe libcomposite # mount -t configfs none /sys/kernel/config # ls /sys/kernel/config/ usb_gadget #ls /sys/kernel/config/usb_gadget // 一開始它是空目錄
創建目錄
# cd /sys/kernel/config/usb_gadget # mkdir test_serial # ls test_serial/ -l total 0 -rw-r--r-- 1 root root 4096 Jan 1 03:20 UDC -rw-r--r-- 1 root root 4096 Jan 1 03:20 bDeviceClass -rw-r--r-- 1 root root 4096 Jan 1 03:20 bDeviceProtocol -rw-r--r-- 1 root root 4096 Jan 1 03:20 bDeviceSubClass -rw-r--r-- 1 root root 4096 Jan 1 03:20 bMaxPacketSize0 -rw-r--r-- 1 root root 4096 Jan 1 03:20 bcdDevice -rw-r--r-- 1 root root 4096 Jan 1 03:20 bcdUSB drwxr-xr-x 2 root root 0 Jan 1 01:49 configs drwxr-xr-x 2 root root 0 Jan 1 01:49 functions -rw-r--r-- 1 root root 4096 Jan 1 03:20 idProduct -rw-r--r-- 1 root root 4096 Jan 1 03:20 idVendor drwxr-xr-x 2 root root 0 Jan 1 01:49 os_desc drwxr-xr-x 2 root root 0 Jan 1 01:49 strings
創建目錄后,里面就自動生成了很多文件、目錄,比如:
- idVendor:表示廠家 ID,默認值是 0
- idProduct:表示產品 ID,默認值是 0
設置設備描述符,比如設置廠家 ID、產品 ID,這是可選的
echo "0x1234" > idVendor echo "0x5678" > idProduct
創建配置:格式為"configs/.",name 可以取任意字符,number 是配置編號
mkdir configs/c.1
創建功能(function、接口):格式為"functions/.",name 對應 function 的名字,比如 acm 對應 ACM 功能,對應的驅動為usb_f_acm.ko;instance name 可以取任意字符
mkdir functions/acm.test1
把配置和功能聯系起來:ln -s functions/. configs/.
ln -s functions/acm.test1 configs/c.1/
使能 Gadget(確定使用哪個 USB Device Controller):echo > UDC,可用的 UDC,可以在 /sys/class/udc/* 目錄下查看
echo ci_hdrc.0 > UDC
1.2 清除
- 禁止 Gadget
echo "" > UDC
- 移除配置里的功能(Remove functions from configurations):命令:rm configs/./
rm configs/c.1/acm.test1
- 移除配置:rmdir configs/.
rmdir configs/c.1
- 移除功能:rmdir functions/.
rmdir functions/acm.test1
- 移除 Gadget
rmdir test_serial
1.3 STM32MP157上的實驗
因為 STM32MP157 系統里已經使用 adb 設備,要想模擬串口設備,需要先清除 adb,命令如下:
cd /sys/kernel/config/usb_gadget/g1
echo "" > UDC
rm configs/b.1/ffs.adb
rmdir configs/b.1/strings/0x409
rmdir configs/b.1
rmdir functions/ffs.adb
rm strings/0x409
cd ..
rmdir g1
清除后,就按照《1.1 使用》來操作,需要注意的是最后一步:
ls /sys/class/udc/
49000000.usb-otg
echo 49000000.usb-otg > UDC
-
嵌入式
+關注
關注
5082文章
19111瀏覽量
304852 -
Linux
+關注
關注
87文章
11296瀏覽量
209358
發布評論請先 登錄
相關推薦
評論