色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>Android非標準硬件驅動程序設計方案解析

Android非標準硬件驅動程序設計方案解析

2017-10-21 | rar | 0.1 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驅動程序架構。
  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原理。
  Android非標準硬件驅動程序設計方案解析
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  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次下載  |  免費
主站蜘蛛池模板: 久爱在线中文在观看| 99精品小视频| 狠狠色噜噜狠狠狠狠米奇777| 诱人的秘书BD在线观看| 青柠在线观看视频在线高清| 国产人妻XXXX精品HD电影| 99国内精品久久久久久久清纯| 翁熄性放纵交换300章| 浪荡受自我调教纯肉BL| 国产XXXXXX农村野外| 91蜜桃视频| 亚洲 日本 欧美 中文字幕| 欧美精品AV一区二区无码| 精品国产三级a| 国产精品成人A蜜柚在线观看| 99久久精品久久久| 2018年免费三级av观看| 亚洲精品福利一区二区在线观看| 欧美激情视频一区| 欧美精品久久久久久久久大尺度| 女的把腿张开男的往里面插| 九九视频在线观看视频6| 精品伊人久久久| 久久久精品免费免费直播| 国产成人亚洲精品老王| 国产成人精品免费视频下载| 国产传媒18精品A片在线观看| 国产91网站在线观看免费| free18sex性自拍裸舞| 综合激情区视频一区视频二区| 亚洲激情网站| 夜色视频社区| 亚洲国产欧美国产综合在线| 亚洲精品久久久992KVTV| 亚洲在线中文无码首页| 亚洲精品第一综合99久久| 幺妹视频福利视频| 最美女人体内射精一区二区 | 波多野结衣教师系列6| 最新2017年韩国伦理片在线| 97人妻碰视频在线观看|