在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>基于安卓的非標準驅動程序設計解析

基于安卓的非標準驅動程序設計解析

2017-10-27 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

 Android系統是Google推出的基于Linux內核和Java架構的操作系統,在很短的時間內已成為主流的手機操作系統,并已逐步擴展應用到嵌入式系統、平板電腦和上網本上。它既有Linux系統所具有的硬件平臺可移植性,也因使用Java語言開發應用程序帶來了應用軟件只編寫一次即可在所有平臺運行的巨大優勢。Android雖然主要基于已有的技術,但在體系結構設計上有較大的創新。其主要設計目標之一就是要使應用程序和系統能獨立于具體的計算機體系結構和硬件平臺,表現在設備驅動程序設計上,對于已有的Linux標準設備驅動程序可以直接繼續使用,只需為其增加應用層JNI接口。但對于Linux沒有的非標準設備則提倡在Linux內核中驅動部分只做很少的接口工作,盡量把驅動程序的主要處理放在Android的上層架構中,即在應用層實現。本文對Android系統的底層實現技術進行深入的研究,包括Android的硬件抽象層和JNI技術實現等。并以S3C2440開發板上的LED燈設計顯示驅動程序為例,提出了一種非標準硬件設備驅動程序的設計和實現方案。
  1 Android系統驅動程序架構
  1.1 驅動程序分層體系結構
  Android是基于Linux的,它使用了Linux內核,但應用程序使用Java語言開發,所以應用程序在調用設備驅動時不能像一般的Linux應用程序那樣直接使用系統調用,必須通過Java虛擬機的JNI的本地(Native)方法使用設備。另一方面,Android要成為一個通用性強的平臺,必須加強它的可移植性。這也是在Android架構添加一個硬件抽象層(HAL)的原因,目的是為設備的調用提供一個更高級的封裝圖1所示為Android驅動程序架構。
  HAL Stub是以Linux共享庫(*.so)的形式存在,在整個驅動架構中,它是設備驅動程序運行在用戶空間的一部分,它向上為Dalvik虛擬機提供硬件設備的抽象接口,向下通過系統調用與Linux內核中的驅動程序進行數據交互。在這個過程中HAL可以對驅動程序的數據進行處理,也就是說在Linux內核中的驅動程序部分只需要提供一個與硬件設備傳輸數據接口的功能,而其余具體的操作可以由HAL完成。
  1.2 Android的硬件抽象層
  Android的硬件抽象層HAL(Hardware Abstract Layer)在Android的架構中是在庫這一層中,通過這一層,硬件廠商可以把部分設備的驅動源碼封裝在這一層而不公開源代碼。
  對圖1分析,設計HAL就是為了把應用框架和Linux內核分離出來,讓Android使用Linux內核而又不完全依賴Linux內核。當然,驅動程序并不是完全從Linux內核中分離出來,一些基本的處理必須由內核來完成,HAL只是分擔了Linux設備驅動的部分功能,至于這部分的功能占驅動程序功能的比例目前并沒有一個標準。
  基于安卓的非標準驅動程序設計解析
  在Android系統發展過程中,HAL的實現也逐步有了一些變化,舊的HAL是一種模塊化的思想,通過共享庫的形式由Runtime在JNI時以函數調用方法調用,這種做法并沒有通過封裝,即上層應用可以直接調用硬件。另外,這種方法可被多個進程使用,映射到多個進程空間中浪費內存資源。
  現在HAL提出一種Stub的思想,HAL Stub是一種代理的概念,Stub同樣是以共享庫(*.so)格式存在,但上層應用并不像加載動態庫那樣調用Stub。這種HAL是由模塊與Stub結合而成,Runtime通過模塊提供的統一接口獲取并操作Stub。Stub向HAL提供操作的回調函數,Runtime向HAL取得指定模塊的操作函數后,調用這些回調函數。這是一種間接函數調用的方式,HAL里包含了多個Stub。圖2為HAL Stib原理。
  基于安卓的非標準驅動程序設計解析
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 天天做天天爱天天操 | 男人你懂的在线观看视频 | 全免费一级午夜毛片 | 岛国三级在线看 | cao草棚视频网址成人 | 久久伊人精品青青草原高清 | 深夜在线视频免费网址 | 日韩在线看片 | 97色涩| 手机在线一区二区三区 | 免费看h网站 | 网站毛片 | 痴女中文字幕在线视频 | 久草3| 亚洲精品成人在线 | 一级骚片超级骚在线观看 | 噜噜噜色噜噜噜久久 | 欧美18xxoovideos| 色多多污网站在线观看 | 欧美精品videosex极品 | 久久精品免费看 | aa三级动态图无遮无挡 | 免费看美女禁处爆涌视频 | 一级毛片黄色 | 人人搞人人 | 亚洲视频一区在线 | 免费看黄色片的软件 | 在线观看视频网站 | 香蕉成人国产精品免费看网站 | 精品久久久久国产免费 | 日本一区二区三区欧美在线观看 | 日本黄色网址视频 | 天堂亚洲网 | 高清国产在线观看 | 成人性色生活影片 | 天天摸天天操天天干 | 天天射日 | 国产在线操 | 全免费a级毛片免费看不卡 全日本爽视频在线 | 龙口护士门91午夜国产在线 | 国产午夜精品久久理论片小说 |