精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

ipkvm之RK3568 usb gadget

jf_30051736 ? 來源:jf_30051736 ? 作者:jf_30051736 ? 2023-06-09 18:01 ? 次閱讀

PiKVM - Open and inexpensive DIY IP-KVM on Raspberry Pi

開源項目:https://github.com/pikvm

目的:在 rk3568上實現 pikvm所有功能 ,本篇主要實現 rk3568 usb Gadget (hid,ums)

硬件

  • rk3568 / rk3399 / rk3588
  • usb otg接口

開發板既要當USB OTG口既要當鍵盤,又要當鼠標使用。則要生成兩個hid:,一個鍵盤hidg0,一個鼠標hidg1。

1. 功能實現

1.1 kernel 配置

rockchip_linux_defconfig中添加

CONFIG_USB_CONFIGFS_F_HID = y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y

./build.sh 編譯kernel

./build.sh kernel

確認kernel/drivers/usb/gadget/function/f_hid.c被編譯 f_hid.o

燒錄固件boot.img 切換到loader模式

pYYBAGSC9zWAA9FMAAI7qi2lZ48170.png

1.2 使能HID配置

進入系統后執行

echo usb_hid_en > /tmp/.usb_config & /etc/init.d/S50usbdevice restart

USB功能配置成功會有如下log,表明進入USB Ready:

[ 5662.081549] android_work: sent uevent USB_STATE=CONNECTED
[ 5662.085903] configfs-gadget gadget: high-speed config #1: b
[ 5662.086881] android_work: sent uevent USB_STATE=CONFIGURED

查看 ls -l /dev/hid*

pYYBAGSC90KALHeaAAA93ugNVVI866.png

如果需要添加兩個hid,分別做keyboard,mouse

diff --git a/external/rkscript/S50usbdevice b/external/rkscript/S50usbdevice
index 1162f296f..0ad102150 100644
--- a/external/rkscript/S50usbdevice
+++ b/external/rkscript/S50usbdevice
@@ -64,6 +64,7 @@ function_init()
    mkdir ${USB_FUNCTIONS_DIR}/mass_storage.0
    mkdir ${USB_FUNCTIONS_DIR}/uvc.gs6
    mkdir ${USB_FUNCTIONS_DIR}/hid.usb0
+   mkdir ${USB_FUNCTIONS_DIR}/hid.usb1
 }
 configfs_init()
@@ -342,11 +343,19 @@ bind_functions()
    test $RNDIS_EN = on && syslink_function rndis.gs0
    if [ $HID_EN = on ]; then
+       # Keyboard
        echo 1 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/protocol
        echo 1 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/subclass
        echo 8 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/report_length
        echo -ne x05x01x09x06xa1x01x05x07x19xe0x29xe7x15x00x25x01x75x01x95x08x81x02x95x01x75x08x81x03x95x05x75x01x05x08x19x01x29x05x91x02x95x01x75x03x91x03x95x06x75x08x15x00x25x65x05x07x19x00x29x65x81x00xc0 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb0/report_desc
        syslink_function hid.usb0
+       
+       # Mouse 
+       echo 2 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb1/protocol
+       echo 1 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb1/subclass
+       echo 3 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb1/report_length
+       echo -ne x05x01x09x02xa1x01x09x01xa1x00x05x09x19x01x29x03x15x00x25x01x95x03x75x01x81x02x95x01x75x05x81x03x05x01x09x30x09x31x15x81x25x7fx75x08x95x02x81x06xc0xc0 > /sys/kernel/config/usb_gadget/rockchip/functions/hid.usb1/report_desc
+       syslink_function hid.usb1
    fi
    if [ $UMS_EN = on ];then


改完后需要刪除 buildroot/output/rockchip_rk3568,重新編譯。

驗證功能的話,直接改 buildroot/output/rockchip_rk3568/target/etc/init.d/S50usbdevice

buildroot/output/rockchip_rk3568/target/etc/init.d/.usb_config

usb_adb_en
usb_hid_en
usb_ums_en
ums_block=/dev/block/by-name/userdata
ums_block_auto_mount=on

./build.sh rootfs 燒錄即可看到

pYYBAGSC92SAKPH8AAA1rCOk0ZI290.pngpoYBAGSC92mAHPHoAAF_DmJc8So919.png

2. 測試功能

github倉庫:https://github.com/aagallag/hid_gadget_test

The HID Gadget driver provides emulation of USB Human Interface
Devices (HID). The basic HID handling is done in the kernel,
and HID reports can be sent/received through I/O on the
/dev/hidgX character devices.

復制hid_gadget_test.c 到sdk,執行

rk3568-sdk/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc hid_gadget_test.c -o hid_gadget_test -static

生成 hid_gadget_test 使用adb push 到開發板

poYBAGSC95OAeip8AACd0DWMsG8100.png

即可開始測試,輸入 g i s t r --left-shift 按下回車將發送數據

3. 開發板介紹

3.1 基本參數

基本參數
微處理器 CPU RK3568 /3568J/3568M
內存 2GB/4GB/8GB 默認 4G
存儲 8GB/16GB/32GB/64GB/128GB/256GB 默認 32GB
系統 linux、安卓、debian、銀河麒麟操作系統
接口參數
USB 接口 4 路 USB2.0、2 路 USB3.0
以太網 2 路 1000M 網口
串口接口 4 路 232 接口,1 路 RS232/485 轉換(默認 RS232),通過貼片切換
音視頻信號輸入 支持 Mic in/Line in 支持 HDMI 輸入
支持 Line out
音視頻信號輸出 支持功放左右聲道輸出(8Ω,5W)
支持 3.5MM 耳機左右聲道輸出
支持 3 路顯示輸出。HDMI,LVDS,MIPI,EDP,其中 LVDS 和 MIPI 二選一
WIFI/藍牙 WIFI 2.4G/5G 及藍牙 V4.0/4.2
TF 支持支持外部存儲卡擴展
RTC 實時時鐘 支持
SATA 供電接口 提供 12V/5v 電源;(SATA 5V/12V)
I2C/SPI/GPIO 8 路 GPIO、2 路 I2C,1 路 SPI
TP I2C 支持
SATA 3.0 接口 支持
PCIE 接口 1 路 PCIE-2X 接口,可依據需求外加擴展卡

3.2 實物圖

pYYBAGSC97KAUePUABhbbIJ7c3M895.png

3.3 結構圖

pYYBAGSC98KASQ_tAAaNnE8AIWY435.png

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8504

    瀏覽量

    150840
  • usb
    usb
    +關注

    關注

    60

    文章

    7900

    瀏覽量

    264008
  • 線路板
    +關注

    關注

    23

    文章

    1194

    瀏覽量

    47025
  • HID
    HID
    +關注

    關注

    2

    文章

    129

    瀏覽量

    46565
  • RK3568
    +關注

    關注

    4

    文章

    498

    瀏覽量

    4938
收藏 人收藏

    評論

    相關推薦

    rk3568處理器屬于什么檔次 rk3568性能怎么樣

     rk3568處理器屬于中高端通用型SOC,RK3568兼具CPU、GPU、NPU、VPU于一身,是一款高性能低功耗四核應用的處理器。
    發表于 08-26 17:05 ?1.8w次閱讀
    <b class='flag-5'>rk3568</b>處理器屬于什么檔次 <b class='flag-5'>rk3568</b>性能怎么樣

    ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK

    電子發燒友網站提供《ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK.txt》資料免費下載
    發表于 09-20 09:55 ?40次下載
    ROC <b class='flag-5'>RK3568</b> PC源代碼<b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588 RKNN SDK

    RK3568核心板數據手冊

    RK3568 系列處理器還集成了 USB2.0,USB3.0 千兆以太網,CAN-BUS,HDMI,LVDS 等接口。
    發表于 04-18 14:17 ?42次下載

    RK3568 SDK 的編譯

    RK3568 SDK 的編譯
    的頭像 發表于 12-13 11:46 ?1587次閱讀
    <b class='flag-5'>RK3568</b> SDK 的編譯

    迅為基于RK3568開發板的嵌入式學習Linux驅動視頻

    迅為基于RK3568開發板的嵌入式學習Linux驅動視頻
    的頭像 發表于 05-19 16:30 ?937次閱讀
    迅為基于<b class='flag-5'>RK3568</b>開發板的嵌入式學習<b class='flag-5'>之</b>Linux驅動視頻

    瑞芯微RK3568主板開發板PET_RK3568_P01簡述

    瑞芯微RK3568主板開發板PET_RK3568_P01簡述
    的頭像 發表于 08-08 11:41 ?2928次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>主板開發板PET_<b class='flag-5'>RK3568</b>_P01簡述

    瑞芯微RK3568核心板PET_RK3568_CORE簡述

    瑞芯微RK3568核心板PET_RK3568_CORE簡述
    的頭像 發表于 08-08 11:44 ?3678次閱讀
    瑞芯微<b class='flag-5'>RK3568</b>核心板PET_<b class='flag-5'>RK3568</b>_CORE簡述

    RK3568RK3566的區別

    RK3568RK3566的區別 RK3568RK3566是兩種不同的芯片,都是由Rockchip公司推出的。它們都是面向高性能應用市場的芯片,具有相似的性能規格和功能特點。但是在某
    的頭像 發表于 08-15 17:25 ?1.7w次閱讀

    RK35683568J的區別

    RK35683568J的區別 在當前處理器市場中,以小而美形象聞名的瑞克微電子旗下產品RK3568/J也引起了廣泛關注,其中RK35683568
    的頭像 發表于 08-15 17:25 ?9131次閱讀

    rk3568有多少引腳?

    rk3568有多少引腳? 首先,讓我們來了解一下什么是rk3568rk3568是由瑞芯微推出的一款高性能、低功耗的嵌入式處理器,它是rk3566的升級版本,采用了更加先進的技術和架構
    的頭像 發表于 08-15 17:25 ?1634次閱讀

    rk3568是什么架構的?

    RK3568是什么架構的? 中國領先的無晶圓廠半導體公司Rockchip Electronics推出了一款專門為人工智能應用設計的新型片上系統(SoC)。這種新型SoC被稱為RK3568,構建
    的頭像 發表于 08-15 17:25 ?2784次閱讀

    迅為RK3568開發板外接模塊HX711 稱重模塊

    迅為RK3568開發板外接模塊HX711 稱重模塊
    的頭像 發表于 08-30 15:24 ?1474次閱讀
    迅為<b class='flag-5'>RK3568</b>開發板外接模塊<b class='flag-5'>之</b>HX711 稱重模塊

    RK3568-視頻開發案例

    RK3568-視頻開發案例
    的頭像 發表于 01-18 15:51 ?811次閱讀
    <b class='flag-5'>RK3568</b>-視頻開發案例

    瑞芯微RK3568 USB驅動

    瑞芯微RK3568 USB驅動程序
    發表于 11-11 14:18 ?0次下載

    RK3568燒錄工具

    RK3568 燒錄工具
    發表于 11-11 14:16 ?0次下載