在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

干貨 | TCP/IP Over USB 用USB傳輸以太網(wǎng)數(shù)據(jù),給你的MCU加個(gè)網(wǎng)卡

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來(lái)源:YXQ ? 2019-07-31 09:55 ? 次閱讀

RNDIS和ECM的熱插拔問(wèn)題

最近修復(fù)了一波RNDIS 和 ECM的熱插拔通信異常問(wèn)題,添加了通過(guò)menuconfig配置RNDIS delay linkup的配置選項(xiàng)。問(wèn)題修復(fù)點(diǎn)如下:

RNDIS:

當(dāng)存在通信鏈接時(shí) 熱插拔 Windows會(huì)發(fā)送REMOTE_NDIS_RESET_MSG,該指令未實(shí)現(xiàn),現(xiàn)已實(shí)現(xiàn)。

當(dāng)存在通信鏈接時(shí) 熱插拔 eth_tx線程大幾率會(huì)死等傳輸完成的信號(hào)量通知,導(dǎo)致LWIP卡死。

當(dāng)存在通信鏈接時(shí) 熱插拔 eth_rx的接收緩沖未重置,導(dǎo)致接收數(shù)據(jù)異常。

ECM:

當(dāng)存在通信鏈接時(shí) 熱插拔 eth_tx線程大幾率會(huì)死等傳輸完成的信號(hào)量通知,導(dǎo)致LWIP卡死。

當(dāng)存在通信鏈接時(shí) 熱插拔 eth_rx的接收緩沖未重置,導(dǎo)致接收數(shù)據(jù)異常。

現(xiàn)已測(cè)試stm32f469i-discovery / LWIP2.0.2 / Windows 10 1903下 RNDIS,iperf傳輸過(guò)程中反復(fù)熱插拔后功能正常, delay linkup宏開(kāi)啟前后功能正常,連續(xù)熱插拔功能正常。

現(xiàn)已測(cè)試stm32f469i-discovery / LWIP2.0.2 / MacOS Mojave 10.14.2下 ECM,iperf傳輸過(guò)程中反復(fù)熱插拔后功能正常。

關(guān)于NDIS

RNDIS全稱(chēng)Remote NDIS 是Microsoft定義的一種USB以太網(wǎng)卡模型,說(shuō)到RNDIS 必須要說(shuō)說(shuō)另一個(gè)東西,NDIS。

NDIS(Network Driver Interface Specification)網(wǎng)絡(luò)驅(qū)動(dòng)程序接口規(guī)范的簡(jiǎn)稱(chēng)。它橫跨傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,定義了網(wǎng)卡或網(wǎng)卡驅(qū)動(dòng)程序與上層協(xié)議驅(qū)動(dòng)程序之間的通信接口規(guī)范,屏蔽了底層物理硬件的不同,使上層的協(xié)議驅(qū)動(dòng)程序可以和底層任何型號(hào)的網(wǎng)卡通信。NDIS為網(wǎng)絡(luò)驅(qū)動(dòng)程序創(chuàng)建了一個(gè)完整的開(kāi)發(fā)環(huán)境,只需調(diào)用NDIS函數(shù),而不用考慮操作系統(tǒng)的內(nèi)核以及與其他驅(qū)動(dòng)程序的接口問(wèn)題,從而使得網(wǎng)絡(luò)驅(qū)動(dòng)程序可以從與操作系統(tǒng)的復(fù)雜通訊中分離,極大地方便了網(wǎng)絡(luò)驅(qū)動(dòng)程序的編寫(xiě)。另外,利用NDIS的封裝特性,可以專(zhuān)注于一層驅(qū)動(dòng)的設(shè)計(jì),減少了設(shè)計(jì)的復(fù)雜性,同時(shí)易于擴(kuò)展驅(qū)動(dòng)程序棧。

而RNDIS 就是NDIS這種規(guī)范基于USB的一種具體實(shí)現(xiàn),RNDIS目前可以在Windows7 or later(講道理Vista也是可以的)上自動(dòng)加載驅(qū)動(dòng),無(wú)需第三方驅(qū)動(dòng)。而對(duì)于Linux和MacOS來(lái)說(shuō)RNDIS則需要安裝第三方驅(qū)動(dòng)了,部分Linux發(fā)行版內(nèi)置了RNDIS的驅(qū)動(dòng)(誰(shuí)叫Windows用的人多了)。至于Linux Mac 下如何使用RNDIS這里不跟你多解釋?zhuān)驗(yàn)槲姨峁┝肆硪环N解決方案--------CDC-ECM。

CDC-ECM(Ethernet Networking Control Model)是USB聯(lián)盟定義的標(biāo)準(zhǔn)USB以太網(wǎng)控制器模型(很遺憾,Windows下沒(méi)有驅(qū)動(dòng)),絕大部分Linux發(fā)行版和MacOS都支持該種USB設(shè)備的驅(qū)動(dòng)。這里講的絕大多數(shù)包括了各種pi,當(dāng)然如果你自己編譯的linux手動(dòng)剔除了這份驅(qū)動(dòng)就沒(méi)辦法了。

如何在RT-Thread上使用這個(gè)功能

要用這玩意 首先你的RT-Thread bsp得有usb驅(qū)動(dòng) -- 推薦大家使用下面的bsp或者仿照下面的bsp對(duì)STM32F4系列的USB驅(qū)動(dòng)進(jìn)行快速移植。(超簡(jiǎn)單)

bsp/stm32/stm32f469-st-disco

有正點(diǎn)原子 L4 IOT Board的朋友也可以用相關(guān)的bsp。

大概的操作步驟如下:

1) 如果你的bsp的menuconfig有配置USB的驅(qū)動(dòng)加載開(kāi)關(guān)(比如bsp/stm32/stm32f469-st-disco),那么把它打開(kāi)。

這里不是每一個(gè)bsp都有此配置,有些bsp直接通過(guò)usb組件是否開(kāi)啟來(lái)判斷是否使用usb驅(qū)動(dòng)

2) 把LWIP打開(kāi)

這里必須先打開(kāi)LWIP才能在USB Device找到RNDIS/ECM

3)把RNDIS/ECM打開(kāi)

RNDIS:

ECM:

4)編譯下載插USB。

然后你的Windows/Mac/Linux 上就能看到網(wǎng)卡了。是不是超簡(jiǎn)單。

FAQ

Q

為什么設(shè)備上不了網(wǎng)?

因?yàn)槟阒皇呛?a href="http://m.xsypw.cn/v/tag/1247/" target="_blank">電腦連起來(lái)了而已,并沒(méi)有路由器,甚至沒(méi)有DHCP,Windows上可以使用網(wǎng)絡(luò)共享或者網(wǎng)絡(luò)橋接的方式,如果是用Linux的人。我估計(jì)也不用我多嗶嗶。

Q

如果想要板子做DHCP怎么辦?

menuconfig里面開(kāi)DHCP 然后在網(wǎng)卡linkup后調(diào)用 dhcpd_start("u0"); ECM的代碼里面做了如果開(kāi)DHCP的選項(xiàng)就會(huì)自動(dòng)啟動(dòng)DHCP服務(wù)器,可以做參考。

Q

速度怎么樣?

鏈接速度為FS 12Mbps HS 480Mbps,當(dāng)然實(shí)際上是達(dá)不到這個(gè)速度的。不過(guò)延遲那是相當(dāng)?shù)牡汀?/p>

Q

可以干嘛?

臨時(shí)取代一些調(diào)試麻煩得網(wǎng)絡(luò)接口(WIFI,以太網(wǎng))來(lái)調(diào)試一些網(wǎng)絡(luò)應(yīng)用,也可以用來(lái)給有USB卻沒(méi)有以太網(wǎng)的芯片擴(kuò)展一種上網(wǎng)方式,也可以?xún)?nèi)置一個(gè)web服務(wù)器用于配置設(shè)備等等等等....發(fā)揮你的想象力。

聲明:本文內(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17370

    瀏覽量

    352916
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5466

    瀏覽量

    172866
  • 網(wǎng)卡
    +關(guān)注

    關(guān)注

    4

    文章

    315

    瀏覽量

    27485

原文標(biāo)題:TCP/IP Over USB 用USB傳輸以太網(wǎng)數(shù)據(jù),給你的MCU加個(gè)網(wǎng)卡

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    快速入門(mén)!RNDIS網(wǎng)卡實(shí)現(xiàn)USB上網(wǎng)~

    本文將帶你使用RNDIS的方式,搭配Linux主控終端,快速實(shí)現(xiàn)USB上網(wǎng)。 ? RNDIS是指Remote NDIS,基于USB實(shí)現(xiàn)RNDIS實(shí)際上就是TCP/IP
    的頭像 發(fā)表于 12-24 17:02 ?705次閱讀
    快速入門(mén)!RNDIS<b class='flag-5'>網(wǎng)卡</b>實(shí)現(xiàn)<b class='flag-5'>USB</b>上網(wǎng)~

    為什么MPLS仍是以太網(wǎng)傳輸技術(shù)的首選

    什么是運(yùn)營(yíng)商以太網(wǎng)傳輸技術(shù)? 運(yùn)營(yíng)商以太網(wǎng)是指在局域網(wǎng) (LAN) 之外使用以太網(wǎng)技術(shù),特別是用于長(zhǎng)距離、城域
    的頭像 發(fā)表于 11-29 09:14 ?508次閱讀
    為什么MPLS仍是<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>傳輸</b>技術(shù)的首選

    以太網(wǎng)TCP/IP的關(guān)系解析

    在現(xiàn)代計(jì)算機(jī)網(wǎng)絡(luò)中,以太網(wǎng)TCP/IP協(xié)議棧是構(gòu)建網(wǎng)絡(luò)通信的基礎(chǔ)。以太網(wǎng)定義了局域網(wǎng)(LAN)中的數(shù)據(jù)
    的頭像 發(fā)表于 11-08 09:21 ?1062次閱讀

    以太網(wǎng)傳輸介質(zhì)和工作模式

    以太網(wǎng)是一種廣泛應(yīng)用的局域網(wǎng)(LAN)技術(shù),它通過(guò)特定的傳輸介質(zhì)和工作模式,在多個(gè)設(shè)備之間高效地傳輸數(shù)據(jù)。本文將從
    的頭像 發(fā)表于 10-08 10:07 ?1168次閱讀

    以太網(wǎng)數(shù)據(jù)采集網(wǎng)關(guān):數(shù)據(jù)匯聚與傳輸的關(guān)鍵橋梁

    在數(shù)字化轉(zhuǎn)型浪潮的推動(dòng)下,各行各業(yè)都在積極探索如何高效、安全地處理和傳輸數(shù)據(jù)以太網(wǎng)數(shù)據(jù)采集網(wǎng)關(guān)作為這一過(guò)程中的重要組成部分,扮演著數(shù)據(jù)匯聚
    的頭像 發(fā)表于 09-24 14:33 ?497次閱讀
    <b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>數(shù)據(jù)</b>采集網(wǎng)關(guān):<b class='flag-5'>數(shù)據(jù)</b>匯聚與<b class='flag-5'>傳輸</b>的關(guān)鍵橋梁

    水電表集中器支持以太網(wǎng)傳輸數(shù)據(jù)嗎?

    原理水電表集中器通過(guò)內(nèi)置的網(wǎng)絡(luò)適配器,將從各水電表收集的數(shù)據(jù)打包成IP數(shù)據(jù)包,利用TCP/IP協(xié)議棧進(jìn)行封裝,再通過(guò)
    的頭像 發(fā)表于 08-13 17:42 ?359次閱讀
    水電表集中器支持<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>傳輸</b><b class='flag-5'>數(shù)據(jù)</b>嗎?

    以太網(wǎng)無(wú)法連接外網(wǎng)IP,提示No route to host,為什么?

    調(diào)試以太網(wǎng),創(chuàng)建socket后無(wú)法連接外網(wǎng)IP,提示錯(cuò)誤No route to host。(的示例protocolssocketstcp_client,以太網(wǎng)芯片選用的w5500)
    發(fā)表于 06-21 06:43

    RS485轉(zhuǎn)LoRa-以太網(wǎng)TCP轉(zhuǎn)LoRa

    可以實(shí)現(xiàn)以太網(wǎng)轉(zhuǎn)LoRa、Rj45轉(zhuǎn)LoRa、LoRa轉(zhuǎn)以太網(wǎng)、RS485轉(zhuǎn)以太網(wǎng)TCP_IP轉(zhuǎn)LoRa、LoRa轉(zhuǎn)網(wǎng)口、RS485串口轉(zhuǎn)LoRa、LoRa中繼器功能等通信
    的頭像 發(fā)表于 06-19 10:39 ?684次閱讀
    RS485轉(zhuǎn)LoRa-<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>TCP</b>轉(zhuǎn)LoRa

    以太網(wǎng)接口的數(shù)據(jù)傳輸原理詳解

    以太網(wǎng)接口作為計(jì)算機(jī)網(wǎng)絡(luò)中的關(guān)鍵組成部分,承擔(dān)著數(shù)據(jù)傳輸的重要職責(zé)。在了解以太網(wǎng)接口的數(shù)據(jù)傳輸原理之前,我們首先需要明確以太網(wǎng)的基本概念和工
    的頭像 發(fā)表于 05-29 16:47 ?1971次閱讀

    stm32f4的以太網(wǎng)傳輸ADC采用數(shù)據(jù),ADC采樣數(shù)據(jù)會(huì)發(fā)生偏差的原因?

    stm32f4的以太網(wǎng)傳輸ADC采用數(shù)據(jù),在通訊的時(shí)候會(huì)造成采樣數(shù)據(jù)偏差,以太網(wǎng)采用的是lw
    發(fā)表于 05-06 09:01

    示波器分析以太網(wǎng)傳輸機(jī)制

    本文以雙絞線以太網(wǎng)為分析對(duì)象,以混合信號(hào)示波器為分析工具,深入探秘了兩類(lèi)常見(jiàn)的雙絞線以太網(wǎng)的編碼,且實(shí)地查看并驗(yàn)證了以太網(wǎng)在物理層的信號(hào)傳輸情況。最后,通過(guò)一個(gè)實(shí)戰(zhàn)例子對(duì)比了實(shí)際網(wǎng)絡(luò)中
    的頭像 發(fā)表于 04-12 08:30 ?919次閱讀
    <b class='flag-5'>用</b>示波器分析<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>傳輸</b>機(jī)制

    STM32H743以太網(wǎng)與高速USB同時(shí)工作遇到的疑問(wèn)求解

    的代碼。 CubeMX中使用了FreeRTOS,高速USB使用的是CDC類(lèi)。以太網(wǎng)使用的是LWIP,以太網(wǎng)與PC建立TCP連接。 現(xiàn)在的現(xiàn)象是:當(dāng)電腦PC與STM32H743進(jìn)行
    發(fā)表于 04-09 07:53

    應(yīng)用場(chǎng)景:USB轉(zhuǎn)以太網(wǎng)標(biāo)準(zhǔn)模塊

    本帖最后由 lockyymc 于 2024-3-25 15:59 編輯 USB轉(zhuǎn)以太網(wǎng)標(biāo)準(zhǔn)模塊 AG32支持USB FS+OTG和以太網(wǎng)MAC,并且提供了標(biāo)準(zhǔn)例程,包括網(wǎng)絡(luò)Lwi
    發(fā)表于 03-24 10:41

    請(qǐng)問(wèn)STM32G4系列的MCU可以支持以太網(wǎng)嗎?

    請(qǐng)問(wèn)STM32G4系列的MCU可以支持以太網(wǎng)嗎?該系列同時(shí)支持以太網(wǎng)USB Host或OTG接口的型號(hào)有嗎?
    發(fā)表于 03-15 06:14

    工業(yè)以太網(wǎng)的基本原理及優(yōu)勢(shì)

    主要的工業(yè)以太網(wǎng)標(biāo)準(zhǔn)有以太網(wǎng)/IP、PROFINET、EtherCAT、Modbus/TCP等,這些標(biāo)準(zhǔn)實(shí)現(xiàn)了互操作性,應(yīng)用于不同的工業(yè)控制領(lǐng)域。
    的頭像 發(fā)表于 03-06 16:31 ?1387次閱讀
    工業(yè)<b class='flag-5'>以太網(wǎng)</b>的基本原理及優(yōu)勢(shì)
    主站蜘蛛池模板: 色宅男午夜电影在线观看 | 分分操免费视频在线观看 | 色多多a| 成人欧美一区二区三区视频 | 大乳妇女bd视频在线观看 | 欧美人与牲动交xxxx | 1024手机在线观看你懂的 | 国产在线a不卡免费视频 | 日本三级网站在线线观看 | 亚洲天天综合 | 97色在线视频观看香蕉 | 男人天堂资源站 | 狠狠干夜夜骑 | 欧美一区二区三区性 | 国产美女精品三级在线观看 | 四虎在线观看免费永久 | 最新大黄网站免费 | 国产精品激情综合久久 | 黄色一级片毛片 | 97伊人| 亚洲视频www | a看片| 亚洲色图综合网站 | 国模于子涵啪啪大胆 | 亚洲欧美综合一区二区三区四区 | 色依依视频视频在线观看 | 欧美网站在线播放 | 国产伦精品一区二区三区免 | 国产在线播放一区 | 去毛片| 狠狠色噜噜狠狠狠97影音先锋 | 在线观看视频一区 | 国产精品毛片在线大全 | 国产伦精品一区二区三区女 | 久久大尺度 | 婷婷社区五月天 | 国产成 人 综合 亚洲网 | 欧美一级特黄aaaaaa在线看片 | 日本不卡一区二区三区视频 | 免费抓胸吻胸激烈视频网站 | 久久久久久国产精品免费 |