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

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

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

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

Linux PCI驅(qū)動(dòng)到底都干了些什么?(二)

Linux閱碼場(chǎng) ? 來(lái)源:Linuxer ? 2020-04-30 15:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

緊接著前文:Linux PCI驅(qū)動(dòng)到底都干了些什么?(一)

我們?cè)跍\談Linux PCI設(shè)備驅(qū)動(dòng)(一)中(以下簡(jiǎn)稱 淺談(一) )介紹了PCI的配置寄存器組,而Linux PCI初始化就是使用了這些寄存器來(lái)進(jìn)行的。后面我們會(huì)舉個(gè)例子來(lái)說(shuō)明Linux PCI設(shè)備驅(qū)動(dòng)的主要工作內(nèi)容(不是全部?jī)?nèi)容),這里只做文字性的介紹而不會(huì)涉及具體代碼的分析,因?yàn)橐治龃a的話,基本就是對(duì) Linux內(nèi)核源代碼情景分析(下冊(cè))第八章的解讀,讀者若想分析代碼,可以參考該書(shū)的內(nèi)容,我們這里就不去深入分析這些代碼了。

Linux PCI設(shè)備驅(qū)動(dòng)代碼必須掃描系統(tǒng)中所有的PCI總線,尋找系統(tǒng)中所有的PCI設(shè)備(包括PCI-PCI橋設(shè)備)。系統(tǒng)中的每條PCI總線都有個(gè)編號(hào)number,根PCI總線的編號(hào)為0。系統(tǒng)當(dāng)前存在的所有根總線(因?yàn)榭赡艽嬖诓恢挂粋€(gè)Host/PCI橋,那么就可能存在多條根總線) 都通過(guò)其pci_bus結(jié)構(gòu)體中的node成員鏈接成一個(gè)全局的根總線鏈表,其表頭由struct list_head類型的全局變量pci_root_buses來(lái)描述,我們?cè)?linux-2.4.18/linux/drivers/pci/pci.c的38行可以看到如下定義:

LIST_HEAD(pci_root_buses);

而根總線下面的所有下級(jí)總線則都通過(guò)其pci_bus結(jié)構(gòu)體中的node成員鏈接到其父總線的children鏈表中。這樣,通過(guò)這兩種PCI總線鏈表,Linux內(nèi)核就將所有的pci_bus結(jié)構(gòu)體以一種倒置樹(shù)的方式組織起來(lái)。

另外,每個(gè)PCI設(shè)備都由一個(gè)pci_dev結(jié)構(gòu)體表示,每個(gè)pci_dev結(jié)構(gòu)體都同時(shí)連入兩個(gè)隊(duì)列,一方面通過(guò)其成員global_list掛入一個(gè)總的pci_dev結(jié)構(gòu)隊(duì)列(隊(duì)列頭是pci_devices);同時(shí)又通過(guò)成員bus_list掛入其所在總線的pci_dev結(jié)構(gòu)隊(duì)列devices(隊(duì)列頭是pci_bus.devices,即該pci設(shè)備所在的pci總線的devices隊(duì)列),并且使指針bus(指pci_dev結(jié)構(gòu)體里的bus成員)指向代表著其所在總線的pci_bus結(jié)構(gòu)。如果具體的設(shè)備是PCI-PCI橋,則還要使其指針subordinate指向代表著另一條PCI總線的pci_bus結(jié)構(gòu)。同樣我們?cè)?linux-2.4.18/linux/drivers/pci/pci.c的39行可以看到如下定義:

LIST_HEAD(pci_devices);

對(duì)于PCI設(shè)備鏈表,我們可以通過(guò)圖1來(lái)理解。

注:該圖摘自《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》 第21章 PCI設(shè)備驅(qū)動(dòng)。

圖1 Linux PCI設(shè)備鏈表

而對(duì)于我們?cè)跍\談(一)中貼出的圖1的PCI系統(tǒng)結(jié)構(gòu)示意圖,Linux內(nèi)核中對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu)如這里的圖2所示。

圖2 Linux內(nèi)核PCI數(shù)據(jù)結(jié)構(gòu)

Linux PCI初始化代碼從PCI總線0開(kāi)始掃描,它通過(guò)讀取"Vendor ID"和"Device ID"來(lái)試圖發(fā)現(xiàn)每一個(gè)插槽上的設(shè)備。如果發(fā)現(xiàn)了一個(gè)PCI-PCI橋,則創(chuàng)建一個(gè)pci_bus數(shù)據(jù)結(jié)構(gòu)并且連入到由pci_root_buses指向的pci_bus和pci_dev數(shù)據(jù)結(jié)構(gòu)組成的樹(shù)中。PCI初始化代碼通過(guò)設(shè)備類代碼0x060400來(lái)判斷一個(gè)PCI設(shè)備是否是PCI-PCI橋。然后,Linux核心開(kāi)始構(gòu)造這個(gè)橋設(shè)備另一端的PCI總線和其上的設(shè)備。如果還發(fā)現(xiàn)了橋設(shè)備,就以同樣的步驟來(lái)進(jìn)行構(gòu)建。這個(gè)處理過(guò)程稱之為深度優(yōu)先算法。PCI-PCI橋橫跨在兩條總線之間,寄存器PCI_PRIMARY_BUS和PCI_SECONDARY_BUS的內(nèi)容就說(shuō)明了其上下兩端的總線號(hào),其中PCI_SECONDARY_BUS就是該P(yáng)CI-PCI橋所連接和控制的總線,而PCI_SUBORDINATE_BUS則說(shuō)明自此以下、在以此為根的子樹(shù)中最大的總線號(hào)是什么。

我們可以在/linux-2.4.18/linux/include/linux/pci.h看到如下定義:

112:/*Headertype1(PCI-to-PCIbridges)*/113:#definePCI_PRIMARY_BUS0x18/*Primarybusnumber*/114:#definePCI_SECONDARY_BUS0x19/*Secondarybusnumber*/115: #define PCI_SUBORDINATE_BUS 0x1a /* Highest bus number behind the bridge */

由于在枚舉階段做的是深度優(yōu)先掃描,所以子樹(shù)中的總線號(hào)總是連續(xù)遞增的。當(dāng)CPU往I/O寄存器0xCF8中寫(xiě)入一個(gè)綜合地址以后,從0號(hào)總線開(kāi)始,每個(gè)PCI-PCI橋會(huì)把綜合地址中的總線號(hào)與自身的總線號(hào)相比,如果相符就用邏輯設(shè)備號(hào)在本總線上尋訪目標(biāo)設(shè)備;否則就進(jìn)一步把這個(gè)總線號(hào)與PCI_SUBORDINATE_BUS中的內(nèi)容相比,如果目標(biāo)總線號(hào)落在當(dāng)前子樹(shù)范圍中,就把綜合地址傳遞給其下的各個(gè)次層PCI-PCI橋,要不然就不予理睬。這樣,最終就會(huì)找到目標(biāo)設(shè)備。當(dāng)然,這個(gè)過(guò)程只是在PCI設(shè)備的配置階段需要這樣做,一旦配置完成,CPU就直接通過(guò)有關(guān)的總線地址訪問(wèn)目標(biāo)設(shè)備了。

PCI-PCI橋要想正確傳遞對(duì)PCI I/O,PCI Memory或PCI Configuration地址空間的讀和寫(xiě)請(qǐng)求,必須知道下列信息:

(1)Primary Bus Number(主總線號(hào))

該P(yáng)CI-PCI橋所處的PCI總線稱為主總線。

(2)Secondary Bus Number(子總線號(hào))

該P(yáng)CI-PCI橋所連接的PCI總線稱為子總線/次總線號(hào)。

(3)Subordinate Bus Number

PCI總線的下屬PCI總線的總線編號(hào)最大值。有點(diǎn)繞,看后面的分析就明白了。

PCI I/O 和 PCI Memory 窗口

PCI橋的配置寄存器與一般的PCI設(shè)備不同。一般PCI設(shè)備可以有6個(gè)地址區(qū)間,外加一個(gè)ROM區(qū)間,代表著設(shè)備上實(shí)際存在的存儲(chǔ)器或寄存器區(qū)間。而PCI橋,則本身并不一定有存儲(chǔ)器或寄存器區(qū)間,但是卻有三個(gè)用于地址過(guò)濾的區(qū)間。每個(gè)地址過(guò)濾區(qū)間決定了一個(gè)地址窗口,從CPU一側(cè)發(fā)出的地址,如果落在PCI橋的某個(gè)窗口內(nèi),就可以穿過(guò)PCI橋而到達(dá)其所連接的總線上。此外,PCI橋的命令寄存器中還有”memory access enable”和”I/O access enable ”的兩個(gè)控制位,當(dāng)這兩個(gè)控制位為0時(shí),這些窗口就全都關(guān)上了。在未完成對(duì)PCI總線的初始化之前,還沒(méi)有為PCI設(shè)備上的各個(gè)區(qū)間分配合適的總線地址時(shí),正是因?yàn)檫@兩個(gè)控制位為0,才不會(huì)對(duì)CPU一側(cè)造成干擾。例如, 對(duì)于淺談(一)的 PCI系統(tǒng)示意圖 ,僅當(dāng)讀和寫(xiě)請(qǐng)求中的PCI I/O或PCI memory地址屬于SCSIEthernet設(shè)備時(shí),PCI-PCI橋才將這些總線上的請(qǐng)求從PCI總線0傳遞到PCI總線1。這種過(guò)濾機(jī)制可以避免地址在系統(tǒng)中沒(méi)必要的繁衍。為了做到這點(diǎn),每個(gè)PCI-PCI橋必須正確地被設(shè)置好它所負(fù)責(zé)的PCI I/O或PCI memory的起始地址和大小。當(dāng)一個(gè)讀或?qū)懻?qǐng)求地址落在其負(fù)責(zé)的范圍之內(nèi),這個(gè)請(qǐng)求將被映射到次級(jí)的PCI總線上。系統(tǒng)中的PCI-PCI橋一旦設(shè)置完畢,如果Linux中的設(shè)備驅(qū)動(dòng)程序存取的PCI I/O和PCI memory地址落在在這些窗口之內(nèi),那么這些PCI-PCI橋就是透明的。這是個(gè)很重要的特性,使得Linux PCI設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)者的工作容易些。

問(wèn)題是配置一個(gè)PCI-PCI橋的時(shí)候,并不知道這個(gè)PCI-PCI橋的subordinate bus number。那么就不知道該P(yáng)CI橋下面是否還有其他的PCI-PCI橋。即使你知道,也不清楚如何對(duì)它們賦值。解決方法是利用上述的深度掃描算法來(lái)掃描每個(gè)總線。每當(dāng)發(fā)現(xiàn)PCI-PCI橋就對(duì)它進(jìn)行賦值。當(dāng)發(fā)現(xiàn)一個(gè)PCI-PCI橋時(shí),可以確定它的secondary bus number。然后我們暫時(shí)先將其subordinate bus number賦值為0xFF。緊接著,開(kāi)始掃描該P(yáng)CI-PCI橋的downstream橋。這個(gè)過(guò)程看起來(lái)有點(diǎn)復(fù)雜,下面的例子將給出清晰的解釋:

圖3 配置PCI系統(tǒng) 第一步

PCI-PCI橋編號(hào)--第一步

以圖3的拓?fù)浣Y(jié)構(gòu)為例,掃描時(shí)首先發(fā)現(xiàn)的橋是Bridge1。Bridge 1的downstream PCI總線號(hào)碼被賦值1。自然該橋的secondary bus number也是1。其subordinate bus number暫時(shí)賦值為0xFF。上述賦值的含義是所有類型1的含有PCI總線1或更高(<255)的號(hào)碼的PCI配置地址將被Bridge 1傳遞到PCI總線1上。如果PCI總線號(hào)是1,Bridge 1 還負(fù)責(zé)將配置地址的類型轉(zhuǎn)換成類型0(對(duì)于這里說(shuō)的類型0和類型1,請(qǐng)參考淺談(一))。否則,就不做轉(zhuǎn)換。上述動(dòng)作就是開(kāi)始掃描總線1時(shí)Linux PCI初始化代碼所完成的對(duì)總線0的配置工作。

圖4 配置PCI系統(tǒng) 第二步

PCI-PCI橋編號(hào)--第二步

由于Linux PCI設(shè)備驅(qū)動(dòng)使用深度優(yōu)先算法進(jìn)行掃描,所以初始化代碼開(kāi)始掃描總線1。從而B(niǎo)ridge 2被發(fā)現(xiàn)。因?yàn)樵贐ridge 2下面發(fā)現(xiàn)不再有PCI-PCI橋,所以Bridge 2的subordinate bus number是2,等于它的secondary bus number。圖4顯示了在這個(gè)時(shí)刻總線和PCI-PCI橋的賦值情況。

圖5 配置PCI系統(tǒng) 第三步

PCI-PCI橋編號(hào)--第三步

Linux PCI設(shè)備驅(qū)動(dòng)代碼從總線2的掃描中回來(lái)接著進(jìn)行掃描總線1,發(fā)現(xiàn)Bridge 3。它的primary bus number被賦值為1,secondary bus number為3。因?yàn)榭偩€3上還發(fā)現(xiàn)了PCI-PCI橋,所以Bridge 3的subordinate bus number暫時(shí)賦值0xFF。圖5顯示了這個(gè)時(shí)刻系統(tǒng)配置的狀態(tài)。到目前為止,含有總線號(hào)1,2,3的類型1的PCI配置都可以正確地傳送到相應(yīng)的總線上。

圖6 配置PCI系統(tǒng) 第四步

PCI-PCI橋編號(hào)--第四步

現(xiàn)在Linux開(kāi)始掃描PCI總線3,Bridge 3的downstream。PCI總線3上有另外一個(gè)PCI-PCI橋,Bridge 4。因此Bridge 4的primary bus number的值為3,secondary bus number為4。由于Bridge 4下面沒(méi)有別的橋設(shè)備,所以Bridge 4的subordinate bus number為4。然后回到PCI-PCI Bridge 3。這時(shí)就將Bridge 3的subordinate bus number從0xFF改為4,表示總線4是從Bridge 3往下走的最遠(yuǎn)的PCI-PCI橋。最后,Linux PCI設(shè)備驅(qū)動(dòng)代碼將4以同樣的道理賦值給Bridge 1的subordinate bus number。圖6反映了系統(tǒng)最后的狀態(tài)。

注:淺談Linux PCI設(shè)備驅(qū)動(dòng)(二)暫時(shí)的整體結(jié)構(gòu)就是這樣了,后續(xù)可能還會(huì)有些細(xì)節(jié)上的修補(bǔ)和添加。在此強(qiáng)烈推薦想學(xué)Linux PCI設(shè)備驅(qū)動(dòng)的朋友結(jié)合《Linux內(nèi)核源代碼情景分析下冊(cè)》第八章和《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第21章 來(lái)學(xué)習(xí)。感謝您關(guān)注本文。

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

    關(guān)注

    31

    文章

    5621

    瀏覽量

    130461
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    3062

    瀏覽量

    91903
  • PCI設(shè)備
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    8265

原文標(biāo)題:PCI設(shè)備驅(qū)動(dòng)(二)

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    驅(qū)動(dòng)之路#24:Linux設(shè)備四種讀寫(xiě)模型

    Linux 設(shè)備四種讀寫(xiě)模型——其實(shí)核心就 4 種方式:查詢、休眠 - 喚醒、poll、異步通知。它們不是中斷本身,而是 “應(yīng)用 - 驅(qū)動(dòng)” 的上層交互邏輯(中斷是底層硬件觸發(fā)機(jī)制),但高效交互幾乎依賴中斷實(shí)現(xiàn)。
    的頭像 發(fā)表于 05-06 16:26 ?527次閱讀

    如何理解Linux內(nèi)核中的PCIe驅(qū)動(dòng)

    我們習(xí)慣了用 Verilog 去死磕 PCIe 的底層協(xié)議狀態(tài)機(jī)。但一旦越過(guò)硬件邊界來(lái)到操作系統(tǒng)層面,Linux 內(nèi)核是如何接管并驅(qū)動(dòng)這些 PCI/PCIe 設(shè)備的呢?由于不同的 CPU 架構(gòu)實(shí)現(xiàn)了
    的頭像 發(fā)表于 04-11 17:22 ?1294次閱讀

    是否需要 USB 串行連接才能啟動(dòng)到 Linux

    是否需要 USB 串行連接才能啟動(dòng)到 Linux,正如 QSG 所建議的那樣? 另外,我可以將即將發(fā)布的 Debian 映像刷新到 NVMe 并從 NVMe 啟動(dòng)嗎?
    發(fā)表于 03-24 08:32

    Linux音頻開(kāi)發(fā)必藏!這個(gè)官網(wǎng)藏著從驅(qū)動(dòng)到應(yīng)用的全套解決方案

    打開(kāi)alsa-project.org,首先會(huì)被這句簡(jiǎn)介擊中:"為 Linux 系統(tǒng)提供音頻與 MIDI 功能的核心架構(gòu)"。作為 2.6 版本后 Linux 內(nèi)核默認(rèn)的音頻子系統(tǒng)
    的頭像 發(fā)表于 02-06 16:56 ?3237次閱讀
    <b class='flag-5'>Linux</b>音頻開(kāi)發(fā)必藏!這個(gè)官網(wǎng)藏著從<b class='flag-5'>驅(qū)動(dòng)到</b>應(yīng)用的全套解決方案

    PCIPCI-E接口圖像采集卡:性能差異與場(chǎng)景適配

    )是兩類主流接口。PCI作為傳統(tǒng)并行接口,曾支撐早期視覺(jué)采集需求;而PCI-E憑借串行點(diǎn)對(duì)點(diǎn)架構(gòu)的先天優(yōu)勢(shì),已成為當(dāng)前工業(yè)場(chǎng)景的主流選擇。者在性能、架構(gòu)、兼容性
    的頭像 發(fā)表于 01-28 17:05 ?1041次閱讀
    <b class='flag-5'>PCI</b>與<b class='flag-5'>PCI</b>-E接口圖像采集卡:性能差異與場(chǎng)景適配

    TI PCI2040:PCI - DSP橋接器的深度解析

    TI PCI2040:PCI - DSP橋接器的深度解析 在電子設(shè)計(jì)領(lǐng)域,橋接器扮演著至關(guān)重要的角色,它能夠?qū)崿F(xiàn)不同接口之間的無(wú)縫連接,提升系統(tǒng)的整體性能。TI的PCI2040作為一款PCI
    的頭像 發(fā)表于 12-31 17:45 ?2813次閱讀

    PCI2050B PCI-to-PCI Bridge:高性能連接解決方案

    PCI2050B PCI-to-PCI Bridge:高性能連接解決方案 引言 在當(dāng)今的電子系統(tǒng)設(shè)計(jì)中,PCI總線的應(yīng)用極為廣泛。而PCI-to-PCI橋接器作為連接不同
    的頭像 發(fā)表于 12-30 17:05 ?881次閱讀

    德州儀器PCI2250 PCI-to-PCI橋接器:功能、特性與應(yīng)用詳解

    德州儀器PCI2250 PCI-to-PCI橋接器:功能、特性與應(yīng)用詳解 在電子設(shè)計(jì)領(lǐng)域,PCI-to-PCI橋接器扮演著至關(guān)重要的角色,它能夠?qū)崿F(xiàn)不同PCI總線之間的高效連接和數(shù)據(jù)傳
    的頭像 發(fā)表于 12-25 17:10 ?654次閱讀

    探索DS50PCI402:PCI Express應(yīng)用的理想選擇

    探索DS50PCI402:PCI Express應(yīng)用的理想選擇 在PCI Express應(yīng)用領(lǐng)域,找到一款性能卓越、功能豐富且易于配置的設(shè)備至關(guān)重要。今天,我們就來(lái)深入探討德州儀器(TI
    的頭像 發(fā)表于 12-24 16:35 ?411次閱讀

    德州儀器PCI2250 PCI-to-PCI橋接器:設(shè)計(jì)與應(yīng)用全解析

    德州儀器PCI2250 PCI-to-PCI橋接器:設(shè)計(jì)與應(yīng)用全解析 在當(dāng)今的電子系統(tǒng)設(shè)計(jì)中,PCI(Peripheral Component Interconnect)總線因其高性能和廣泛的兼容性
    的頭像 發(fā)表于 12-24 15:55 ?801次閱讀

    Linux驅(qū)動(dòng)開(kāi)發(fā)的必備知識(shí)

    內(nèi)核基礎(chǔ)知識(shí): 1、熟悉 Linux 內(nèi)核的架構(gòu)、模塊系統(tǒng)、進(jìn)程管理、內(nèi)存管理等。 了解內(nèi)核的編譯和加載過(guò)程。 2、C編程技能: 精通 C 語(yǔ)言編程,包括指針操作、內(nèi)存管理、結(jié)構(gòu)體等
    發(fā)表于 12-04 07:58

    【免費(fèi)送書(shū)】成為硬核Linux開(kāi)發(fā)者:《Linux 設(shè)備驅(qū)動(dòng)開(kāi)發(fā)(第 2 版)》

    Linux系統(tǒng)的設(shè)備驅(qū)動(dòng)開(kāi)發(fā),一直給人門(mén)檻較高的印象,主要因內(nèi)核機(jī)制抽象、需深度理解硬件原理、開(kāi)發(fā)調(diào)試難度大所致。2021年,一本講解驅(qū)動(dòng)開(kāi)發(fā)的專著問(wèn)世即獲市場(chǎng)青睞,暢銷近萬(wàn)冊(cè)——這便是《Li
    的頭像 發(fā)表于 11-18 08:06 ?1878次閱讀
    【免費(fèi)送書(shū)】成為硬核<b class='flag-5'>Linux</b>開(kāi)發(fā)者:《<b class='flag-5'>Linux</b> 設(shè)備<b class='flag-5'>驅(qū)動(dòng)</b>開(kāi)發(fā)(第 2 版)》

    學(xué)習(xí)Linux應(yīng)該從哪里開(kāi)始?

    在工業(yè)控制、邊緣計(jì)算、人工智能這些領(lǐng)域,有一句幾乎約定俗成的話: “會(huì)不會(huì) Linux,決定了你能走多遠(yuǎn)?!?但對(duì)很多剛?cè)腴T(mén)的工程師來(lái)說(shuō),Linux 看起來(lái)像個(gè)龐大又神秘的世界——命令行、驅(qū)動(dòng)、內(nèi)核
    的頭像 發(fā)表于 10-16 09:51 ?590次閱讀
    學(xué)習(xí)<b class='flag-5'>Linux</b>應(yīng)該從哪里開(kāi)始?

    請(qǐng)問(wèn)編譯純r(jià)tos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?

    編譯純r(jià)tos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?
    發(fā)表于 07-11 07:22

    目前Mirco Python sdk觸摸到底支持什么驅(qū)動(dòng)啊 ?

    目前的Mirco Python sdk觸摸到底支持什么驅(qū)動(dòng)啊 能不能有資料詳細(xì)說(shuō)明 GT911 觸摸驅(qū)動(dòng)是否支持啊
    發(fā)表于 06-24 07:02
    镇坪县| 德安县| 依安县| 邯郸县| 如皋市| 怀来县| 汉源县| 攀枝花市| 孝义市| 德钦县| 米易县| 大宁县| 南川市| 阿克| 东乡族自治县| 万盛区| 象山县| 盘锦市| 清原| 西丰县| 佛冈县| 洪江市| 木兰县| 泽州县| 交城县| 杭锦旗| 桓台县| 黔东| 肥城市| 浠水县| 银川市| 郴州市| 佛山市| 泽库县| 华池县| 安西县| 土默特右旗| 汉沽区| 开封县| 顺昌县| 阜阳市|