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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

如何在RK3568開(kāi)發(fā)板上實(shí)現(xiàn)USBNET?——飛凌嵌入式/USB Gadget/USB-NET/網(wǎng)絡(luò)

飛凌嵌入式 ? 2023-09-15 15:34 ? 次閱讀

本文將借助飛凌嵌入式OK3568-C開(kāi)發(fā)板為大家介紹實(shí)現(xiàn)USBNET模式的方法,在這之前需要先知道什么是USB Gadget——USB Gadget是指所開(kāi)發(fā)的電子設(shè)備以USB從設(shè)備的模式通過(guò)USB連接到主機(jī)。舉個(gè)例子:將手機(jī)通過(guò)USB線插入PC后,手機(jī)就是USB Gadget。同理,在本文的操作中就是將手機(jī)替換成了OK3568-C開(kāi)發(fā)板。

Gadget框架提出了一套標(biāo)準(zhǔn)API,在底層,USB設(shè)備控制器(UDC) 驅(qū)動(dòng)則實(shí)現(xiàn)這一套API,不同的UDC(通常是SoC的一部分) 需要不同的驅(qū)動(dòng), 甚至基于同樣的UDC的不同板卡也需要對(duì)代碼進(jìn)行修改。我們想要實(shí)現(xiàn)USBNET也需要驅(qū)動(dòng),它的名字叫做RNDIS。RNDIS驅(qū)動(dòng)在內(nèi)核中是存在的,只需要找到配置項(xiàng)并編譯進(jìn)內(nèi)核即可。

首先進(jìn)入源碼kernel目錄,進(jìn)入menuconfig圖形配置界面:

wKgaomUECROAYC5GAAAQXBiO6F0943.png

進(jìn)入menuconfig時(shí)需要指定環(huán)境,不然直接執(zhí)行make menuconfig進(jìn)入的圖形配置界面為X86架構(gòu)。如下圖進(jìn)入的為ARM架構(gòu)是正確的圖形配置界面:

wKgZomUECROAWlF_AAAbISfZ894988.png

按 /,可以進(jìn)入搜索界面:

wKgaomUECROACfkEAAAUgFQG7vo900.png

直接搜索rndis,找到寫(xiě)有USB Gadget字樣的目錄,可以看到有多個(gè)路徑,可以直接進(jìn)入U(xiǎn)SB Gadget目錄下去看,那個(gè)就是配置RNDIS的選項(xiàng)。

wKgZomUECROAASRlAABWvZJN2jM760.png

經(jīng)過(guò)尋找最終路徑如下圖所示:

wKgaomUECRKAEfScAAAm_bActYY976.png

將RNDIS驅(qū)動(dòng)開(kāi)啟,并選中一些網(wǎng)絡(luò)協(xié)議配置,如下圖圈中所示:

wKgaomUECROAJUBeAADpZUy3QL024.jpeg

找到USB Gadget precomposed configurations,將RNDIS編譯進(jìn)內(nèi)核(如果選擇編譯成模塊,單獨(dú)編譯內(nèi)核不會(huì)生成 .ko文件,為了省去繁瑣掛載步驟,本篇就將RNDIS編譯進(jìn)內(nèi)核)。

wKgaomUECROAFQhpAAAZNg45opg66.jpeg

配置完成,選擇Exit按鍵直到退出,“是否保存”選擇yes即可:

wKgZomUECROADPCbAAAV8BhZY8c027.png

返回源碼目錄進(jìn)入build.sh腳本,注釋掉defconfig生成.config文件的命令,使menuconfig配置生效,注釋位置如下:

wKgZomUECROAZIEwAABYINLFi7g669.png

保存退出,單獨(dú)編譯內(nèi)核,在源碼目錄下執(zhí)行./build.sh kernel。編譯完成之后會(huì)在kernel目錄下生成boot.img文件。

wKgaomUECROAZO1LAAAY5iHuN1E075.png

單步更新鏡像使用瑞芯微官方提供的燒寫(xiě)工具——RKDevTool。按住Recovery鍵按Reset,直到燒寫(xiě)工具顯示發(fā)現(xiàn)一個(gè)LOADER設(shè)備后松開(kāi)Recovery鍵。

wKgZomUECROARKQlAAAZH9Lh1ZU004.png

替換圖中位置,點(diǎn)擊設(shè)備分區(qū)表,完成后,點(diǎn)擊執(zhí)行,設(shè)備重啟后,即為燒錄完成,右側(cè)也會(huì)有燒錄進(jìn)度。開(kāi)發(fā)板重啟后,ifconfig -a查看可以看到生成usb0節(jié)點(diǎn)。

wKgaomUECROAeemjAABIpOJQMX8192.png

利用Linux USB Gadget設(shè)備驅(qū)動(dòng)可以實(shí)現(xiàn)一些比較有意思的功能:

1. 一個(gè)嵌入式產(chǎn)品中的某個(gè)存儲(chǔ)設(shè)備,或是一個(gè)存儲(chǔ)設(shè)備的某個(gè)分區(qū),可以作為一個(gè)U盤(pán)被PC識(shí)別;

2. 一個(gè)嵌入式設(shè)備通過(guò)USB連接到PC后,在PC端會(huì)出現(xiàn)一個(gè)新的網(wǎng)絡(luò)連接,在嵌入式設(shè)備上也會(huì)有一個(gè)網(wǎng)卡設(shè)備,你可以配置它們的IP地址,并進(jìn)行網(wǎng)絡(luò)通訊,俗稱(chēng)USBNET。

此次使用的是USB3.0接口,因此需要detect激活Type-C 5V轉(zhuǎn)3.3V Type-A,硬件改動(dòng)為p40的pin1連接c23的正極。將播碼開(kāi)關(guān)撥至ON,插入雙公頭USB線;

強(qiáng)制使USB輸出為device

echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode

打印信息如圖所示:

wKgZomUECROAIyNlAAAz3JBrQzw866.png

可以在設(shè)備管理器網(wǎng)絡(luò)適配器上看到這個(gè)節(jié)點(diǎn),配置一個(gè)IP

wKgZomUECROAOxdrAAAG_dJVzUM732.png

查看網(wǎng)絡(luò)連接可以看到一個(gè)未識(shí)別網(wǎng)絡(luò),將這個(gè)也配置上IP,注意需要跟OK3568-C開(kāi)發(fā)板配置的IP在同一網(wǎng)段:

wKgaomUECROAXJ5BAAAUeypxzBg136.png

使用OK3568-C開(kāi)發(fā)板去ping剛才電腦配置的IP,發(fā)現(xiàn)可以ping通。

wKgZomUECRSAadcMAAAj-ONUZpc943.png

通過(guò)以上信息可以看出,OK3568-C開(kāi)發(fā)板已實(shí)現(xiàn)USBNET功能,實(shí)現(xiàn)網(wǎng)絡(luò)共享。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    8967

    瀏覽量

    365038
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18817

    瀏覽量

    298553
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7773

    瀏覽量

    262389
  • 網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    14

    文章

    7389

    瀏覽量

    88213
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96174
  • 飛凌嵌入式
    +關(guān)注

    關(guān)注

    0

    文章

    85

    瀏覽量

    115
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?181次閱讀
    北京迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>嵌入式</b>學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    如何get RK3568核心的音頻功能

    的是,嵌入式RK3568核心憑借采樣范圍為0~1.8V、采樣精度為10bits的ADC采樣接口的加持,輔以巧妙的電路設(shè)計(jì),可輕松
    發(fā)表于 08-29 14:34

    嵌入式OK3576-C開(kāi)發(fā)板體驗(yàn)】開(kāi)箱報(bào)告

    簡(jiǎn)介 很榮幸參與到本次由嵌入式和電子發(fā)燒友提供的OK3576-C開(kāi)發(fā)板的試用機(jī)會(huì)。
    發(fā)表于 08-22 02:13

    RK3568開(kāi)發(fā)板支持AMP雙系統(tǒng)

    RK3568開(kāi)發(fā)板支持AMP雙系統(tǒng)
    的頭像 發(fā)表于 06-04 15:33 ?427次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>支持AMP雙系統(tǒng)

    嵌入式FET3568/3568J-C核心現(xiàn)已適配OpenHarmony4.1

    J-C核心賦予了更強(qiáng)大的功能,也為開(kāi)發(fā)者們提供了更加廣闊的創(chuàng)新空間。FET3568/3568J-C核心作為
    的頭像 發(fā)表于 05-31 14:17 ?504次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>FET<b class='flag-5'>3568</b>/<b class='flag-5'>3568</b>J-C核心<b class='flag-5'>板</b>現(xiàn)已適配OpenHarmony4.1

    RK3568核心實(shí)現(xiàn)USBNET模式網(wǎng)絡(luò)共享

    本文將借助嵌入式OK3568-C開(kāi)發(fā)板為大家介紹實(shí)現(xiàn)US
    發(fā)表于 05-22 16:32

    基于飛嵌入式RK3568J核心的工業(yè)機(jī)器人控制器應(yīng)用方案

    推薦使用FET3568J-C工業(yè)級(jí)核心作為機(jī)器人控制器的主控平臺(tái)。 0****1 高性能處理器 嵌入式FET
    發(fā)表于 05-11 09:40

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)開(kāi)發(fā)指南-輸入子系統(tǒng)

    迅為RK3568開(kāi)發(fā)板驅(qū)動(dòng)開(kāi)發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?590次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>驅(qū)動(dòng)<b class='flag-5'>開(kāi)發(fā)</b>指南-輸入子系統(tǒng)

    嵌入式RK3568開(kāi)發(fā)板藍(lán)牙收、發(fā)文件測(cè)試

    本文由電子發(fā)燒友論壇用戶fsdzdzy提供,感謝分享。嵌入式每月定期開(kāi)展新的開(kāi)發(fā)板體驗(yàn)活動(dòng),歡迎更多工程師朋友的關(guān)注和參與。
    的頭像 發(fā)表于 02-02 16:31 ?1681次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>藍(lán)牙收、發(fā)文件測(cè)試

    迅為RK3568開(kāi)發(fā)板助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展

    迅為RK3568開(kāi)發(fā)板助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展
    的頭像 發(fā)表于 01-23 13:59 ?391次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>助力智能車(chē)載產(chǎn)業(yè)快速發(fā)展

    AMP“雙系統(tǒng)”加持,嵌入式RK3568核心強(qiáng)實(shí)時(shí)性再升級(jí)

    嵌入式FET3568-C系列核心再度迎來(lái)新升級(jí)——支持“AMP”雙系統(tǒng)。
    的頭像 發(fā)表于 01-17 11:30 ?792次閱讀
    AMP“雙系統(tǒng)”加持,<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>RK3568</b>核心<b class='flag-5'>板</b>強(qiáng)實(shí)時(shí)性再升級(jí)

    技術(shù)帖 | 嵌入式T113-i開(kāi)發(fā)板的休眠及喚醒操作

    嵌入式OK113i-S開(kāi)發(fā)板支持兩種休眠方式:freeze和mem。本篇內(nèi)容小編會(huì)為大家介紹如何讓
    的頭像 發(fā)表于 12-29 08:02 ?1031次閱讀
    技術(shù)帖 | <b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b>T113-i<b class='flag-5'>開(kāi)發(fā)板</b>的休眠及喚醒操作

    RK3568開(kāi)發(fā)板在工控工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)方面的應(yīng)用

    RK3568開(kāi)發(fā)板在工控工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)方面的應(yīng)用
    的頭像 發(fā)表于 11-22 14:21 ?676次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開(kāi)發(fā)板</b>在工控工業(yè)物聯(lián)網(wǎng)網(wǎng)關(guān)方面的應(yīng)用

    新版本!嵌入式RK3568系列開(kāi)發(fā)板全面支持Debian 11系統(tǒng)

    嵌入式OK3568-C/OK3568J-C開(kāi)發(fā)板現(xiàn)已全面支持Debian 11系統(tǒng),新系統(tǒng)的
    的頭像 發(fā)表于 11-14 08:01 ?509次閱讀
    新版本!<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>嵌入式</b><b class='flag-5'>RK3568</b>系列<b class='flag-5'>開(kāi)發(fā)板</b>全面支持Debian 11系統(tǒng)

    嵌入式OK3568開(kāi)發(fā)板試用 」開(kāi)箱和Ubuntu鏡像測(cè)試

    自帶USB串口模塊,這個(gè)在一些工業(yè)開(kāi)發(fā)板是省略的??梢钥闯?b class='flag-5'>飛嵌入式硬件設(shè)計(jì)的也很貼心,PCI
    發(fā)表于 11-07 23:01