《Android底層開發技術》學習總結

2021-06-27 21:50:12 字數 2049 閱讀 7620

《android底層開發技術實戰詳解——核心、移植和驅動》學習總結

整本書看的比較粗,了解個大概,以後需要的時候,可以針對性的學習!

android與linux的關係

linux kernel的版權是gpl(general public license),它要求對源**的任何修改都必須開源。

android的kernel採用的gpl,但android採用asl(apache software license),不必開源。

google特意修改了kernel,將某些功能轉移到上層hal(hardware abstraction layer)中。

因此,從2023年2月,即linux2.6.33起,android kernel已經從linux kernel中刪除。

三種核心

三類驅動程式

1、字元裝置

2、塊裝置

3、網路裝置

兩種驅動型別

1、專用驅動,非linux標準,純軟體

2、裝置驅動

android專用驅動

1、staging,分期,分段,腳手架

binder,程序間通訊

logger,日誌系統

lowmemorykiller,低記憶體處理

timed output,定時輸出

timed gpio,定時gpio

ram console,記憶體控制台

2、wakelock和early_suspend,休眠,喚醒

3、ashmem(alocate share memory),記憶體對映與共享

4、pmem(physical memory),物理記憶體共享,不一定連續

5、alarm,硬體時鐘

6、usb gadget,usb裝置驅動

7、paranoid,網路驅動

android裝置驅動

framebuffer,螢幕顯示

keyboard,鍵盤

rtc(real time clock),實時時鐘

tty(teletype),終端,串列埠

nandflash,硬碟,flash儲存器

mmc(********** card),儲存卡

battery,電池

顯示系統(lcd,vga)

framebuffer

su***ceflinger

gralloc

輸入系統(鍵盤,觸控螢幕,軌跡球)

事件:motionevent,keyevent

配置檔案:kl=keylayout,kcm=keycharactermap

音訊系統

audioflinger

alsa(advanced linux sound architecture),midi

主顯示區,rgb;額外顯示區,yuv

overlay(framebuffer,v4l2=video for linux 2)

多**框架

openmax,底層驅動

opencore,複雜,穩定

stagefright,簡單,後入

照相機系統

v4l2=video for linux 2

camera hal

**系統(通話call,簡訊sms,資料連線,sim卡,**本)

modem調製(modulator)解調器(demodulator)

ril(radio inte***ce layer),at命令

其他

wifi,bluetooth藍芽,gps(global positioning system)

alarm報警器,light光,battery電池

vibrator振動器

sensor感測器

《Android底層開發技術》學習總結

android底層開發技術實戰詳解 核心 移植和驅動 學習總結 整本書看的比較粗,了解個大概,以後需要的時候,可以針對性的學習!android與linux的關係 linux kernel的版權是gpl general public license 它要求對源 的任何修改都必須開源。android的k...

Android底層開發之Audio HAL

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!android底層開發之audio hal 在android音訊底層除錯 基於tinyalsa中以 拋開android的天生複雜,回歸嵌入式linux的本質 的方式介紹如何除錯linux核心中的音訊驅動。這裡向上再伸展一下進入hal層,看是如何將t...

android底層開發之交叉編譯環境

x86架構的cpu採用的是複雜指令集 complex instruction set computer,cics 而arm架構的cpu使用的是精簡指令集 reduced instruction set computer,risc 由於這兩種架構的cpu使用了不同的指令集,因此在x86架構上開發可執行...