99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux configfs的使用

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-13 10:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 體驗

1.1 使用

所有命令都是在開發(fā)板上執(zhí)行。

  • 掛載 configfs 文件系統(tǒng)

    # modprobe libcomposite
    # mount -t configfs none /sys/kernel/config
    # ls /sys/kernel/config/
    usb_gadget
    
    #ls /sys/kernel/config/usb_gadget  // 一開始它是空目錄
    
  • 創(chuàng)建目錄

    # 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
    

    創(chuàng)建目錄后,里面就自動生成了很多文件、目錄,比如:

    • idVendor:表示廠家 ID,默認值是 0
    • idProduct:表示產(chǎn)品 ID,默認值是 0
  • 設置設備描述符,比如設置廠家 ID、產(chǎn)品 ID,這是可選的

    echo "0x1234" > idVendor
    echo "0x5678" > idProduct
    
  • 創(chuàng)建配置:格式為"configs/.",name 可以取任意字符,number 是配置編號

    mkdir configs/c.1
    
  • 創(chuàng)建功能(function、接口):格式為"functions/.",name 對應 function 的名字,比如 acm 對應 ACM 功能,對應的驅(qū)動為usb_f_acm.ko;instance name 可以取任意字符

    mkdir functions/acm.test1
    
  • 把配置和功能聯(lián)系起來: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 系統(tǒng)里已經(jīng)使用 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
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5152

    文章

    19675

    瀏覽量

    317691
  • Linux
    +關注

    關注

    87

    文章

    11511

    瀏覽量

    213855
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    樹莓派編譯內(nèi)核報錯

    編譯的時候報錯CC [M]fs/btrfs/volumes.ofs/btrfs/volumes.c:28:27: fatal error: linux/raid/pq.h: No such file
    發(fā)表于 09-29 09:47

    Linux系統(tǒng)啟動卡制作及系統(tǒng)固化

    :VMware14.1.1Kernel:Linux-4.9.65、Linux-RT-4.9.65Linux Processor SDK
    發(fā)表于 09-17 16:16

    怎么去解決D1s tina linux連接失敗的問題

    ] configfs-gadget gadget: high-speed config #1: c[13.729040] android_work: sent uevent USB_STATE=CONFIGURED
    發(fā)表于 12-28 06:19

    Imx6如何作為UVC wbcam相機?

    。在內(nèi)核日志中我看到:[ 78.763930] configfs-gadget 小工具:uvc:無法將請求排隊 (-22)。[ 79.259922] ci_hdrc ci_hdrc.0: 未頁面
    發(fā)表于 04-21 07:17

    Linux之chardev_buttom_linux_struc

    Linux之chardev_buttom_linux_struct_poll教程,很好的Linux資料,快來學習吧
    發(fā)表于 04-15 17:49 ?7次下載

    Linux之chardev_buttom_linux_struc

    Linux之chardev_buttom_linux_struct_timer_debounce教程,很好的Linux自學資料,快來學習吧。
    發(fā)表于 04-15 17:59 ?5次下載

    REDIce-Linux--靈活的實時Linux內(nèi)核

    REDSonic, Inc. REDSonic的RedIce-Linux是一個實時Linux內(nèi)核,設計來支持以任務和時間為臨界的應用,為你的系統(tǒng)提供質(zhì)量服務。RedIce-Linux包括高精度的微秒
    發(fā)表于 11-08 10:24 ?12次下載

    Linux教程之Linux的文件權限管理實驗

    嚴格來講,Linux這個詞本身只表示Linux內(nèi)核,但在實際上人們已經(jīng)習慣了用Linux來形容整個基于Linux內(nèi)核,并且使用GNU工程各種工具和資料庫的操作系統(tǒng)(也被稱為GNU/
    發(fā)表于 11-20 17:08 ?6次下載
    <b class='flag-5'>Linux</b>教程之<b class='flag-5'>Linux</b>的文件權限管理實驗

    如何學習Linux學習Linux的詳細步驟說明

    Linux系統(tǒng)現(xiàn)在越來越滿足人們對技術的要求,因此Linux不論在市場中還是企業(yè)里都備受歡迎,所以學習Linux的人越來越多,那么Linux到底應該怎么學呢?有沒有
    發(fā)表于 01-15 17:17 ?63次下載
    如何學習<b class='flag-5'>Linux</b>學習<b class='flag-5'>Linux</b>的詳細步驟說明

    32位的linux和64位的linux有何不同

    32位的linux和64位的linux有何不同?
    發(fā)表于 06-12 09:29 ?1497次閱讀

    Linux的產(chǎn)生_Linux的發(fā)展

    Linux是一種計算機操作系統(tǒng),通常被稱為類Unix系統(tǒng),這是因為Linux和Unix有著很深的淵源。
    發(fā)表于 07-16 14:33 ?1519次閱讀

    國內(nèi)最好用的linux系統(tǒng)_linux系統(tǒng)入門命令

    linux是免費開源的操作系統(tǒng),屬性linux系統(tǒng)的版本非常多,除了全球知名的幾款linux之外,國內(nèi)也有幾款非常不錯的linux版本,下面小編和大家分享下三款最好用的國產(chǎn)
    發(fā)表于 08-26 10:18 ?5435次閱讀
    國內(nèi)最好用的<b class='flag-5'>linux</b>系統(tǒng)_<b class='flag-5'>linux</b>系統(tǒng)入門命令

    Linux有什么優(yōu)勢?Linux能替代Windows 嗎?

    Linux 能用嗎? Linux 有圖形界面 支持日常開發(fā) 社交溝通沒問題 Linux 能替代 Windows 嗎? Linux 下運行 Android 應用
    的頭像 發(fā)表于 10-26 12:02 ?4764次閱讀

    嵌入式linux和桌面linux的區(qū)別

    嵌入式linux和桌面linux的區(qū)別主要區(qū)別是:1. 硬件平臺:嵌入式Linux一般是Mips, ARM平臺, 桌面Linux一般是x86平臺。2. 根文件系統(tǒng)嵌入式
    發(fā)表于 10-20 15:36 ?4次下載
    嵌入式<b class='flag-5'>linux</b>和桌面<b class='flag-5'>linux</b>的區(qū)別

    Linux configfs的內(nèi)部機制介紹

    2.1 configfs 和 sysfs configfs 和 sysfs 都是基于內(nèi)存的虛擬文件系統(tǒng),但是它們并不相同。 對于 sysfs,當內(nèi)核創(chuàng)建某個對象時,比如注冊一個
    的頭像 發(fā)表于 07-13 11:00 ?2342次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>configfs</b>的內(nèi)部機制介紹