1. 系统底层开发
参与Android系统移植、底层模块的开发、优化和维护,包括但不限于Linux内核、设备驱动、HAL层等。针对特定硬件平台进行Android系统的定制与优化。
2. 性能优化
优化Android系统的启动速度、内存管理、功耗消耗等关键性能指标。
解决系统冻结、崩溃等问题,提升系统稳定性。
3. 硬件交互与驱动开发
开发和调试硬件设备驱动,确保硬件模块(如相机、传感器、音频、视频等)与
Android系统的高效衔接。
实现HAL层接口,兼容Android框架与底层硬件。
4. 问题调试与修复
使用各种调试工具(如GDB、LLDB等)定位和修复底层问题。
分析系统日志,解决复杂的系统性问题。
5. 文档与协作
编写设计文档、技术说明文档等。
与其他团队(如硬件工程师、应用开发工程师)紧密合作,确保系统与应用的顺畅对接。
任职要求:
1. 教育背景
计算机科学或相关专业,本科及以上。
2. 技能要求
编程语言:熟练掌握C/C++,JAVA,熟悉汇编语言。
操作系统:深入理解Linux内核原理,对Linux设备驱动开发有实际经验。
Android系统:熟悉Android系统架构(包括Linux内核、HAL层、框架层等),有
Android系统源代码的开发经验。
硬件交互:了解硬件协议(如SPI、I2C、UART等),熟悉传感器、摄像头、音频等
硬件模块的驱动开发。
调试工具:熟悉GDB、LLDB等调试工具,掌握性能分析工具(如Perf、Systrace
等)。
项目经验:有Android底层开发经验,能够独立完成内核模块开发、驱动调试和系统优
化。
3. 加分项
熟悉ARM架构,了解ARM指令集和SoC平台(如高通、联发科、华为麒麟等)。
有丰富的嵌入式系统开发经验,熟悉多种硬件平台。
熟悉Android系统的启动流程(如init进程、service_manager等)。
熟悉Android低功耗设计和功耗优化。
有开源项目经验(如Linux内核、Android系统贡献者优先)。
熟悉安全相关技术(如SELinux、TrustZone等)。
4. 其他要求
较强的逻辑思维能力和问题解决能力。
有良好的团队合作精神和沟通能力。
对技术有强烈的热情,能够快速学习新技术。