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

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

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

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

使用LwIP協(xié)議棧淺析實(shí)戰(zhàn)分析(i.MX RT)

哈哈hfgfdf ? 來(lái)源:嵌入式學(xué)習(xí)資料 ? 作者:嵌入式學(xué)習(xí)資料 ? 2024-02-02 17:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

LWIP協(xié)議與網(wǎng)絡(luò)分層

LwIP(Light weight IP),是一種輕量化且開(kāi)源的TCP/IP協(xié)議棧,它可以在有限的RAMROM條件下,實(shí)現(xiàn)一個(gè)完整的TCP/IP 協(xié)議棧。此外,LwIP既可以移植到操作系統(tǒng)上運(yùn)行,也可以在無(wú)操作系統(tǒng)的情況下獨(dú)立運(yùn)行。

TCP/IP協(xié)議棧的模型結(jié)構(gòu)如下圖所示,由于TCP/IP協(xié)議棧的出現(xiàn)時(shí)間較早,所以沒(méi)有按照傳統(tǒng)的7層OSI網(wǎng)絡(luò)模型進(jìn)行設(shè)計(jì),一共只分為了4層,分別為網(wǎng)絡(luò)接口層,網(wǎng)絡(luò)層,傳輸層以及應(yīng)用層,LwIP協(xié)議棧的網(wǎng)絡(luò)模型與之類(lèi)似。

fee6a7cc-b33e-11ee-9b10-92fbcf53809c.png

網(wǎng)絡(luò)接口層主要通過(guò)雙絞線,光纖,無(wú)線等方式進(jìn)行網(wǎng)絡(luò)上數(shù)據(jù)幀的發(fā)送和接收。網(wǎng)絡(luò)接口層將網(wǎng)絡(luò)層的數(shù)據(jù)組裝成自己特定的幀進(jìn)行發(fā)送,同時(shí)也會(huì)接收數(shù)據(jù)幀進(jìn)行解析,并將解析過(guò)后的數(shù)據(jù)發(fā)送給網(wǎng)絡(luò)層。

網(wǎng)絡(luò)層負(fù)責(zé)在主機(jī)之間的通信過(guò)程之中選擇數(shù)據(jù)包的傳輸路徑,并且在接收到傳入的數(shù)據(jù)報(bào)時(shí)會(huì)檢驗(yàn)其有效性,并遞交給上層。

傳輸層主要提供應(yīng)用程序之間的通信服務(wù),它會(huì)系統(tǒng)的管理兩端數(shù)據(jù)之間的交互。

應(yīng)用層簡(jiǎn)單來(lái)說(shuō)就是利用傳輸層提供的功能發(fā)送自己的數(shù)據(jù)到對(duì)方。

LWIP協(xié)議棧初始化

在開(kāi)始傳輸數(shù)據(jù)之前,首先要進(jìn)行一系列的初始化操作,本文以i.MX RT1060 SDK中的Demo "evkmimxrt1060_lwip_udppecho_bm"為例,該代碼可以通過(guò)MCUXpresso IDE進(jìn)行導(dǎo)入。

netif_add函數(shù)用來(lái)掛載網(wǎng)絡(luò)接口,并完成網(wǎng)絡(luò)通信之前的大部分初始化工作,包括PHY芯片的初始化,i.MX RT1060上ENET外設(shè)初始化,以及一些通信過(guò)程中用到的相關(guān)數(shù)據(jù)結(jié)構(gòu)的初始化。

PHY芯片的初始化是在ethernetif_phy_init之中完成,包括MDIO初始化,網(wǎng)口自動(dòng)協(xié)商,網(wǎng)口連接等操作。

fef8489c-b33e-11ee-9b10-92fbcf53809c.png

ENET外設(shè)的初始化在ENET_SetMacController之中完成,這里進(jìn)行了ENET外設(shè)的一些配置,例如設(shè)置接口速率,以及接口類(lèi)型(mii,Rmii)等等。

ff097838-b33e-11ee-9b10-92fbcf53809c.png

PHY初始化函數(shù)以及ENET初始化函數(shù)都在ethernetif0_init函數(shù)中被調(diào)用,并且該函數(shù)被作為一個(gè)實(shí)參傳入netif_add之中并被在其中被調(diào)用,因此netif_add不僅完成了網(wǎng)絡(luò)接口的掛載,還完成了接口相關(guān)的一系列初始化工作。

此外,在進(jìn)行網(wǎng)絡(luò)接口相關(guān)初始化的同時(shí),也完成了對(duì)一系列數(shù)據(jù)結(jié)構(gòu)的初始化,此處介紹一些在網(wǎng)絡(luò)通信過(guò)程中用到的結(jié)構(gòu)體。

enet_rx_bd_struct_t, 該結(jié)構(gòu)體一般用來(lái)定義buffer descriptor,網(wǎng)絡(luò)接口層接收到的數(shù)據(jù)一般就封裝在buffer descriptor之中。
結(jié)構(gòu)體定義如下圖所示,其中l(wèi)ength代表buffer descriptor之中數(shù)據(jù)的長(zhǎng)度,control之中會(huì)存儲(chǔ)一些與buffer descriptor相關(guān)的狀態(tài)信息,并且支持enhanced buffer descriptor。

ff17373e-b33e-11ee-9b10-92fbcf53809c.png

enet_rx_bd_ring_t結(jié)構(gòu)體,如下圖所示,每一條ring都是由buffer descriptor組成的。
ffe414d4-b33e-11ee-9b10-92fbcf53809c.pngRing結(jié)構(gòu)體中的rxBdBase成員就是第一個(gè)buffer descriptor的地址,rxGenIdx指的是當(dāng)前buffer descriptor的序號(hào),rxRingLen指的是這條Ring中共有幾個(gè)buffer descriptor。
ffed9aae-b33e-11ee-9b10-92fbcf53809c.png

pbuf結(jié)構(gòu)體,pbuf結(jié)構(gòu)體是用來(lái)描述lwip協(xié)議棧中數(shù)據(jù)包的結(jié)構(gòu)體。它是以鏈表的形式存在的,pbuf之中會(huì)存在指針指向下一個(gè)pubf 。

由于在case之中,使用的是UDP通信,因此還需要進(jìn)行一些UDP相關(guān)的初始化設(shè)置。例如調(diào)用udp_bind函數(shù),對(duì)UDP控制塊中的local_port,local_ip等參數(shù)進(jìn)行綁定,以及調(diào)用udp_recv在udp控制塊上進(jìn)行一些回調(diào)函數(shù)的綁定等等,至于什么是UDP控制塊,在后面會(huì)進(jìn)行介紹。

LWIP網(wǎng)絡(luò)接口層

網(wǎng)絡(luò)接口層數(shù)據(jù)接收

在udpecho demo之中是通過(guò)輪詢的方法來(lái)實(shí)現(xiàn)數(shù)據(jù)接收,使用的是raw/callback api, 除了這種api之外lwip還提供socket api等,不過(guò)需要操作系統(tǒng)的支持。

在while循環(huán)中首先會(huì)去調(diào)用ethernetif_input函數(shù),該函數(shù)中會(huì)調(diào)用ethernetif_linkinput函數(shù),在ethernetif_linkinput之中又會(huì)去調(diào)用ENET_GetRxFrame和ethernetif_rx_frame_to_pbufs函數(shù)。


在ENET_GetRxFrame函數(shù)中會(huì)把網(wǎng)絡(luò)接口中接收到的數(shù)據(jù)搬運(yùn)到RxFrame之中,然后ethernetif_rx_frame_to_pbufs函數(shù)又會(huì)把RxFrame之中的數(shù)據(jù)搬運(yùn)到pbufs之中,接下來(lái)就會(huì)調(diào)用ethernet_input函數(shù),在lwip源碼之中的ethernet.c文件中被定義,主要用于無(wú)操作系統(tǒng)時(shí)候網(wǎng)絡(luò)層去處理接收到的數(shù)據(jù)幀,然后往上層遞交,對(duì)于不同的數(shù)據(jù)包進(jìn)行不同的處理,如果是 ARP包,則調(diào)用etharp_input函數(shù);如果是 IP 包,則調(diào)用 ip4_input函數(shù),通過(guò)這些函數(shù)將數(shù)據(jù)包遞交給 IP 層處理。

ffff8c64-b33e-11ee-9b10-92fbcf53809c.png

網(wǎng)絡(luò)接口層數(shù)據(jù)發(fā)送

在網(wǎng)絡(luò)層發(fā)送數(shù)據(jù)時(shí),會(huì)調(diào)用網(wǎng)絡(luò)接口層的ethernet_output函數(shù),ethernet_output函數(shù)之中又會(huì)去調(diào)用ethernetif_linkoutput函數(shù),當(dāng)數(shù)據(jù)較大需要用多個(gè)pbuf進(jìn)行存儲(chǔ)的時(shí)候,pbuf以鏈表的形式存在,所以需要將這些鏈表中的數(shù)據(jù)進(jìn)行合并,如下圖所示。

001087e4-b33f-11ee-9b10-92fbcf53809c.png

操作完成后通過(guò)ENET_SendFrame函數(shù)來(lái)完成數(shù)據(jù)的發(fā)送;最后數(shù)據(jù)會(huì)通過(guò)網(wǎng)絡(luò)接口傳輸出去。

LWIP網(wǎng)絡(luò)層

IP協(xié)議

IP協(xié)議是一種經(jīng)典的網(wǎng)絡(luò)層協(xié)議,IP協(xié)議(Internet Protocol),又稱之為網(wǎng)際協(xié)議,IP 協(xié)議處于IP層工作,它是整個(gè)TCP/IP協(xié)議棧的核心協(xié)議,上層協(xié)議都要依賴IP協(xié)議提供的服務(wù),IP協(xié)議負(fù)責(zé)將數(shù)據(jù)報(bào)從源主機(jī)發(fā)送到目標(biāo)主機(jī),并通過(guò)IP地址作為唯一識(shí)別碼。簡(jiǎn)單來(lái)說(shuō),不同主機(jī)之間的IP地址是不一樣的,在發(fā)送數(shù)據(jù)報(bào)的過(guò)程中,IP協(xié)議還可能對(duì)數(shù)據(jù)報(bào)進(jìn)行分片處理,同時(shí)在接收數(shù)據(jù)報(bào)的時(shí)候,還可能需要對(duì)分片的數(shù)據(jù)報(bào)進(jìn)行重裝等等。

IP協(xié)議是一種無(wú)連接的不可靠數(shù)據(jù)報(bào)交付協(xié)議,協(xié)議本身不提供任何的錯(cuò)誤檢查與恢復(fù)機(jī)制,需要傳輸層協(xié)議來(lái)完成這些功能。

IP地址

在TCP/IP設(shè)計(jì)過(guò)程中,設(shè)計(jì)人員為每一臺(tái)主機(jī)分配一個(gè)32bit的IP地址,只有具有有效的IP地址的主機(jī)才能接入互聯(lián)網(wǎng)中與其他主機(jī)進(jìn)行通信。

IP數(shù)據(jù)報(bào)

IP數(shù)據(jù)包一般由IP首部和數(shù)據(jù)組成,首部一般有20-60字節(jié),其中有40字節(jié)是可選的,一般首部?jī)H由20字節(jié)組成,IP數(shù)據(jù)報(bào)結(jié)構(gòu)如下圖所示。

002141f6-b33f-11ee-9b10-92fbcf53809c.png

為了方便對(duì)IP首部進(jìn)行讀取或?qū)懭氩僮鳎趌wip源碼之中定義了ip_hdr結(jié)構(gòu)體來(lái)表示ip數(shù)據(jù)報(bào)首部。

0034d6e4-b33f-11ee-9b10-92fbcf53809c.png

IP層數(shù)據(jù)接收

在上文提到,對(duì)于不同的數(shù)據(jù)包進(jìn)行不同的處理,如果是ARP包,則調(diào)用etharp_input函數(shù)去處理;如果是IP包,則交給IP相關(guān)函數(shù)去處理。

在udpecho demo中使用的是IPV4協(xié)議,因此,會(huì)調(diào)用ip4_input函數(shù)。

在ip4_input函數(shù)中會(huì)對(duì)ip數(shù)據(jù)報(bào)的相關(guān)字段進(jìn)行檢驗(yàn),例如長(zhǎng)度,校驗(yàn)和,版本號(hào)等等,也會(huì)判斷該數(shù)據(jù)包是否是發(fā)送給本地的,如果不是發(fā)送給本地的數(shù)據(jù)包,可能還要對(duì)其進(jìn)行轉(zhuǎn)發(fā)或者丟棄,如果數(shù)據(jù)報(bào)沒(méi)有問(wèn)題,IP層就會(huì)根據(jù)傳輸層的協(xié)議類(lèi)型將數(shù)據(jù)包傳送到不同的入口函數(shù)之中,例如udp_input, tcp_input函數(shù)等。

0048f638-b33f-11ee-9b10-92fbcf53809c.png

IP層數(shù)據(jù)發(fā)送

在傳輸層協(xié)議需要通過(guò)IP層來(lái)發(fā)送數(shù)據(jù)時(shí),在上層函數(shù)之中會(huì)調(diào)用ip4_output_if_src函數(shù),在該函數(shù)中,又會(huì)去調(diào)用ip4_output_if_opt_src函數(shù),它會(huì)將傳輸數(shù)據(jù)封裝到ip數(shù)據(jù)報(bào)之中,填寫(xiě)數(shù)據(jù)報(bào)之中的目標(biāo)IP地址,源IP地址,協(xié)議類(lèi)型等相關(guān)信息。然后再去調(diào)用etharp_output(),它會(huì)解析MAC地址,組裝以太網(wǎng)幀并并發(fā)送。在etharp_output()函數(shù)之中,最終會(huì)去調(diào)用網(wǎng)絡(luò)接口層的相關(guān)發(fā)送函數(shù)。

005a8aba-b33f-11ee-9b10-92fbcf53809c.png

LWIP傳輸層與應(yīng)用層

網(wǎng)絡(luò)層已經(jīng)通過(guò)IP協(xié)議等完成了數(shù)據(jù)報(bào)在各臺(tái)主機(jī)之間傳輸?shù)牡墓δ?,但是?shù)據(jù)還沒(méi)有到達(dá)最終目的地—主機(jī)上的某個(gè)特定應(yīng)用程序。

IP層通過(guò)傳輸層的協(xié)議將數(shù)據(jù)包遞交給應(yīng)用程序,常用的傳輸層協(xié)議有UDP協(xié)議,TCP協(xié)議等。

此處以UDP協(xié)議為例,它是一種較為簡(jiǎn)單的傳輸層協(xié)議,經(jīng)常應(yīng)用于局域網(wǎng)環(huán)境以及視頻播放領(lǐng)域,以UDP為例結(jié)合SDK代碼講解一下傳輸層是如何實(shí)現(xiàn)數(shù)據(jù)交互的。

UDP報(bào)文

在使用UDP傳輸數(shù)據(jù)時(shí),它會(huì)將數(shù)據(jù)封裝在UDP報(bào)文之中,在IP層又會(huì)將數(shù)據(jù)包封裝在IP報(bào)文之中,在物理層又會(huì)將IP數(shù)據(jù)包封裝在物理數(shù)據(jù)幀之中。

一份用戶數(shù)據(jù)在被發(fā)送時(shí)共經(jīng)歷了三次封裝。

00677068-b33f-11ee-9b10-92fbcf53809c.png

UDP相關(guān)數(shù)據(jù)結(jié)構(gòu)

在LWIP源碼的udp.h之中,定義了報(bào)文首部數(shù)據(jù)結(jié)構(gòu)以及UDP控制塊。

LwIP報(bào)文首部數(shù)據(jù)結(jié)構(gòu)為udp_hdr, 定義了 UDP 報(bào)文首部的各個(gè)字段, 分別為16位源端口號(hào)src, 16位目標(biāo)端口號(hào)dest, 16位用戶數(shù)據(jù)報(bào)總長(zhǎng)度, 以及16位的校驗(yàn)和。

007e3870-b33f-11ee-9b10-92fbcf53809c.png

LwIP還定義了UDP控制塊,記錄與UDP通信的所有相關(guān)信息,如源端口號(hào)、目標(biāo)端口號(hào)、源IP地址、目標(biāo)IP地址以及收到數(shù)據(jù)時(shí)的回調(diào)函數(shù)等等,系統(tǒng)會(huì)為每一個(gè)基于UDP協(xié)議的進(jìn)程創(chuàng)建一個(gè)UDP控制塊,并且將其與對(duì)應(yīng)的端口綁定,并將所有的UDP控制塊用一個(gè)鏈表連接起來(lái)。當(dāng)UDP接收到一個(gè)報(bào)文的時(shí)候,會(huì)去遍歷鏈表上的所有控制塊,通過(guò)端口號(hào)來(lái)找到匹配的控制塊,并將數(shù)據(jù)通過(guò)回調(diào)函數(shù)傳遞到上層應(yīng)用。

00919b2c-b33f-11ee-9b10-92fbcf53809c.png

UDP報(bào)文接收

在IP層,當(dāng)接收到一個(gè)包含UDP報(bào)文的數(shù)據(jù)報(bào)時(shí),udp_input函數(shù)就會(huì)被調(diào)用,該函數(shù)之中進(jìn)行了一些報(bào)文合法性的檢測(cè),然后根據(jù)報(bào)文中的端口信息查找UDP控制塊,最后通過(guò)UDP控制塊之中的回調(diào)函數(shù)recv_udp將數(shù)據(jù)傳遞到應(yīng)用層,如果找不到對(duì)應(yīng)的端口,那么會(huì)返回一個(gè)端口不可達(dá)數(shù)據(jù)包。

00a5f568-b33f-11ee-9b10-92fbcf53809c.png

UDP報(bào)文發(fā)送

UDP報(bào)文發(fā)送依靠IP層提供的服務(wù),用戶在發(fā)送數(shù)據(jù)時(shí)需要在應(yīng)用程序之中調(diào)用udp_send或者是udp_sendto,應(yīng)用程序之中將用戶數(shù)據(jù)填到pbuf數(shù)據(jù)區(qū)域,并將pubf作為參數(shù)傳入udp_send或udp_sendto之中。

00b553d2-b33f-11ee-9b10-92fbcf53809c.png

udp_send和udp_sendto之間的區(qū)別就是udp_sendto將數(shù)據(jù)發(fā)送到指定的ip地址和端口號(hào),udp_send將數(shù)據(jù)發(fā)送到UDP控制塊之中定義的ip地址和端口號(hào)。udp_send實(shí)際上也是調(diào)用udp_sendto來(lái)進(jìn)行數(shù)據(jù)的發(fā)送,最終這兩個(gè)函數(shù)都是會(huì)去調(diào)用udp_sendto_if。

00d7b8b4-b33f-11ee-9b10-92fbcf53809c.png

udp_sendto_if函數(shù)之中會(huì)完成udp報(bào)文的組裝和發(fā)送,最終會(huì)調(diào)用Ip層的發(fā)送函數(shù)去發(fā)送報(bào)文。

LWIP應(yīng)用層

在應(yīng)用層一般會(huì)通過(guò)調(diào)用傳輸層的一些函數(shù)來(lái)編寫(xiě)特定的應(yīng)用程序,從而實(shí)現(xiàn)數(shù)據(jù)的傳遞,在udpecho demo之中,當(dāng)接收到數(shù)據(jù)之后,在udp控制塊中綁定的接收回調(diào)函數(shù)中又會(huì)去調(diào)用udp_sendto函數(shù)。

00e818a8-b33f-11ee-9b10-92fbcf53809c.png

除了上面介紹的一些協(xié)議外,LWIP還支持ICMP、IGMP、PPP、DHCP等協(xié)議,并且SOCKET API以及NETCONN API使用起來(lái)更加簡(jiǎn)單,但是RAW/Callback API的使用有助于更好的理解LWIP協(xié)議。

對(duì)LWIP協(xié)議棧感興趣的讀者可自行深入了解。

審核編輯 黃宇

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

    關(guān)注

    2

    文章

    145

    瀏覽量

    34104
  • LwIP協(xié)議棧
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于恩智浦i.MX RT芯片內(nèi)部RAM運(yùn)行LVGL工程

    隨著越來(lái)越多用戶選擇i.MX RT系列芯片制作產(chǎn)品,產(chǎn)品的需求以及芯片的用法也越來(lái)越多。本文將介紹在i.MX RT平臺(tái)中,如何創(chuàng)建LVGL項(xiàng)目并將其運(yùn)行在內(nèi)部SRAM而非SDRAM上。
    的頭像 發(fā)表于 07-01 09:33 ?1126次閱讀
    基于恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>芯片內(nèi)部RAM運(yùn)行LVGL工程

    如何實(shí)現(xiàn)安卓與恩智浦i.MX RT1170的無(wú)線投屏與控制

    Scrcpy是一款免費(fèi)開(kāi)源的軟件,支持將安卓端屏幕投影到其他設(shè)備,并支持被投屏設(shè)備對(duì)安卓的反向控制?;贏DB工具,安卓端無(wú)需安裝任何軟件,延遲低,穩(wěn)定性好?,F(xiàn)在,安卓也可投屏到恩智浦i.MX RT1170上。
    的頭像 發(fā)表于 06-26 09:53 ?1265次閱讀
    如何實(shí)現(xiàn)安卓與恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1170的無(wú)線投屏與控制

    NXP i.MX RT1060移植TinyUSB:快速擴(kuò)展大量USB Class示例

    前言 ? 為啥是TinyUSB?給強(qiáng)大的RT配個(gè)輕巧的USB! USB這個(gè)讓我們方便快捷的接口,幾乎無(wú)處不在。在嵌入式世界里,尤其是用上了像NXP i.MX RT這樣性能強(qiáng)勁的跨界M
    的頭像 發(fā)表于 05-15 09:25 ?1177次閱讀
    NXP <b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1060移植TinyUSB:快速擴(kuò)展大量USB Class示例

    如何禁用i.MX RT1170 MCU中的M4內(nèi)核?

    如何禁用 i.MX RT1170 MCU 中的 M4 內(nèi)核? 您能否提供具體的可行方法? 或者是否可以將內(nèi)核的工作時(shí)鐘頻率降低到 0 ?
    發(fā)表于 04-09 07:28

    i.MX RT 1176上正常運(yùn)行代碼時(shí)與使用IAR調(diào)試代碼時(shí)存在一些奇怪的差異,為什么?

    我在 i.MX RT 1176 上正常運(yùn)行代碼時(shí)的行為與使用 IAR 調(diào)試代碼時(shí)的行為之間存在一些奇怪的差異,并注意到這是由于堆棧指針的初始化方式造成的。 我的重置向量表將其指向 DTC 的頂部
    發(fā)表于 03-17 07:26

    恩智浦推出FRDM i.MX 93開(kāi)發(fā)板

    備受嵌入式開(kāi)發(fā)者青睞的恩智浦FRDM開(kāi)發(fā)平臺(tái),迎來(lái)了一位新成員——FRDM i.MX 93開(kāi)發(fā)板,這也是第一塊配備i.MX MPU的FRDM開(kāi)發(fā)板,意味著強(qiáng)大的FRDM生態(tài)合作體系,已經(jīng)擴(kuò)展到i.MX應(yīng)用處理器。
    的頭像 發(fā)表于 02-21 14:22 ?1491次閱讀

    i.MX RT處理器上使用PXP實(shí)現(xiàn)縮放和旋轉(zhuǎn)組合操作

    本文主要探討如何使用PXP實(shí)現(xiàn)縮放和旋轉(zhuǎn)組合操作,PXP是NXP推出的一個(gè)2D圖形加速器,主要完成對(duì)圖像的數(shù)據(jù)格式轉(zhuǎn)換、固定角度旋轉(zhuǎn)(90°,180°,270°),任意比例縮放、混色,移位以及翻轉(zhuǎn)等功能。運(yùn)行平臺(tái)為i.MX RT1170/1160/1060/1050/10
    的頭像 發(fā)表于 02-20 10:53 ?1154次閱讀
    在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>處理器上使用PXP實(shí)現(xiàn)縮放和旋轉(zhuǎn)組合操作

    恩智浦i.MX 94應(yīng)用處理器如何變革工業(yè)和汽車(chē)連接

    恩智浦半導(dǎo)體發(fā)布i.MX 94系列應(yīng)用處理器,為工業(yè)和汽車(chē)連接設(shè)定了新的標(biāo)準(zhǔn)。作為i.MX 9系列應(yīng)用處理器的最新成員,i.MX 94旨在提供高性能和低延遲的實(shí)時(shí)計(jì)算能力,這是工業(yè)自動(dòng)化和汽車(chē)信息服務(wù)應(yīng)用的關(guān)鍵功能。
    的頭像 發(fā)表于 01-17 10:51 ?933次閱讀

    恩智浦i.MX RT700系列MCU的優(yōu)勢(shì)

    作為邊緣智能時(shí)代的嵌入式工程師,你對(duì)一款理想的MCU有何期待?高性能、高集成、低功耗、更安全,以及出眾的AI推理能力……恩智浦半導(dǎo)體新近發(fā)布的i.MX RT700跨界MCU系列,就是你想要的答案!
    的頭像 發(fā)表于 12-09 09:16 ?1777次閱讀

    NXP專為邊緣AI打造的i.MX RT700跨界MCU到底強(qiáng)在哪?

    i.MX RT700系列提供了高性能、高集成度、先進(jìn)功能和高能效的優(yōu)化組合,為支持智能AI的邊緣端設(shè)備賦能,例如可穿戴設(shè)備、消費(fèi)電子醫(yī)療設(shè)備、智能家居設(shè)備和HMI設(shè)備。 在i.MX RT
    發(fā)表于 11-08 09:40 ?1744次閱讀
    NXP專為邊緣AI打造的<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>700跨界MCU到底強(qiáng)在哪?

    如何在i.MX RT微控制器上初始化LWIP協(xié)議

    i.MX RT微控制器上初始化LWIP協(xié)議是一個(gè)復(fù)雜但有趣的過(guò)程,它涉及多個(gè)步驟和關(guān)鍵組件的配置.
    的頭像 發(fā)表于 10-12 11:48 ?839次閱讀
    如何在<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>微控制器上初始化<b class='flag-5'>LWIP</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>

    恩智浦推出全新i.MX RT700跨界MCU系列

    高度集成的全新i.MX RT700跨界MCU旨在顯著節(jié)省功耗,配備eIQ Neutron神經(jīng)處理單(NPU),可在邊緣端提供高達(dá)172倍的AI加速。
    的頭像 發(fā)表于 10-12 11:41 ?1310次閱讀

    i.MX Linux開(kāi)發(fā)實(shí)戰(zhàn)指南—基于野火i.MX系列開(kāi)發(fā)板

    電子發(fā)燒友網(wǎng)站提供《i.MX Linux開(kāi)發(fā)實(shí)戰(zhàn)指南—基于野火i.MX系列開(kāi)發(fā)板.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 17:23 ?12次下載

    使用TPS65023的NXP i.MX 7電源設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《使用TPS65023的NXP i.MX 7電源設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-30 10:38 ?1次下載
    使用TPS65023的NXP <b class='flag-5'>i.MX</b> 7電源設(shè)計(jì)

    恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家介紹的是恩智浦i.MX RT1170 uSDHC eMMC啟動(dòng)時(shí)間。
    的頭像 發(fā)表于 08-08 15:32 ?1146次閱讀
    恩智浦<b class='flag-5'>i.MX</b> <b class='flag-5'>RT</b>1170 uSDHC eMMC啟動(dòng)時(shí)間