欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)激活碼778899分享:于開(kāi)發(fā)板上添加adb功能

柚子快報(bào)激活碼778899分享:于開(kāi)發(fā)板上添加adb功能

http://yzkb.51969.com/

文章目錄

1 USB gadget2 configfs3 添加adb功能于開(kāi)發(fā)板3.1 移植adb程序3.2 gadget相關(guān)功能3.3 配置腳本

4 驗(yàn)證使用4.1 啟動(dòng)adb功能及驗(yàn)證是否啟動(dòng)成功4.2 其他命令

1 USB gadget

USB gadget 是一種在嵌入式系統(tǒng)中模擬 USB 設(shè)備的功能。它允許將嵌入式設(shè)備(例如單板計(jì)算機(jī)、嵌入式開(kāi)發(fā)板或智能手機(jī))配置為通過(guò) USB 接口與主機(jī)進(jìn)行通信,就像普通的 USB 設(shè)備一樣。

通常情況下,USB gadget 可以模擬各種類型的 USB 設(shè)備,例如存儲(chǔ)設(shè)備(Mass Storage)、串行設(shè)備(Serial)、網(wǎng)絡(luò)設(shè)備(Ethernet)、音頻設(shè)備(Audio)等。通過(guò)配置不同的 gadget 功能,嵌入式系統(tǒng)可以在 USB 總線上表現(xiàn)為不同類型的設(shè)備,從而與主機(jī)進(jìn)行通信和交互。

使用 USB gadget,開(kāi)發(fā)人員和制造商可以實(shí)現(xiàn)以下功能:

調(diào)試和調(diào)試功能:通過(guò)配置 USB gadget 為 Android Debug Bridge (ADB) 功能,可以方便地進(jìn)行嵌入式系統(tǒng)的調(diào)試和調(diào)試。 數(shù)據(jù)傳輸:通過(guò)配置 USB gadget 為存儲(chǔ)設(shè)備(Mass Storage),可以將嵌入式系統(tǒng)作為 USB 存儲(chǔ)設(shè)備,實(shí)現(xiàn)數(shù)據(jù)的讀取和寫入。 網(wǎng)絡(luò)連接:通過(guò)配置 USB gadget 為網(wǎng)絡(luò)設(shè)備(Ethernet),可以將嵌入式系統(tǒng)連接到主機(jī)以進(jìn)行網(wǎng)絡(luò)通信。 外設(shè)控制:通過(guò)配置 USB gadget 為 HID(Human Interface Device)或其他外設(shè)類型,可以模擬鍵盤、鼠標(biāo)或其他外設(shè),使嵌入式系統(tǒng)能夠與主機(jī)進(jìn)行交互。

USB gadget 的配置通常通過(guò)在 Linux 內(nèi)核中啟用相應(yīng)的選項(xiàng),并通過(guò) sysfs 或 configfs 進(jìn)行動(dòng)態(tài)配置。這使得嵌入式系統(tǒng)可以根據(jù)需求靈活地配置和切換不同的 USB gadget 功能。

總之,USB gadget 允許嵌入式系統(tǒng)通過(guò) USB 接口模擬各種類型的 USB 設(shè)備,從而實(shí)現(xiàn)與主機(jī)的通信和交互。它在嵌入式系統(tǒng)開(kāi)發(fā)、調(diào)試和數(shù)據(jù)傳輸?shù)确矫婢哂袕V泛的應(yīng)用。

2 configfs

Configfs 是 Linux 內(nèi)核提供的一種文件系統(tǒng),用于動(dòng)態(tài)配置內(nèi)核的功能和設(shè)備。在 USB gadget 的上下文中,configfs 用于配置 USB gadget 的功能和屬性。

Configfs 提供了一種以文件和目錄的形式表示和配置內(nèi)核對(duì)象的方式。在 USB gadget 中,configfs 允許用戶在運(yùn)行時(shí)創(chuàng)建和配置 gadget 功能和配置,而無(wú)需重新編譯或重新加載內(nèi)核模塊。

在 configfs 中,USB gadget 的配置位于 /sys/kernel/config/usb_gadget/ 目錄下。通過(guò)在該目錄下創(chuàng)建和配置文件和目錄,可以定義 USB gadget 的功能、屬性和配置。

以下是 configfs 中 USB gadget 配置的一些重要子目錄和文件:

g1:表示 USB gadget 的一個(gè)實(shí)例,可以根據(jù)需要?jiǎng)?chuàng)建多個(gè)實(shí)例。

g1/functions/:包含 USB gadget 可用的功能目錄。例如,可以在此目錄下創(chuàng)建 ffs 目錄來(lái)配置 FunctionFS 功能。

當(dāng)功能目錄下無(wú)法建立你想要的功能目錄,是因?yàn)槟銢](méi)有打開(kāi)內(nèi)核這部分功能

eg:mkdir: can't create directory 'ffs.adb': No such file or directory 代表內(nèi)核未打開(kāi)function filesystem功能

內(nèi)核路徑:.../drivers/usb/gadget/function 修改makefile及配置文件啟動(dòng)

g1/configs/:包含 USB gadget 可用的配置目錄??梢栽诖四夸浵聞?chuàng)建多個(gè)配置,每個(gè)配置可以關(guān)聯(lián)一個(gè)或多個(gè)功能。

g1/UDC:包含 USB Device Controller(UDC)的名稱(例如 udc-x.y)。將 UDC 變量設(shè)置為適當(dāng)?shù)?UDC 驅(qū)動(dòng)程序,以將 USB gadget 與 UDC 關(guān)聯(lián)起來(lái)。

需要注意的是,configfs 是一種高級(jí)的內(nèi)核功能,使用它需要一定的了解和熟悉。具體的配置和操作細(xì)節(jié)可能會(huì)因系統(tǒng)環(huán)境和內(nèi)核版本的不同而有所變化。相關(guān)的文檔和資源可以提供更詳細(xì)的使用指南和示例。

3 添加adb功能于開(kāi)發(fā)板

3.1 移植adb程序

請(qǐng)參考:移植adbd

3.2 gadget相關(guān)功能

打開(kāi)以下內(nèi)核配置選項(xiàng),啟動(dòng)ffs功能

CONFIG_USB_F_FS=y

CONFIG_USB_CONFIGFS_SERIAL=y

CONFIG_USB_CONFIGFS_F_FS=y

3.3 配置腳本

更多設(shè)備及具體原因可參考:usb gadget configfs

#!/bin/sh

case "$1" in

start)

test -d /sys/kernel/config || mkdir /sys/kernel/config

mount -t configfs none /sys/kernel/config

mkdir /sys/kernel/config/usb_gadget/g1

cd /sys/kernel/config/usb_gadget/g1

echo 0x2207 > idVendor

echo 0x0006 > idProduct

mkdir strings/0x409

echo 0123456789ABCDEF > strings/0x409/serialnumber

echo "rockchip" > strings/0x409/manufacturer

echo "rk30xx" > strings/0x409/product

mkdir configs/b.1

mkdir configs/b.1/strings/0x409

echo "adb" > configs/b.1/strings/0x409/configuration

#echo "Conf 1" > configs/b.1/strings/0x409/configuration

#echo 120 > configs/b.1/MaxPower

cur_path=`pwd`

mkdir -p $cur_path'/functions/ffs.adb'

ln -s /sys/kernel/config/usb_gadget/g1/functions/ffs.adb /sys/kernel/config/usb_gadget/g1/configs/b.1/ffs.adb

mkdir -p /dev/usb-ffs/adb

mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb

cd /

adbd &

UDC=`ls /sys/class/udc/| awk '{print $1}'`

sleep 1 && echo $UDC > /sys/kernel/config/usb_gadget/g1/UDC &

;;

stop)

echo none > /sys/kernel/config/usb_gadget/g1/UDC

;;

restart|reload|force-reload)

echo "Error: argument '$1' not supported" >&2

exit 3

;;

*)

echo "Usage: adbd start|stop" >&2

exit 3

;;

esac

4 驗(yàn)證使用

4.1 啟動(dòng)adb功能及驗(yàn)證是否啟動(dòng)成功

串口連接后,執(zhí)行以下命令

. S30adbd start

腳本運(yùn)行成功會(huì)有以下打印

[ 70.427528] file system registered

# install_listener('tcp:5037','*smartsocket*')

[ 70.484788] read descriptors

[ 70.484840] read strings

[ 71.467810] dwc2 ff400000.usb: bound driver configfs-gadget

[ 71.673140] dwc2 ff400000.usb: new device is high-speed

[ 71.809231] dwc2 ff400000.usb: new device is high-speed

[ 71.882259] dwc2 ff400000.usb: new address 6

[ 71.906431] android_work: sent uevent USB_STATE=CONNECTED

[ 71.907887] configfs-gadget gadget: high-speed config #1: b

[ 71.908134] android_work: sent uevent USB_STATE=CONFIGURED

同時(shí)pc端可以用lsusb觀測(cè)到新的usb設(shè)備,而adb devices則可以看到

List of devices attached

0123456789ABCDEF device

4.2 其他命令

連接終端 adb shell

發(fā)送文件 adb push [local] [remote]

拉取文件 adb pull [remote] [local]

pc安裝adb以及更多可用命令可參考rk-adb說(shuō)明

柚子快報(bào)激活碼778899分享:于開(kāi)發(fā)板上添加adb功能

http://yzkb.51969.com/

好文閱讀

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18792047.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄