課程內容包括將SOC廠商提供的新版Android BSP移植至其他硬體平台,深入學習Android編譯與初始化流程、Linux Kernel驅動程式移植及BSP製作技巧。同時,課程探討Android框架層與核心驅動程式的溝通原理,學習使用JNI撰寫HAL驅動,並了解各類Service架構與Binder通訊的對應關係。
學員將掌握Android系統與硬體整合的核心技能,適用於嵌入式系統與Android平台開發專案。
課程還將帶領學員深入探討框架層與核心驅動的溝通架構,學習使用JNI語法開發HAL驅動,並透過實作案例(如 ISL29023光亮度感測器)掌握Native Service技術和Binder通訊機制。
課程特色
- 完整技術鏈:涵蓋 Android 系統移植與硬體框架整合的完整開發流程
- 實務教學:包含開發板實操與真實案例實作
- 最新技術:教學版本採用 Android 10,符合業界需求
在Android BSP移植實務中,學員將學習
- 將SoC廠商提供的新版Android BSP移植至其他硬體平台
- 編譯與初始化流程
- Linux Kernel驅動程式移植
- 為特定硬體平台製作Android BSP的開發技巧
課程深入探討Android硬體框架整合實務
- 框架層與底層核心驅動程式之間的溝通架構
- 使用JNI語法撰寫HAL驅動並與框架整合
- 以實際案例(如 ISL29023光亮度感測器)實作Android Native Service,理解Service架構與Binder通訊機制
課程目標
- 掌握Android系統移植與硬體整合的核心技術
- 熟悉BSP、HAL驅動開發與Native Service的實作
- 運用所學技術於嵌入式開發與Android架整合專案
學員結訓具備技能
- 熟悉Android BSP移植與核心驅動技術
- 獨立完成HAL驅動與Native Service開發
- 掌握框架與硬體的整合與Debug技巧
課程大綱
Ch1 - Introduction to Android
(Android介紹)
課程內容
- Android 演進歷史
- Android 衍生產品
- OHA組織
- Android 分層架構
- Android Runtime Flow
課程重點
- Android優勢
- Android 分區和檔案系統
- Android Run Time(ART)
- Android Project Treble介紹
Ch2 - Android Software Development Kit
(Android SDK分析與實作)
課程內容
- Android SDK
- Android Debug tools
課程重點
- Android Studio
- Android Debug Birdge (ADB)
Ch3 - Android Kernel & Driver Porting
(Android核心與驅動移植技巧)
課程內容
- Android 開發環境建置
- Android 平台移植流程
課程重點
- Android Kernel 移植技巧
- Android Driver 移植技巧
Ch4 - Android Build System
(Android 編譯系統)
課程內容
- Android 啟動、備份和重置
- Android Daemon分析
- Android BSP 建置與實作
課程重點
- Android init.rc分析
- Android.mk
- Android Native Code 演練
Ch5 - Introduction to Android HAL
(Android HAL 介紹)
課程內容
- Android Legacy HAL 分析
- 實作 HAL Stub (以Helloworld為例)
課程重點
- Android HAL Stub 分析
- 實作 HAL Stub (以數位濕度感測器為例)
Ch6 - Android Binder
(Android Binder 分析與實務)
課程內容
- Linux IPC介紹
- Binder Driver 驅動分析
課程重點
- Binder Concepts 觀念分析
Ch7 - Android Service
(Android 系統服務分析)
課程內容
- Android Service種類介紹
- BnInterface 與 BpInterface
- Android AIDL 分析與實作
課程重點
- Proxy Object 實作
- 實作 Android Native Service (以數位濕度感測器為例)