Skip to content

嵌入式基础小知识

记录日常遇到的问题和参考答案

嵌入式基础

Q1:什么是 volatile?什么时候用?

:volatile 告诉编译器该变量可能在程序控制之外被修改(如硬件寄存器、中断服务程序),每次访问都要从内存读取,不能做优化。

典型场景:硬件寄存器、多线程共享变量、ISR 中修改的变量。

Q2:栈和堆的区别?

  • 栈:函数局部变量、自动分配/释放、LIFO、空间小、速度快
  • 堆:malloc 申请、手动 free、随机分配、空间大、速度慢

Q3:(待补充)


RTOS 相关

Q1:任务调度有哪些方式?

:时间片轮转、优先级抢占、协作式。

Q2:(待补充)


项目相关

(根据你的项目,提前准备好「项目难点」「如何解决」的话术)