Android Audio BSP工程師需要清楚的基本知識點
02-28
這只是個簡要例舉。
按照在操作系統中的層次劃分,從上到下依次為:
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。
推薦閱讀: