嵌入式系统工程学习路线图
Embedded-Engineering-Roadmap
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
Comprehensive roadmap for aspiring Embedded Systems Engineers, featuring a curated list of learning resources
Embedded-Engineering-Roadmap 是一个面向嵌入式系统工程师的开源学习路线图项目,旨在为初学者和在职工程师提供清晰、系统的技能成长路径。该项目以一张结构化的路线图为核心,将嵌入式工程所需的知识体系划分为三大板块:软件、硬件和软技能。软件部分涵盖C/C++编程、数据结构、操作系统、驱动开发、实时系统以及嵌入式Linux等关键内容;硬件部分则包括数字/模拟电路基础、微控制器架构、传感器接口、PCB设计等;软技能则强调问题解决、团队协作与文档撰写等工程通用能力。项目特别指出,嵌入式领域存在“嵌入式软件工程师”、“固件工程师”、“嵌入式硬件工程师”等不同岗位,用户可根据自身职业目标选择侧重方向。路线图以可视化图表形式呈现,清晰标注了各知识点的学习顺序与依赖关系,帮助用户避免盲目学习。该项目的核心价值在于解决了嵌入式学习路径模糊、资源分散的痛点——嵌入式工程横跨软硬件,入门门槛高,新手往往不知从何下手。通过这份路线图,无论是准备转行的学生,还是希望拓宽技能栈的从业者,都能获得一份可执行的参考指南。技术栈方面,项目本身以Markdown和图片形式发布,轻量易用,并托管于GitHub,支持社区贡献与持续更新。适用场景包括个人自学规划、高校嵌入式课程设计参考、企业内部培训大纲制定等。整体而言,这是一个兼具实用性与指导性的开源资源,适合所有对嵌入式系统感兴趣的学习者收藏与使用。
标签
项目特点
**结构化路线图**:将嵌入式系统工程学习内容清晰地划分为软件、硬件和软技能三大领域,便于学习者按图索骥。
**丰富的学习资源**:汇集了书籍、视频、文章、博客、在线课程和社区论坛等多种类型的优质学习资源,并标注了资源类型和内容质量。
**强调动手实践**:鼓励通过实际项目进行学习,并提供了大量适合初学者的项目链接和教程,帮助将理论知识应用于实践。
**职业发展指导**:提供了嵌入式系统领域的招聘网站和社区链接,帮助学习者了解行业趋势并规划职业道路。
**社区驱动**:项目在GitHub上开源,欢迎社区贡献,并提供了多种沟通渠道(如Discord、Telegram)供学习者交流。
技术规格
| 目标人群 | |
|---|---|
| 核心领域 | |
| 资源类型 | |
| 主要平台 | |
| 学习方式 |
项目资源
m3y54m/Embedded-Engineering-Roadmap
blog/embedded-systems-roadmap-bridging-the-gap
/randomnerdtutorials.com
/lastminuteengineers.com
stm32/projects
circuitdigest.com/stm32-projects-and-tutorials
www.electronicwings.com/projects
youtube.com/playlist?list=PLXSyc11qLa1a4Tqbz228dPZfMrs-KRpzA
designspark/raspberry-pi-based-embedded-project-ideas
embedded-linux-on-arm/elarm-projects
www.youtube.com/playlist?list=PLS_iNJJVTtiRV0DZRDcTHnvAuDrKGPN40
/esp32tutorials.com
Nicholas-L-Johnson/flip-card
embedded.jobs/jobs
www.youtube.com/@digikey
learn/introduction-embedded-systems
learn/embedded-software-hardware
learn/arm-cortex-stm32-deep-dive-mastering-embedded-systems
/fastbitlab.com
www.youtube.com/playlist?list=PLPW8O6W-1chwyTzI3BHwBLbGQoPFxPAPM
www.youtube.com/@element14presents
www.youtube.com/@BenEater
/electronics.stackexchange.com
r/embedded
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Arduino (如 Uno, Nano) | 1 | — | 入门级,用于基础项目 |
| ESP32 / ESP8266 | 1 | — | 用于Wi-Fi和蓝牙项目 |
| STM32 (如 STM32F103C8) | 1 | — | 用于更复杂的ARM Cortex-M项目 |
| Raspberry Pi | 1 | — | 用于嵌入式Linux项目 |
| 面包板、跳线、LED、电阻、电容等 | 若干 | — | 基础电子实验必备 |
| 温度、湿度、距离、运动等传感器模块 | 若干 | — | 用于感知环境 |
| 电机、舵机、继电器等 | 若干 | — | 用于控制物理世界 |
| 万用表 | 1 | — | 测量电压、电流、电阻 |
| 示波器 | 1 (可选) | — | 用于调试和分析信号 |
| 逻辑分析仪 | 1 (可选) | — | 用于调试数字通信协议 |
| 代码编辑器 (如 VS Code) | 1 | — | 编写代码 |
| 编译器/工具链 (如 GCC for ARM) | 1 | — | 编译代码 |
| 调试器 (如 OpenOCD, GDB) | 1 | — | 调试代码 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 计算机 | 编写、编译和调试代码 | ✅ 是 |
| 代码编辑器/IDE | 编写代码 (如 VS Code, Keil, IAR) | ✅ 是 |
| 编译器/工具链 | 将代码编译为机器码 | ✅ 是 |
| 调试器/编程器 | 将程序烧录到目标板并进行调试 (如 ST-Link, J-Link) | ✅ 是 |
| 万用表 | 测量电压、电流、电阻,排查硬件故障 | ✅ 是 |
| 示波器 | 观察和分析模拟/数字信号 | ▢ 推荐 |
| 逻辑分析仪 | 调试数字通信协议 (如 I2C, SPI, UART) | ▢ 推荐 |
| 焊台 | 焊接电子元件和连接线 | ✅ 是 |
| 3D打印机 | 打印外壳和结构件 (可选) | ▢ 推荐 |
能力画像
记忆与知识检索
3/5
逻辑推演
4/5
表达与交流
2/5
感知与观察
3/5
数理与计算
4/5
动手与操作
4/5
狂热与坚持
5/5
创造与创新
3/5
项目图库
所需技能
🔧 **动手能力**:需要具备焊接、使用万用表、示波器等工具进行硬件调试和搭建电路的能力。通过动手实践项目来巩固理论知识。
💻 **编程能力**:需要掌握C/C++编程语言,了解数据结构、算法、操作系统、计算机网络等计算机科学基础知识。熟悉嵌入式Linux开发环境。
⚡ **电子电路**:需要理解数字电路和模拟电路的基本原理,包括逻辑门、触发器、运算放大器、电源管理等。能够阅读和理解电路原理图和数据手册。
适用场景
**职业转型**:适合希望从其他领域(如纯软件或纯硬件)转向嵌入式系统工程职业的个人。
**系统学习**:适合希望系统性地学习嵌入式系统知识,从基础到进阶的初学者。
**技能提升**:适合已经从事嵌入式开发工作,但希望扩展技能树、了解最新技术和最佳实践的工程师。
**教学参考**:适合作为高校或培训机构开设嵌入式系统课程的参考大纲和资源列表。
**项目规划**:适合在开始一个嵌入式项目前,用于评估所需技能和知识,并规划学习路径。