下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、【W(wǎng)ord版本下載可任意編輯】 Android平臺非標準硬件設備驅動程序設計 將構造體led_module_t初始化一個實例名為HAL_MODULE_INFO_SYM,這個名稱不能修改,實例里包含了Stub的模塊信息,主要包括: tag:標記了構造體的類型,這里的值為HARDWARE_MODULE_TAG;id:LEDStub的模塊ID,在本地服務向HAL獲取Stub時調用的函數(shù)hw_get_module()中,通過這里的id查找LEDStub;methods:是構造體hw_module_methods_t的實例,為HAL定義回調函數(shù)open()。 這里的open()函數(shù)是一個必須實現(xiàn)的回調函
2、數(shù)接口,在本地服務獲得Stub對象后調用,它負責申請構造體led_control_device_t的空間,填充信息,注冊具體操作的回調函數(shù)接口并打開LED驅動。 構造體led_control_device_t繼承了hw_device_t,在open()函數(shù)調用時填充的主要信息包括: tag:構造體的類型,這里的值為HARDWARE_DEVICE_TAG; module:Stub的模塊,也就是實例HAL_MODULE_INFO_SYM中的hw_module_t部分; close:釋放LEDStub的回調函數(shù); fd:打開設備驅動文件返回的文件描述符; ns_set_on:打開LED燈的回調函數(shù)指
3、針; ns_set_off:關閉LED燈的回調函數(shù)指針。 回調函數(shù)指針“*ns_set_on”和“*ns_set_off”分別指向實現(xiàn)函數(shù)hal_led_on()和hal_led_off(),在實現(xiàn)函數(shù)中通過系統(tǒng)調用ioctl()對LED燈開展開關控制。 2.3 硬件控制服務的JNI實現(xiàn) LED控制本地庫編譯后為“l(fā)ibled.so”保存在Android文件系統(tǒng)的“/sysem/lib/”目錄下面,LED控制服務的Android進程運行后由虛擬機實例裝入本地庫,具體實現(xiàn)過程如圖5所示。 圖5 LED控制服務的JNI實現(xiàn)過程 控制服務調用System.load()函數(shù),它的虛擬機實例就會裝入LE
4、D控制本地庫,虛擬時機首先調用JNI_OnLoad()函數(shù)完成: (1)把虛擬機環(huán)境信息保存到本地庫的一個構造體“JNIEnv”的實例中; (2)建立一個應用層中的LED控制服務與本地庫的JNI函數(shù)表; (3)返回虛擬機本地庫使用的JNI版本。 加載完后,應用層中的LED控制服務就可以通過虛擬機中的JNI函數(shù)表把運行的Java函數(shù)轉換為本地函數(shù)執(zhí)行。在LED控制服務類中定義有JNI函數(shù)的方式,例如下面的代碼段: 3 結語 本文的研究工作是在S3C2440開發(fā)板上開展的,以給開發(fā)板上的LED燈增加驅動程序為例,展示了一種為Android平臺非標準硬件增加驅動程序的設計方案,對于實現(xiàn)其他設備的驅動具有一定的借鑒意義。由于各種硬件設備及其接口差異較大,本文著重于驅動程序的設計方案,沒有討論相關的硬件接口驅動細節(jié)。隨著Android平臺日漸成熟以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版年薪制勞動合同:能源企業(yè)關鍵崗位人才協(xié)議4篇
- 2025年度人工智能技術應用居間合同范本4篇
- 2025年度新能源技術研發(fā)擔保合同2篇
- 2025年度智能家居門窗品牌租賃合同范本4篇
- 2025年度精密模具租賃服務合同模板4篇
- 2025年度智慧社區(qū)建設項目承攬合同建設施工合同書3篇
- 2025年度暖氣系統(tǒng)安裝與售后服務合同范本4篇
- 2025年度輸電線路鋼管工勞務分包工程合同范本2篇
- 二零二五年度城市公園綠化養(yǎng)護承包合同4篇
- 2025年度魚塘租賃合同(含漁業(yè)市場調研與分析)4篇
- 安徽省定遠重點中學2024-2025學年第一學期高二物理期末考試(含答案)
- 教育教學質量經(jīng)驗交流會上校長講話:聚焦課堂關注個體全面提升教育教學質量
- 2024人教新目標(Go for it)八年級英語上冊【第1-10單元】全冊 知識點總結
- 劇本殺店長合同范例
- 華中師范大學第一附中2025屆高考仿真模擬數(shù)學試卷含解析
- 農(nóng)村自建房施工合同模板
- GB/T 44731-2024科技成果評估規(guī)范
- 影視動畫設計與制作合同
- 2023學年廣東省深圳實驗學校初中部九年級(下)開學語文試卷
- 企業(yè)新員工培訓師帶徒方案
- 2025屆河南省鄭州一中高三物理第一學期期末學業(yè)水平測試試題含解析
評論
0/150
提交評論