Android 開發之 —- 底層驅動開發(二)

來源:互聯網
上載者:User

Android 裝置驅動(下)

           MTD 驅動

                Flash 驅動通常使用 MTD (memory technology device ),記憶體技術裝置。

                MTD 的字元裝置:

                /dev/mtdX

                       主裝置號 90.

                MTD 的塊裝置:

                /dev/block/mtdblockX

                        主裝置號 13.

                MTD 驅動源碼

                        drivers/mtd/mtdcore.c:MTD核心,定義MTD原始裝置

                        drivers/mtd/mtdchar.c:MTD字元裝置

                        drivers/mtd/mtdblock.c:MTD塊裝置

                 MTD 結構圖

                


           MTD 驅動程式是 Linux 下專門為嵌入式環境開發的新一類驅動程式。Linux 下的 MTD 驅動程式介面被劃分為使用者模組和硬體模組:

           使用者模組 提供從使用者空間直接使用的介面:原始字元訪問、原始塊訪問、FTL (Flash Transition Layer)和JFS(Journaled File System)。

            硬體模組  提供記憶體裝置的物理訪問,但不直接使用它們,二十通過上述的使用者模組來訪問。這些模組提供了快閃記憶體上讀、寫和擦除等操作的實現。

     

           藍牙堆疊    

              在 Linux 中,藍牙裝置驅動是網路裝置,使用網路介面。

              Android 的藍芽協議棧使用BlueZ實現來對GAP, SDP以及RFCOMM等應用規範的支援,並獲得了SIG認證。由於Bluez使用GPL授權, 所以Android 架構通過D-BUS IPC來與bluez的使用者空間代碼互動以避免使用未經授權的代碼。             

              藍芽協議部分標頭檔:
                                                   include/net/bluetooth/hci_core.h

                                                   include/net/bluetooth/bluetooth.h

                                                   藍芽協議原始碼檔案:

                                                               net/bluetooth/*

                                                   藍牙堆疊程式部分的檔案:

                                                                drivers/bluetooth/*

              藍芽的驅動程式一般都通過標準的HCI控制實現。但根據硬體介面和初始化流程的不同,又存在一些差別。這類初始化動作一般是一些晶振頻率,傳輸速率等基礎設定。比如CSR的晶片一般通過BCSP協議完成最初的初始化配置,再啟用標準HCI控制流程程。對Linux來說,一旦bluez可以使用HCI與晶片建立起通訊(一般是hciattach + hciconfig),便可以利用其上的標準協議(SCO, L2CAP等),與藍芽通訊,使其正常工作了。


          WLAN 裝置驅動(Wi-Fi)(比較複雜我面會專門寫個wifi分析)

            在linux中,Wlan裝置屬於網路裝置,採用網路介面。

           Wlan在使用者空間採用標準的socket介面進行控制。

                     WiFi協議部分標頭檔:

                               include/net/wireless.h

                    WiFi協議部分源檔案:

                               net/wireless/*

                    WiFi驅動程式部分:

                               drivers/net/wireless/*

          wifi模組結構圖:

        

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.