嵌入式学习路线

前言:以下是我和工作室的舒学姐总结的嵌入式学习路线,希望对大家有所帮助。欢迎大家补充和指正


软件工程嵌入式方向学习总结

一、嵌入式开发:给万物“赋魂”

你可以把嵌入式开发想象成一个“赋魂”的过程。我们身边有无数普通的机器和设备,嵌入式工程师的工作,就是为这些冰冷的机器设计和植入一个“大脑”和“神经”系统,让它们变得“聪明”起来,能够感知环境、独立思考并执行命令。

二、一个生动的比喻:智能机器人的“体内世界”

想象一下,我们要造一个能自己打扫房间的扫地机器人。它的“身体”是轮子、刷子和外壳。而它的“生命”——也就是嵌入式系统——则由以下几部分构成:

1. 硬件层 - 机器人的“身体和感官”

这是嵌入式系统的物质基础,就像机器人的骨骼、五官和神经末梢。

  • 主控制器:相当于机器人的大脑。但这是一种“专注”、“高效”的大脑(通常是微控制器MCU,如STM32系列),专门为特定任务而生,不像我们用的电脑CPU那样“啥都干”。
  • 传感器:相当于机器人的眼睛、耳朵和皮肤。比如:
    • 红外传感器/超声波传感器 -> 用来“看”路,防止撞墙。
    • 灰尘传感器 -> 用来“感觉”地面是否干净。
  • 执行器:相当于机器人的手脚。比如:
    • 电机和轮子 -> 负责移动。
    • 抽气风扇 -> 负责吸尘。

2. 软件层 - 机器人的“思想和本能”

这是嵌入式系统的灵魂,决定了这个“身体”如何思考和行动。

  • 嵌入式操作系统:一个精简、高效的管理员。它负责管理大脑的“思维”资源,比如先处理“避障”任务,再处理“吸尘”任务。常见的如FreeRTOS,它是一个非常轻量级的任务调度器。
  • 应用软件/驱动程序:这是你写的核心代码,是机器人的“技能和本能”。
    • 驱动程序:你写的代码告诉大脑如何控制轮子转动、如何读取传感器的数据。(直接和硬件打交道)
    • 应用逻辑:你写的算法,比如“如果传感器发现前方有障碍,就立刻让轮子转向”。(处理数据,做出决策)

三、这个方向主要学什么?

  1. C语言是母语:这是和硬件沟通最直接、最高效的语言,必须非常精通。
  2. 玩转硬件基础:要懂数字电路和模拟电路,知道电阻、电容、晶体管是怎么工作的,能看懂芯片的数据手册。
  3. 理解计算机结构:学习计算机组成原理和体系结构,明白CPU、内存、总线是如何协同工作的。
  4. 拥抱微控制器:深入学习一种主流的微控制器(如STM32或ESP32),学会如何配置它的各种功能(GPIO、定时器、串口、ADC等)。
  5. 掌握实时操作系统:学习像FreeRTOS这样的系统,理解多任务、消息队列、信号量等概念,让你的程序能“一心多用”。
  6. 软硬结合,动手实践:最重要的环节!买一块开发板,亲手焊接电路,点亮第一个LED灯,驱动一个电机,完成一个属于自己的小项目(比如智能小车、天气站)。

四、未来的职业方向

毕业后,你可以成为:

  • 嵌入式软件开发工程师
  • 嵌入式硬件开发工程师
  • 固件工程师
  • 物联网开发工程师

你会在各行各业大展身手:智能家居、汽车电子、无人机、工业自动化、医疗仪器、航空航天等等。

五、总结一下

软件工程(嵌入式方向)= 软件编程的思维 + 硬件电子的动手能力。

它不是一个纯虚拟的编程世界,而是一个能让你写的每一行代码,都直接在物理世界中产生效果的非常有成就感的领域。


嵌入式的学习资源还是太少了,我下面再补充一些学习资源吧,虽然我不是嵌入式开发的,但我也了解一点并且search到了一些比较好的资源,分享给大家~

六、嵌入式学习资源推荐

1、书籍教材(虽然但是,建议想清楚再决定,不要买了就不看了,或者直接看视频,看技术文档,电子版的)

学习阶段 推荐书籍 推荐理由
入门基础 《C Primer Plus》 嵌入式开发的“圣经”,讲解细致,实例丰富,能帮你彻底吃透C语言的指针、内存管理等核心知识点。 (C语言建议直接看哔哩哔哩的视频)
入门基础 《嵌入式系统 - 塑造世界》 以实际硬件平台为依托,通过实验案例讲解I/O接口、中断处理等基础概念,特别适合零基础理解嵌入式系统的核心逻辑。
硬件基础 《数字电子技术基础》(阎石 著) 电子类专业经典教材,清晰讲解逻辑门、时序电路等内容,帮你看懂硬件电路原理,为读懂芯片手册打下基础。
进阶提升 《ARM Cortex-M3与Cortex-M4权威指南》 深入讲解主流ARM内核的架构和编程模型,是学习STM32等热门微控制器的核心参考资料。
进阶提升 《FreeRTOS参考手册》(官方文档) FreeRTOS官方核心资料,详细介绍任务调度、信号量、消息队列等关键功能,搭配实例可快速上手实时操作系统开发。
实战精通 《嵌入式Linux开发实战》 聚焦嵌入式Linux的系统构建与驱动开发,适合想向Linux嵌入式方向进阶的学习者,内容贴合工业级开发需求。

2、开源项目与实战平台

  • 0voice/embedded_software_learn (GitHub)

  • 如果访问GitHub速度慢,可以访问GitCode这个
    非常适合初学者的开源仓库,将学习路径拆分为C语言基础、驱动开发、RTOS、嵌入式Linux等9个模块,每个模块都有中文文档和示例代码,还包含面试题总结,适配电赛、毕设和求职等多种场景。

  • Awesome-Embedded (GitCode)
    汇总了嵌入式开发的经典资源,涵盖书籍、工具和项目案例,可通过该仓库快速找到不同阶段的学习素材。

  • 普中科技51单片机开发板
    入门硬件的高性价比选择,配套教程和例程丰富,能完成点亮LED、串口通信等基础实验,帮助新手建立硬件操作的直观认知。

  • STM32F103开发板
    嵌入式进阶的主流硬件,网上有大量HAL库教程和实战项目(如智能小车、环境监测站),适配从裸机开发到RTOS移植的全流程学习。

3、在线课程与社区

  • STM32开发指南 —— 面向IoT领域(这个也不错)

  • bilibili上找嵌入式相关的视频
    有许多专业的嵌入式开发视频,讲解原理、实操项目,适合系统学习和项目实践。

  • CSDN 嵌入式板块(不过有一说一,csdn现在不怎么样了,和GitHub比起来格局小了)
    有大量开发者分享的实战笔记、问题排查经验,比如驱动调试、开发板踩坑等内容,遇到硬件或代码问题时可快速检索解决方案。

  • 知乎 嵌入式话题圈
    能获取行业动态和职业规划建议,还有资深工程师分享的学习路径,适合了解嵌入式在智能家居、汽车电子等领域的实际应用场景。

End

以下是你们舒学姐提供的图片

1 2 3

嵌入式学习路线
https://www.furinaluna.top/posts/3643abdf.html
作者
Furina
发布于
2025年11月24日
更新于
2026年9月11日
许可协议
BY FURINA