亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>Android非標準硬件驅(qū)動程序設(shè)計方案解析

Android非標準硬件驅(qū)動程序設(shè)計方案解析

2017-10-21 | rar | 0.1 MB | 次下載 | 1積分

資料介紹

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

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  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開關(guān)電源設(shè)計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  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次下載  |  免費