Android Audio BSP工程师 需要清楚的基本知识点 | 您所在的位置:网站首页 › 安卓bsp是什么意思 › 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(或 ART)、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。
【题外话】 其实我一直不认为 Android 是真正的操作系统,因为操作系统的几大主要功能,即 进程调度、内存管理、文件系统管理、socket管理、进程间通信,这些都是由底层的 Linux 提供的。从我上方第 4 点的描述里也可以看出 ,所谓的 Android 系统实际上是跑在 Linux 之上的一系列进程的总和。 不知道我的这个理解是否有问题,如果说得有偏差,欢迎各位朋友拍砖。
|
CopyRight 2018-2019 实验室设备网 版权所有 |