色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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次下載  |  免費
主站蜘蛛池模板: 国产亚洲精品久久综合阿香| 亚洲午夜久久久久中文字幕| 日韩欧美高清一区| 特级做A爰片毛片免费看108| 国产AV亚洲精品久久久久软件| 国产精品亚欧美一区二区三区| 老板揉搓秘书丰满大乳| 十分钟免费视频大全在线观看| 最近中文字幕在线中文视频| 国产成人综合在线观看网站| 男生射女生| 诱人的女邻居9中文观看| 国产乱子影视频上线免费观看| 欧美手机在线| 3D内射动漫同人资源在线观看| 和姐姐做插得很深| 国精产品一区二区三区有限公司 | 在线视频a| 国产一区二区高清| 日韩欧美视频一区| 99久久久国产精品免费调教| 久久精品99国产精品日本| 无码国产成人午夜在线观看不卡| AV无码久久无遮挡国产麻豆| 快播电影网站大全| 亚洲一级特黄| 挤奶门事件完整照片| 美女被日出水| 亚洲午夜精品A片久久软件| 国产免费啪嗒啪嗒视频看看| 日本中文字幕巨大的乳专区| 色偷偷777| qvod电影在线观看| 欧美黑人经典片免费观看| 在线观看亚洲专区5555| 精品一区二区免费视频蜜桃网| 校花被扒衣吸乳羞羞漫画| 亚洲人成网站7777视频| 国产日韩亚洲专区无码| 天天插天天射天天干| 国产不卡在线观看视频|