日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

IOMMU功能簡介

Linux閱碼場 ? 來源:Linuxer ? 2020-08-03 15:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.IOMMU

1.1 IOMMU功能簡介

IOMMU主要功能包括DMA Remapping和Interrupt Remapping,這里主要講解DMA Remapping,Interrupt Remapping會獨(dú)立講解。對于DMA Remapping,IOMMU與MMU類似。IOMMU可以將一個(gè)設(shè)備訪問地址轉(zhuǎn)換為存儲器地址,下圖針對有無IOMMU情況說明IOMMU作用。


在沒有IOMMU的情況下,網(wǎng)卡接收數(shù)據(jù)時(shí)地址轉(zhuǎn)換流程,RC會將網(wǎng)卡請求寫入地址addr1直接發(fā)送到DDR控制器,然后訪問DRAM上的addr1地址,這里的RC對網(wǎng)卡請求地址不做任何轉(zhuǎn)換,網(wǎng)卡訪問的地址必須是物理地址。

對于有IOMMU的情況,網(wǎng)卡請求寫入地址addr1會被IOMMU轉(zhuǎn)換為addr2,然后發(fā)送到DDR控制器,最終訪問的是DRAM上addr2地址,網(wǎng)卡訪問的地址addr1會被IOMMU轉(zhuǎn)換成真正的物理地址addr2,這里可以將addr1理解為虛機(jī)地址。

左圖是沒有IOMMU的情況,對于虛機(jī)無法實(shí)現(xiàn)設(shè)備的透傳,原因主要有兩個(gè):一是因?yàn)樵跊]有IOMMU的情況下,設(shè)備必須訪問真實(shí)的物理地址HPA,而虛機(jī)可見的是GPA;二是如果讓虛機(jī)填入真正的HPA,那樣的話相當(dāng)于虛機(jī)可以直接訪問物理地址,會有安全隱患。所以針對沒有IOMMU的情況,不能用透傳的方式,對于設(shè)備的直接訪問都會有VMM接管,這樣就不會對虛機(jī)暴露HPA。

右圖是有IOMMU的情況,虛機(jī)可以將GPA直接寫入到設(shè)備,當(dāng)設(shè)備進(jìn)行DMA傳輸時(shí),設(shè)備請求地址GPA由IOMMU轉(zhuǎn)換為HPA(硬件自動完成),進(jìn)而DMA操作真實(shí)的物理空間。IOMMU的映射關(guān)系是由VMM維護(hù)的,HPA對虛機(jī)不可見,保障了安全問題,利用IOMMU可實(shí)現(xiàn)設(shè)備的透傳。這里先留一個(gè)問題,既然IOMMU可以將設(shè)備訪問地址映射成真實(shí)的物理地址,那么對于右圖中的Device A和Device B,IOMMU必須保證兩個(gè)設(shè)備映射后的物理空間不能存在交集,否則兩個(gè)虛機(jī)可以相互干擾,這和IOMMU的映射原理有關(guān),后面會詳細(xì)介紹。

1.2 IOMMU作用

根據(jù)上一節(jié)內(nèi)容,總結(jié)IOMMU主要作用如下:

屏蔽物理地址,起到保護(hù)作用。典型應(yīng)用包括兩個(gè):一是實(shí)現(xiàn)用戶態(tài)驅(qū)動,由于IOMMU的映射功能,使HPA對用戶空間不可見,在vfio部分還會舉例。二是將設(shè)備透傳給虛機(jī),使HPA對虛機(jī)不可見,并將GPA映射為HPA

IOMMU可以將連續(xù)的虛擬地址映射到不連續(xù)的多個(gè)物理內(nèi)存片段,這部分功能于MMU類似,對于沒有IOMMU的情況,設(shè)備訪問的物理空間必須是連續(xù)的,IOMMU可有效的解決這個(gè)問題

1.3 IOMMU工作原理

前面簡單介紹了IOMMU的映射功能,下面講述IOMMU到底如何實(shí)現(xiàn)映射的,為便于分析,這里先不考慮虛擬化的場景,以下圖為例,闡述工作原理。

IOMMU的主要功能就是完成映射,類比MMU利用頁表實(shí)現(xiàn)VA->PA的映射,IOMMU也需要用到頁表,那么下一個(gè)問題就是如何找到頁表。在設(shè)備發(fā)起DMA請求時(shí),會將自己的Source Identifier(包含Bus、Device、Func)包含在請求中,IOMMU根據(jù)這個(gè)標(biāo)識,以RTADDR_REG指向空間為基地址,然后利用Bus、Device、Func在Context Table中找到對應(yīng)的Context Entry,即頁表首地址,然后利用頁表即可將設(shè)備請求的虛擬地址翻譯成物理地址。這里做以下說明:

圖中紅線的部門,是兩個(gè)Context Entry指向了同一個(gè)頁表。這種情況在虛擬化場景中的典型用法就是這兩個(gè)Context Entry對應(yīng)的不同PCIe設(shè)備屬于同一個(gè)虛機(jī),那樣IOMMU在將GPA->HPA過程中要遵循同一規(guī)則

由圖中可知,每個(gè)具有Source Identifier(包含Bus、Device、Func)的設(shè)備都會具有一個(gè)Context Entry。如果不這樣做,所有設(shè)備共用同一個(gè)頁表,隸屬于不同虛機(jī)的不同GPA就會翻譯成相同HPA,會產(chǎn)生問題,

有了頁表之后,就可以按照MMU那樣進(jìn)行地址映射工作了,這里也支持不同頁大小的映射,包括4KB、2MB、1GB,不同頁大小對應(yīng)的級數(shù)也不同,下圖以4KB頁大小為例說明,映射過程和MMU類似,不再詳細(xì)闡述。

1.4 Source Identifier

在講述IOMMU的工作原理時(shí),講到了設(shè)備利用自己的Source Identifier(包含Bus、Device、Func)來找到頁表項(xiàng)來完成地址映射,不過存在下面幾個(gè)特殊情況需要考慮。

對于由PCIe switch擴(kuò)展出的PCI橋及橋下設(shè)備,在發(fā)送DMA請求時(shí),Source Identifier是PCIe switch的,這樣的話該P(yáng)CI橋及橋下所有設(shè)備都會使用PCIe switch的Source Identifier去定位Context Entry,找到的頁表也是同一個(gè),如果將這個(gè)PCI橋下的不同設(shè)備分給不同虛機(jī),由于會使用同一份頁表,這樣會產(chǎn)生問題,針對這種情況,當(dāng)前PCI橋及橋下的所有設(shè)備必須分配給同一個(gè)虛機(jī),這就是VFIO中組的概念,下面會再講到。

對于SRIO-V,之前介紹過VF的Bus及devfn的計(jì)算方法,所以不同VF會有不同的Source Identifier,映射到不同虛機(jī)也是沒有問題的

2.VFIO

VFIO就是內(nèi)核針對IOMMU提供的軟件框架,支持DMA Remapping和Interrupt Remapping,這里只講DMA Remapping。VFIO利用IOMMU這個(gè)特性,可以屏蔽物理地址對上層的可見性,可以用來開發(fā)用戶態(tài)驅(qū)動,也可以實(shí)現(xiàn)設(shè)備透傳。

2.1 概念介紹

先介紹VFIO中的幾個(gè)重要概念,主要包括Group和Container。

Group:group 是IOMMU能夠進(jìn)行DMA隔離的最小硬件單元,一個(gè)group內(nèi)可能只有一個(gè)device,也可能有多個(gè)device,這取決于物理平臺上硬件的IOMMU拓?fù)浣Y(jié)構(gòu)。設(shè)備直通的時(shí)候一個(gè)group里面的設(shè)備必須都直通給一個(gè)虛擬機(jī)。不能夠讓一個(gè)group里的多個(gè)device分別從屬于2個(gè)不同的VM,也不允許部分device在host上而另一部分被分配到guest里, 因?yàn)榫瓦@樣一個(gè)guest中的device可以利用DMA攻擊獲取另外一個(gè)guest里的數(shù)據(jù),就無法做到物理上的DMA隔離。

Container:對于虛機(jī),Container 這里可以簡單理解為一個(gè)VM Domain的物理內(nèi)存空間。對于用戶態(tài)驅(qū)動,Container可以是多個(gè)Group的集合。

上圖中PCIe-PCI橋下的兩個(gè)設(shè)備,在發(fā)送DMA請求時(shí),PCIe-PCI橋會為下面兩個(gè)設(shè)備生成Source Identifier,其中Bus域?yàn)榧t色總線號bus,device和func域?yàn)?。這樣的話,PCIe-PCI橋下的兩個(gè)設(shè)備會找到同一個(gè)Context Entry和同一份頁表,所以這兩個(gè)設(shè)備不能分別給兩個(gè)虛機(jī)使用,這兩個(gè)設(shè)備就屬于一個(gè)Group。

2.2 使用示例

這里先以簡單的用戶態(tài)驅(qū)動為例,在設(shè)備透傳小節(jié)中,在分析如何利用vfio實(shí)現(xiàn)透傳。

int container, group, device, i; struct vfio_group_status group_status = { .argsz = sizeof(group_status) }; struct vfio_iommu_type1_info iommu_info = { .argsz = sizeof(iommu_info) }; struct vfio_iommu_type1_dma_map dma_map = { .argsz = sizeof(dma_map) }; struct vfio_device_info device_info = { .argsz = sizeof(device_info) }; /* Create a new container */ container = open("/dev/vfio/vfio", O_RDWR); if (ioctl(container, VFIO_GET_API_VERSION) != VFIO_API_VERSION) /* Unknown API version */ if (!ioctl(container, VFIO_CHECK_EXTENSION, VFIO_TYPE1_IOMMU)) /* Doesn't support the IOMMU driver we want. */ /* Open the group */ group = open("/dev/vfio/26", O_RDWR); /* Test the group is viable and available */ ioctl(group, VFIO_GROUP_GET_STATUS, &group_status); if (!(group_status.flags & VFIO_GROUP_FLAGS_VIABLE)) /* Group is not viable (ie, not all devices bound for vfio) */ /* Add the group to the container */ ioctl(group, VFIO_GROUP_SET_CONTAINER, &container); /* Enable the IOMMU model we want */ // type 1 open | attatch ioctl(container, VFIO_SET_IOMMU, VFIO_TYPE1_IOMMU); /* Get addition IOMMU info */ ioctl(container, VFIO_IOMMU_GET_INFO, &iommu_info); /* Allocate some space and setup a DMA mapping */ dma_map.vaddr = mmap(0, 1024 * 1024, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0); dma_map.size = 1024 * 1024; dma_map.iova = 0; /* 1MB starting at 0x0 from device view */ dma_map.flags = VFIO_DMA_MAP_FLAG_READ | VFIO_DMA_MAP_FLAG_WRITE; ioctl(container, VFIO_IOMMU_MAP_DMA, &dma_map); /* Get a file descriptor for the device */ device = ioctl(group, VFIO_GROUP_GET_DEVICE_FD, "00000d.0"); /* Test and setup the device */ ioctl(device, VFIO_DEVICE_GET_INFO, &device_info);

對于dev下Group就是按照上一節(jié)介紹的Group劃分規(guī)則產(chǎn)生的,上述代碼描述了如何使用VFIO實(shí)現(xiàn)映射,對于Group和Container的相關(guān)操作這里不做過多解釋,主要關(guān)注如何完成映射,下圖解釋具體工作流程。

首先,利用mmap映射出1MB字節(jié)的虛擬空間,因?yàn)槲锢淼刂穼τ谟脩魬B(tài)不可見,只能通過虛擬地址訪問物理空間。然后執(zhí)行ioctl的VFIO_IOMMU_MAP_DMA命令,傳入?yún)?shù)主要包含vaddr及iova,其中iova代表的是設(shè)備發(fā)起DMA請求時(shí)要訪問的地址,也就是IOMMU映射前的地址,vaddr就是mmap的地址。VFIO_IOMMU_MAP_DMA命令會為虛擬地址vaddr找到物理頁并pin?。ㄒ?yàn)樵O(shè)備DMA是異步的,隨時(shí)可能發(fā)生,物理頁面不能交換出去),然后找到Group對應(yīng)的Contex Entry,建立頁表項(xiàng),頁表項(xiàng)能夠?qū)ova地址映射成上面pin住的物理頁對應(yīng)的物理地址上去,這樣對用戶態(tài)程序完全屏蔽了物理地址,實(shí)現(xiàn)了用戶空間驅(qū)動。IOVA地址的00x100000對應(yīng)DRAM地址0x100000000x10100000,size為1024 * 1024。一句話概述,VFIO_IOMMU_MAP_DMA這個(gè)命令就是將iova通過IOMMU映射到vaddr對應(yīng)的物理地址上去。

3.設(shè)備透傳分析

設(shè)備透傳就是由虛機(jī)直接接管設(shè)備,虛機(jī)可以直接訪問MMIO空間,VMM配置好IOMMU之后,設(shè)備DMA讀寫請求也無需VMM借入,需要注意的是設(shè)備的配置空間沒有透傳,因?yàn)閂MM已經(jīng)配置好了BAR空間,如果將這部分空間也透傳給虛機(jī),虛機(jī)會對BAR空間再次配置,會導(dǎo)致設(shè)備無法正常工作。

3.1 虛機(jī)地址映射

在介紹透傳之前,先看下虛機(jī)的GPA與HVA和HPA的關(guān)系,以及虛機(jī)是如何訪問到真實(shí)的物理地址的,過程如下圖。

一旦頁表建立好后,整個(gè)映射過程都是硬件自動完成的,對于上圖有如下幾點(diǎn)說明:

對于虛機(jī)內(nèi)的頁表,完成GVA到GPA的映射,雖然整個(gè)過程都是硬件自動完成,但有一點(diǎn)要注意下,在虛機(jī)的中各級頁表也是存儲在HPA中的,而CR3及各級頁表中裝的地址都是GPA,所以在訪問頁表時(shí)也需要借助EPT,上圖中以虛線表示這個(gè)過程

利用虛機(jī)頁表完成GVA到GPA的映射后,此時(shí)借助EPT實(shí)現(xiàn)GPA到HPA的映射,這里沒有什么特殊的,就是一層層頁表映射

看完上圖,有沒有發(fā)現(xiàn)少了點(diǎn)啥,是不是沒有HVA。單從上圖整個(gè)虛機(jī)尋址的映射過程來看,是不需要HVA借助的,硬件會自動完成GVA->GPA->HPA映射,那么HVA有什么用呢?這里從下面兩方面來分析:1)Qemu利用iotcl控制KVM實(shí)現(xiàn)EPT的映射,映射的過程中必然要申請物理頁面。Qemu是應(yīng)用程序,唯一可見的只是HVA,這時(shí)候又需要借助mmap了,Qemu會根據(jù)虛機(jī)的ram大小,即GPA大小范圍,然后mmap出與之對應(yīng)的大小,即HVA。通過KVM_SET_USER_MEMORY_REGION命令控制KVM,與這個(gè)命令一起傳入的參數(shù)主要包括兩個(gè)值,guest_phys_addr代表虛機(jī)GPA地址起始,userspace_addr代表上面mmap得到的首地址(HVA)。傳入進(jìn)去后,KVM就會為當(dāng)前虛機(jī)GPA建立EPT映射表實(shí)現(xiàn)GPA->HPA,同時(shí)會為VMM建立HVA->HPA映射。2)當(dāng)vm_exit發(fā)生時(shí),VMM需要對異常進(jìn)行處理,異常發(fā)生時(shí)VMM能夠獲取到GPA,有時(shí)VMM需要訪問虛機(jī)GPA對應(yīng)的HPA,VMM的映射和虛機(jī)的映射方式不同,是通過VMM完成HVA->HPA,且只能通過HVA才能訪問HPA,這就需要VMM將GPA及HVA的對應(yīng)關(guān)系維護(hù)起來,這個(gè)關(guān)系是Qemu維護(hù)的,這里先不管Qemu的具體實(shí)現(xiàn)(后面會有專門文檔介紹),當(dāng)前只需要知道給定一個(gè)虛機(jī)的GPA,虛機(jī)就能獲取到GPA對應(yīng)的HVA。下圖描述VMM與VM的地址映射關(guān)系。

3.2 設(shè)備透傳實(shí)現(xiàn)

在前面介紹VFIO的使用實(shí)例時(shí),核心思想就是IOVA經(jīng)過IOMMU映射出的物理地址與HVA經(jīng)過MMU映射出的物理地址是同一個(gè)。對于設(shè)備透傳的情況,先上圖,然后看圖說話。

先來分析一下設(shè)備的DMA透傳的工作流程,一旦設(shè)備透傳給了虛機(jī),虛機(jī)在配置設(shè)備DMA時(shí)直接使用GPA。此時(shí)GPA經(jīng)由EPT會映射成HPA1,GPA經(jīng)由IOMMU映射的地址為HPA2,此時(shí)的HPA1和HPA2必須相等,設(shè)備的透傳才有意義。下面介紹在配置IOMMU時(shí)如何保證HPA1和HPA2相等,在VFIO章節(jié)講到了VFIO_IOMMU_MAP_DMA這個(gè)命令就是將iova通過IOMMU映射到vaddr對應(yīng)的物理地址上去。對于IOMMU來講,此時(shí)的GPA就是iova,我們知道GPA經(jīng)由EPT會映射為HPA1,對于VMM來講,這個(gè)HPA1對應(yīng)的虛機(jī)地址為HVA,那樣的話在傳入VFIO_IOMMU_MAP_DMA命令時(shí)講hva作為vaddr,IOMMU就會將GPA映射為HVA對應(yīng)的物理地址及HPA1,即HPA1和HPA2相等。上述流程幫助理清整個(gè)映射關(guān)系,實(shí)際映射IOMMU的操作很簡單,前面提到了qemu維護(hù)了GPA和HVA的關(guān)系,在映射IOMMU的時(shí)候也可以派上用場。注:IOMMU的映射在虛機(jī)啟動時(shí)就已經(jīng)建立好了,映射要涵蓋整個(gè)GPA地址范圍,同時(shí)虛機(jī)的HPA對應(yīng)的物理頁都不會交換出去(設(shè)備DMA交換是異步的)。

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

    關(guān)注

    114

    文章

    17890

    瀏覽量

    195344
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    582

    瀏覽量

    106306
  • gpa
    gpa
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    4865

原文標(biāo)題:VFIO概述

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    探秘RJGT105加密芯片:功能、特性與應(yīng)用全解析

    加密芯片,看看它有哪些獨(dú)特的功能和特性。 文件下載: RJGT105D6.pdf 一、芯片簡介 1. 功能介紹 RJGT105是一款集成了256 Byte EEPROM(包含16 Byte的密鑰和8
    的頭像 發(fā)表于 04-28 14:55 ?153次閱讀

    預(yù)期功能安全是什么?(上)

    剎。 可預(yù)見的人為誤用: 聚集于用戶對自動駕駛功能的不正確理解和使用,例如:L2 級自動駕駛場景下,駕駛員過度依賴、分心接管不及時(shí),或在非設(shè)計(jì)場景(如市區(qū))激活高速輔助功能,放大安全風(fēng)險(xiǎn)。 未知場景
    發(fā)表于 04-10 09:21

    Cadence Virtuoso Dashboard功能簡介

    我們?nèi)碌?AI 驅(qū)動的定制設(shè)計(jì)解決方案——Virtuoso Studio,依托 30 年的行業(yè)積淀與領(lǐng)導(dǎo)地位,帶來了創(chuàng)新功能、重塑的基礎(chǔ)設(shè)施以實(shí)現(xiàn)極致生產(chǎn)力,并突破經(jīng)典設(shè)計(jì)邊界,達(dá)到全新的集成高度。在本博客系列中,你將了解頂尖模擬設(shè)計(jì)工具的全新升級,助你從容應(yīng)對復(fù)雜設(shè)計(jì)挑戰(zhàn)。
    的頭像 發(fā)表于 04-01 09:57 ?799次閱讀

    CET消防設(shè)備電源監(jiān)控系統(tǒng)簡介

    電子發(fā)燒友網(wǎng)站提供《CET消防設(shè)備電源監(jiān)控系統(tǒng)簡介 .pdf》資料免費(fèi)下載
    發(fā)表于 03-18 15:11 ?0次下載

    Simlab+CAD+Hyperstudy聯(lián)合優(yōu)化幾何參數(shù)

    議程聯(lián)合優(yōu)化功能概述實(shí)用案例軟件簡介-HyperStudy概述-HyperStudy解決什么問題-HyperStudy主要功能-SimLa
    的頭像 發(fā)表于 03-04 18:20 ?273次閱讀
    Simlab+CAD+Hyperstudy聯(lián)合優(yōu)化幾何參數(shù)

    RK平臺Linux IOMMU開發(fā):從原理到實(shí)戰(zhàn)

    在瑞芯微(RK)芯片的 Linux 開發(fā)中,IOMMU(輸入輸出內(nèi)存管理單元)是個(gè)關(guān)鍵部件 —— 它能實(shí)現(xiàn)設(shè)備虛擬地址(IOVA)與物理地址的轉(zhuǎn)換,還能控制讀寫權(quán)限、處理缺頁 / 總線異常,廣泛用于
    的頭像 發(fā)表于 02-04 16:24 ?3010次閱讀
    RK平臺Linux <b class='flag-5'>IOMMU</b>開發(fā):從原理到實(shí)戰(zhàn)

    各種顯示技術(shù)簡介

    各種 顯示****技術(shù)簡介 致力成為差異化顯示領(lǐng)域中全鏈路方案的領(lǐng)先者 ** 各種顯示器方案** 1.多種規(guī)格的芯片,根據(jù)不同功能,選擇最合適的芯片 2.適應(yīng)場景多,兼容性強(qiáng) 3.畫質(zhì)好,色彩
    發(fā)表于 02-02 15:51

    比較器的簡介分類

    一、比較器簡介據(jù)圣邦微SGMICRO比較器一級代理鑫富立介紹,比較器是一種得到廣泛使用的電路元件。實(shí)際上也是增益非常高的運(yùn)算放大器,可以放大輸入端很小的差分信號,并驅(qū)動輸出端切換到兩個(gè)輸出狀態(tài)中的一
    的頭像 發(fā)表于 11-21 20:13 ?669次閱讀
    比較器的<b class='flag-5'>簡介</b>分類

    AXI GPIO擴(kuò)展e203 IO口簡介

    AXI GPIO簡介 AXI-GPIO是一種Xilinx公司開發(fā)的外設(shè)IP,可以連接到AXI總線上,并提供GPIO(General Purpose Input Output)功能。AXI-GPIO
    發(fā)表于 10-22 08:14

    英集芯IP2302帶路徑管理功能單節(jié)鋰電池線性充電器

    IP2302帶路徑管理功能單節(jié)鋰電池線性充電器簡介3簡介IP2302是一款高度集成的、高性能的支持路徑管理 1節(jié)鋰離子電池線性充電器。IP2302具有涓流充電(TC)、恒流(CC)和恒壓(CV)充電
    發(fā)表于 10-10 18:53 ?1次下載

    車機(jī)DAB功能驗(yàn)證方法論及測試三神器簡介

    本文不拘泥于某個(gè)具體的功能點(diǎn)進(jìn)行討論,譬如Linking、Announcement、Reconfiguration、SLS、SPI、EPG或是DLS等,而是從更高一維度來分析DAB功能驗(yàn)證的方法論
    的頭像 發(fā)表于 08-10 15:29 ?4793次閱讀
    車機(jī)DAB<b class='flag-5'>功能</b>驗(yàn)證方法論及測試三神器<b class='flag-5'>簡介</b>

    STM32項(xiàng)目分享:智能魚缸/水族箱/水產(chǎn)養(yǎng)殖系統(tǒng)

    01—項(xiàng)目簡介1.功能詳解STM32智能魚缸/水族箱/水產(chǎn)養(yǎng)殖系統(tǒng)功能如下:可檢測溫度,水位
    的頭像 發(fā)表于 07-03 18:24 ?1327次閱讀
    STM32項(xiàng)目分享:智能魚缸/水族箱/水產(chǎn)養(yǎng)殖系統(tǒng)

    FPC組成簡介及工程設(shè)計(jì)規(guī)范

    FPC產(chǎn)品簡介概述: 1,F(xiàn)PC概念 2,F(xiàn)PC產(chǎn)品結(jié)構(gòu)組成 3,F(xiàn)PC材料 4,F(xiàn)PC產(chǎn)品類型 5,F(xiàn)PC產(chǎn)品特征 FPC(Flexible Printed Circuit)撓性印刷電路版,簡稱
    發(fā)表于 05-27 15:10

    藍(lán)牙LE Audio技術(shù)簡介和優(yōu)勢分析

    Energy)技術(shù)的優(yōu)點(diǎn),同時(shí)又具備卓越的音頻性能。本文將從技術(shù)簡介和優(yōu)勢分析兩個(gè)方面對藍(lán)牙LE Audio技術(shù)進(jìn)行詳細(xì)的介紹。 一、藍(lán)牙LE Audio技術(shù)簡介 藍(lán)牙LE Audio技術(shù)是藍(lán)牙技術(shù)聯(lián)盟在
    的頭像 發(fā)表于 05-21 16:08 ?5284次閱讀
    山东| 威远县| 新宁县| 湾仔区| 玉林市| 罗江县| 高邑县| 凌云县| 乌拉特前旗| 久治县| 芜湖县| 肥西县| 德格县| 南郑县| 兴安县| 合江县| 黄龙县| 岳阳县| 县级市| 墨江| 广西| 彩票| 泸州市| 穆棱市| 肥西县| 温州市| 黑水县| 高阳县| 胶南市| 峨眉山市| 广州市| 海原县| 英山县| 卓资县| 鄂伦春自治旗| 赤水市| 旅游| 明水县| 章丘市| 惠水县| 德安县|