经纬恒润嵌入式单片机二面面经
基础提问
- Bootloader系统上电后,Bootloader 的执行流程是怎样的?Bootloader 如何完成应用程序跳转?需要注意哪些寄存器?如果OTA过程中掉电,Bootloader 应该如何保证系统还能正常启动?
- ARM架构ARM 处理器有哪些工作模式?常用模式的区别?ARM 的异常向量表是如何组织的?ARM 中断处理流程是怎样的?Cortex-M 的 NVIC 有哪些特点?
- OTA升级OTA 的整体流程是怎样的?如何设计 A/B 分区机制以保证升级安全性?OTA 升级中如何保证固件数据的完整性与安全性?
- PID控制PID 的基本原理是什么?在嵌入式项目中,PID 的采样周期应该如何选择?如果控制系统出现震荡,你会如何调整 PID 参数?
- Modbus协议Modbus RTU 的帧结构是怎样的?如何在单片机上实现 Modbus 主机和从机通信?如果有多个从机同时挂载在 RS485 总线上,如何保证通信可靠性?
- RTOSRTOS 的任务调度机制是怎样的?如何使用信号量解决任务之间的同步问题?如果一个高优先级任务一直占用 CPU,低优先级任务得不到运行机会,该如何解决?
总结感受
- 基础考察很扎实:Bootloader、ARM 架构、RTOS 这些问题都很偏底层,要求你不仅会用,还要理解原理。
- 追问深入:比如问到 OTA,不仅问流程,还会追问掉电保护、校验机制等细节;问到 PID,不是只要会写公式,还要理解如何在实际项目里调参。
- 项目考察更重底层实现:面试官会通过 Modbus、PID、RTOS 这些结合项目的提问,判断你是否真正理解机制,而不是只会调用库函数。
整体来说,这次二面更像是对底层功底和项目经验的“深挖”,对理解原理和动手实现能力要求都很高。