Android Audio BSP工程師需要清楚的基本知識點

這只是個簡要例舉。

按照在操作系統中的層次劃分,從上到下依次為:

1、Android系統分層模型。知道 APP、JNI、Frameworks、HAL、Driver 的劃分以及 用戶空間、內核空間 的概念。

2、Android Audio模塊的啟動、載入 及 放音/錄音 流程。起 碼應該了解 AudioServer、AudioFlinger、AudioPolicyService、AudioPolicyManager、 AudioTrack、Track、TrackHandle、PlaybackThread、RecordThread 這些部件分別在什麼時候起作用。

3、Android系統常見分區的作用。例如 /boot、/system、/data、/sdcard、/sys、/proc、/dev。

4、Android系統啟動流程。這裡指的是在 init 進程跑起來之後各 Android 核心進程的啟動順序,比如 Zygote、Dalvik、SystemServer 等以及各種 server 和 service。

5、Linux Kernel啟動流程。主要是 設備上電、bootloader、zImage、ramdisk、驅動模塊、init進程 這些。

6、設備驅動開發的一般流程及常用函數。這個沒什麼好說的。

7、ALSA架構 及 ASoC 概念。知道 DAPM、Widget、kControl、Codec Driver、Platform Driver、Machine Driver、DAI、DAI_LINK、DPCM、Tinyalsa 的含義。

8、能閱讀 電路原理圖 和 晶元Datasheet。


推薦閱讀:

TAG:Android | 音頻 | 驅動程序開發 |