岗位职责:
1. 负责IoT设备(如智能音箱、智能屏、车载终端、机器人、智能摄像头等)的Bootloader开发、调试与优化,包括U-Boot、LK、SBL/XBL等,实现启动流程定制、Fastboot支持、固件下载烧录、分区管理等核心功能。
2. 承担Linux/Android内核的移植、裁剪与驱动架构设计,参与芯片平台bring-up,确保系统在嵌入式SoC上稳定启动与运行;同时开发和维护板级支撑包(BSP),为存储(eMMC/UFS/NAND)、USB、MIPI显示与摄像头、以太网、Wi-Fi/BT、电源管理、各类总线等外设提供内核驱动支持。
3. 深度参与系统启动时间优化,通过启动流程裁剪、并行初始化、驱动加载优化等手段达到产品级开机速度指标;设计并维护系统固件升级方案,包括A/B分区无缝升级、Recovery模式定制、差分包制作、掉电保护等,配合云端完成OTA流程的底层支撑。
4. 实现与调试安全启动链(Secure Boot)、Android Verified Boot、dm-verity、TrustZone/TEE集成等安全机制,保障系统完整性;与硬件团队紧密协作,进行板级调试与信号测量,解决启动异常、死机、panic、电源波动、外设不识别等疑难问题。
5. 开发底层诊断工具与工厂产测程序,支持产线裸板测试、自动化校准与器件验证;编写和归档内核、Bootloader相关的技术文档,包括启动流程图、驱动接口说明、移植指南等。
岗位要求:
1. 本科及以上学历,计算机、电子工程、通信、自动化等相关专业,3年以上嵌入式系统底层或Linux内核开发经验。
2. 精通C/C++,熟悉GNU汇编或ARM汇编,具备良好的Python/Shell脚本编写能力;深入理解ARM体系结构(Cortex-A/Cortex-M/ARMv7/ARMv8),熟悉MMU、Cache、异常处理、中断控制器(GIC)等核心概念。
3. 扎实的嵌入式Linux/RTOS移植与BSP开发经验,熟悉Bootrom到OS启动的完整流程,有U-Boot、LK或高通SBL/XBL等Bootloader的实际开发与定制经验;熟悉Linux内核核心子系统(进程调度、内存管理、设备驱动模型、设备树、中断框架、时钟与电源管理等),具备复杂驱动的架构设计能力。
4. 掌握常见硬件接口协议与调试方法:I2C、SPI、UART、GPIO、MIPI DSI/CSI、USB 2.0/3.0、SDIO、PCIe等,能阅读电路原理图,熟练使用示波器、逻辑分析仪进行底层分析;了解Android系统启动流程(从Bootloader到init、Zygote再到Home界面)和AOSP构建系统,理解Android HAL层与内核驱动的交互关系。