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。