硬件基础与调试能力:数字电路、模拟电路、时钟与复位、功耗管理、PCB设计与信号完整性;熟练使用示波器、逻辑分析仪等调试工具。
微控制器/处理器架构:熟悉 ARM Cortex-M/M系列、RISC-V、ESP32 等架构,了解时钟树、低功耗模式、上电/复位序列、寄存器映射与中断机制。
嵌入式C/C++编程与底层开发:裸机与RTOS环境下的驱动编写、内存布局、指针与位操作、DMA、缓存与对齐、中断服务与上下文切换。
实时操作系统(RTOS):如 FreeRTOS、Zephyr、RT-Thread 等的任务调度、互斥/信号量、消息队列、时间/定时器、内存分配策略。
外设接口与通信协议:GPIO/UART/SPI/I2C/CAN/USB/Ethernet 等基本接口,ADC/DAC、PWM、DMA 的使用及相关协议栈的实现与调试。
驱动层与 BSP/HAL 架构:设备驱动设计、板级支持包组织、设备树/寄存器封装、可移植性与可测试性。
构建与工程化工具:GCC/LLVM、Make、CMake、交叉编译、版本管理(Git)、单元/集成测试、静态/动态分析、CI/CD。
引导加载与固件更新:Bootloader、OTA固件升级、DFU 等更新机制的实现与安全性考虑。
安全与可靠性设计:看门狗、异常处理、边界检查、容错设计、鲁棒性与故障诊断能力。
软技能与协作:需求分析、文档编写、代码评审、跨团队沟通、现场调试与问题定位方法论。
项目名称:行车记录仪固件开发与系统集成(DashCam Firmware & System Integration)
角色:嵌入式开发工程师
技术栈与系统架构
SoC/平台:ARM Cortex-A系列/ARM Cortex-M,Linux(Yocto / OpenWrt 风格的定制系统)与裸机混合开发
引导与系统:U-Boot 引导、Linux 内核(4.x/5.x)、根文件系统分区、双区 OTA 更新
视频与编解码:CSI 摄像头接口,V4L2 驱动,H.264/H.265 编码,视频分辨率常见为 1080p@30fps,循环录像
存储与文件系统:microSD/eMMC,EXT4,日志轮换与数据分区保护
外设与通信:G-sensor/CAN 总线、GPS、UART、I2C、SPI、USB 摄像头/存储
电源与热管理:12V 市电输入 -> 5V/3.3V 嵌入式电源,待机低功耗模式,睡眠/唤醒策略
安全与更新:数字签名的固件校验、双分区 OTA、断点续传、回滚能力
测试与工具:JTAG 调试、GDB、Python/Shell 自动化测试脚本、CI/CD(Git + 自动测试)
主要职责与贡献
设计并实现视频捕获、编码与存储的端到端管线:实现稳定的循环录像、事件触发录像(如碰撞/急刹)与时间戳对齐,确保关键时段数据不被覆盖。
引导加载与 OTA 升级:实现双分区分区布局、断点续传和升级回滚,提升固件更新的可靠性和可追溯性。
传感器与外设集成:完成摄像头传感器、G-sensor、GPS、CAN 的驱动与接口抽象,提升新机型移植的效率。
电源与功耗优化:实现低功耗模式切换、睡眠唤醒策略和热设计优化,确保在高温/低温环境下稳定工作。
文件系统与数据可靠性:实现日志轮换、故障时的数据保护策略,以及简单的离线诊断工具,提升运维效率。
测试与验证框架搭建:建立功能、鲁棒性、功耗与断电测试用例,覆盖正常工作和异常场景,确保量产前的高可靠性。