嵌入式ARM架构常考面试题总结
嵌入式春招已经陆续启动,无论是校招还是社招,ARM 架构都是嵌入式岗位的核心考察方向之一。尤其是做 Linux 驱动、底层开发、BSP、RTOS 或物联网方向的同学,ARM 基础几乎是必问内容。下面整理 20 道高频面试题,适合系统复习与八股文准备。
一、ARM 架构基础
- 简述 ARM 架构的核心特点及其与 x86 架构的主要区别。
- Cortex-A、Cortex-R、Cortex-M 三大系列的应用场景分别是什么?
- ARMv7 与 ARMv8 架构的主要区别有哪些?
- AArch32 与 AArch64 的区别是什么?
- ARM 处理器上电后的启动流程是怎样的?
二、寄存器与指令系统
- ARM 有多少个通用寄存器?PC、LR、SP 的作用分别是什么?
- CPSR 和 SPSR 的作用及区别是什么?
- ARM 支持哪些寻址方式?
- ARM、Thumb、Thumb-2 三种指令集状态有什么区别?
- ARM 的条件执行机制是如何实现的?
三、中断与异常
- ARM 支持哪些异常类型?异常向量表的结构是怎样的?
- IRQ 与 FIQ 的区别是什么?
- 中断响应的完整流程是什么?
- 什么是嵌套中断?如何实现?
- GIC 的作用及基本工作原理是什么?
四、内存与系统机制
- 什么是 MMU?其在嵌入式系统中的作用是什么?
- Cache 的工作原理是什么?如何解决 Cache 一致性问题?
- 什么是虚拟地址与物理地址?地址转换过程是怎样的?
- 什么是内存对齐?为什么需要内存对齐?
- 什么是 DMA?DMA 与 CPU 访问内存的区别是什么?
嵌入式 ARM 八股文准备方法
一、建立完整知识框架
将知识体系分为五大模块反复梳理:
- 架构原理
- 指令系统
- 异常与中断
- 内存管理与缓存
- 启动流程与系统移植
先画思维导图,再逐模块背诵与理解。
二、整理标准回答模板
每一道题建议整理为固定结构:
- 概念定义
- 原理说明
- 关键机制
- 实际应用场景
- 常见延伸问题
形成“三到五分钟完整回答版本”。
三、结合源码理解
建议结合:
- Linux 内核启动流程
- Bootloader 启动流程
- 中断注册与处理源码
- MMU 页表初始化代码
做到“能背、能讲、能画流程图”。
四、强化高频延伸问题
例如:
- 如果关闭 MMU 会发生什么?
- 为什么 FIQ 优先级更高?
- Cache 不一致会导致什么问题?
- 中断为什么不能做耗时操作?
准备“追问版本答案”。
五、面试表达训练方法
- 练习结构化表达(先总后分)
- 回答时多说“底层机制”而非表面概念
- 学会画简图(寄存器结构、异常流程、页表结构)
- 每个模块准备一个深入问题,展示深度
查看10道真题和解析