嵌入式八股文核心考点(值得收藏)

一、C语言基础与高级特性

  1. 指针与数组指针与数组的关系、指针运算、数组名的本质。指针与函数、结构体、回调的结合使用。指针数组、数组指针、函数指针数组等易混淆概念。
  2. 内存管理堆与栈的区别。malloc、free、realloc 的使用及常见错误。内存对齐与结构体填充。
  3. 数据类型与运算sizeof 与 strlen 的区别。整型提升、位运算、移位运算。宏定义、枚举和 const 的使用场景。
  4. 字符串处理字符串拷贝、拼接、比较、查找。常见函数如 strcpy、strncpy、memcpy、memcmp 的区别。字符串数组和指针数组的差异。

二、嵌入式系统基础

  1. 微控制器原理常见单片机的体系结构(如 ARM Cortex-M 系列)。中断与异常处理,优先级管理。时钟系统、复位机制、低功耗模式。
  2. 外设接口GPIO、UART、SPI、I2C 的原理和驱动方式。ADC、DAC 的使用及校准。常用传感器和模块接口方法。
  3. 寄存器操作位带操作与寄存器映射。控制寄存器的读写技巧。寄存器初始化和状态检查。

三、实时操作系统(RTOS)

  1. 任务管理任务创建、删除、挂起与唤醒。任务优先级及调度策略(抢占式与非抢占式)。栈管理与任务间通信。
  2. 同步与通信信号量、互斥锁、事件组的应用。消息队列和缓冲区管理。避免死锁与优先级反转问题。
  3. 定时器与延时软件定时器、硬件定时器的区别。周期性任务与一次性任务的实现方法。

四、嵌入式Linux基础

  1. 内核与驱动Linux 内核模块开发基础。字符设备与块设备驱动。驱动中的 open、read、write、ioctl 用法。
  2. 文件系统与IO常用文件操作函数及权限管理。GPIO、SPI、I2C 的 Linux 驱动接口。/proc、/sys 文件系统与调试。
  3. 进程与线程进程调度与线程调度。线程同步机制(互斥锁、条件变量)。信号处理与定时器。

五、通信协议

  1. 串口通信UART 数据帧、波特率、校验位设置。异步通信与同步通信区别。
  2. 网络通信TCP/UDP 基础,Socket 编程。Ntrip、MQTT 等嵌入式常用协议。数据完整性校验和加密方法。

六、算法与数据结构

  1. 链表与队列单链表、双链表、循环链表。队列、循环队列、优先队列实现。
  2. 排序与搜索常见排序算法(快速排序、归并排序)。二分查找、哈希表应用。
  3. 位操作技巧位掩码、位域、快速判断奇偶或交换数值。低功耗优化的位运算。

七、项目经验与综合能力

  1. 硬件驱动能够独立完成外设驱动。熟悉中断处理及定时控制。
  2. 项目调试串口打印、逻辑分析仪使用。gdb、JTAG 调试技能。
  3. 文档与规范代码可读性、注释规范。配置管理、Makefile 或 CMake 熟悉度。

全网最全面的嵌入式八股文专栏:https://www.nowcoder.com/creation/manager/columnDetail/mPZ4kk

全部评论

相关推荐

评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务