久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Android 開(kāi)發(fā)之 ---- 底層驅(qū)動(dòng)開(kāi)發(fā)(二)

 liluvu 2013-08-08
Android 設(shè)備驅(qū)動(dòng)(下)

           MTD 驅(qū)動(dòng)

                Flash 驅(qū)動(dòng)通常使用 MTD (memory technology device ),,內(nèi)存技術(shù)設(shè)備。

                MTD 的字符設(shè)備:

                /dev/mtdX

                       主設(shè)備號(hào) 90.

                MTD 的塊設(shè)備:

                /dev/block/mtdblockX

                        主設(shè)備號(hào) 13.

                MTD 驅(qū)動(dòng)源碼

                        drivers/mtd/mtdcore.c:MTD核心,,定義MTD原始設(shè)備

                        drivers/mtd/mtdchar.c:MTD字符設(shè)備

                        drivers/mtd/mtdblock.c:MTD塊設(shè)備

                 MTD 結(jié)構(gòu)圖

                



           MTD 驅(qū)動(dòng)程序是 Linux 下專門(mén)為嵌入式環(huán)境開(kāi)發(fā)的新一類(lèi)驅(qū)動(dòng)程序,。Linux 下的 MTD 驅(qū)動(dòng)程序接口被劃分為用戶模塊和硬件模塊:

           用戶模塊 提供從用戶空間直接使用的接口:原始字符訪問(wèn)、原始?jí)K訪問(wèn),、FTL (Flash Transition Layer)和JFS(Journaled File System)。

            硬件模塊  提供內(nèi)存設(shè)備的物理訪問(wèn),,但不直接使用它們,,二十通過(guò)上述的用戶模塊來(lái)訪問(wèn)。這些模塊提供了閃存上讀,、寫(xiě)和擦除等操作的實(shí)現(xiàn),。

     

           藍(lán)牙驅(qū)動(dòng)    

              在 Linux 中,藍(lán)牙設(shè)備驅(qū)動(dòng)是網(wǎng)絡(luò)設(shè)備,,使用網(wǎng)絡(luò)接口,。

              Android 的藍(lán)牙協(xié)議棧使用BlueZ實(shí)現(xiàn)來(lái)對(duì)GAP, SDP以及RFCOMM等應(yīng)用規(guī)范的支持,并獲得了SIG認(rèn)證。由于Bluez使用GPL授權(quán), 所以Android 框架通過(guò)D-BUS IPC來(lái)與bluez的用戶空間代碼交互以避免使用未經(jīng)授權(quán)的代碼,。             

              藍(lán)牙協(xié)議部分頭文件:
                                                   include/net/bluetooth/hci_core.h

                                                   include/net/bluetooth/bluetooth.h

                                                   藍(lán)牙協(xié)議源代碼文件:

                                                               net/bluetooth/*

                                                   藍(lán)牙驅(qū)動(dòng)程序部分的文件:

                                                                drivers/bluetooth/*

              藍(lán)牙的驅(qū)動(dòng)程序一般都通過(guò)標(biāo)準(zhǔn)的HCI控制實(shí)現(xiàn),。但根據(jù)硬件接口和初始化流程的不同,又存在一些差別,。這類(lèi)初始化動(dòng)作一般是一些晶振頻率,,波特率等基礎(chǔ)設(shè)置。比如CSR的芯片一般通過(guò)BCSP協(xié)議完成最初的初始化配置,,再激活標(biāo)準(zhǔn)HCI控制流程,。對(duì)Linux來(lái)說(shuō),一旦bluez可以使用HCI與芯片建立起通信(一般是hciattach + hciconfig),,便可以利用其上的標(biāo)準(zhǔn)協(xié)議(SCO, L2CAP等),,與藍(lán)牙通信,使其正常工作了,。


          WLAN 設(shè)備驅(qū)動(dòng)(Wi-Fi)(比較復(fù)雜我面會(huì)專門(mén)寫(xiě)個(gè)wifi分析)

            在linux中,,Wlan設(shè)備屬于網(wǎng)絡(luò)設(shè)備,,采用網(wǎng)絡(luò)接口。

           Wlan在用戶空間采用標(biāo)準(zhǔn)的socket接口進(jìn)行控制,。

                     WiFi協(xié)議部分頭文件:

                               include/net/wireless.h

                    WiFi協(xié)議部分源文件:

                               net/wireless/*

                    WiFi驅(qū)動(dòng)程序部分:

                               drivers/net/wireless/*

          wifi模塊結(jié)構(gòu)圖:

        

分享到:

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多