ESC
输入关键词搜索文章标题和内容

嵌入式开发入门路线:五大方向+24个GitHub高星仓库带你零基础上手

本文由 linuxROS 整理发布,首发于 linuxros.cn,转载请注明出处。

嵌入式开发入门路线:五大方向+24个GitHub高星仓库带你零基础上手

导读

零基础入门嵌入式开发,先搞清楚五大方向都在干什么:

MCU全栈(裸机→RTOS→IoT上云) | Linux驱动 | Linux应用 | 汽车电子 | 嵌入式AI/边缘AI

RTOS和物联网本质上都跑在MCU上,是从裸机往上叠加的两个台阶,本文合并为MCU全栈一条线贯通。汽车电子是招聘市场薪资Top2、需求量Top3的大方向——新能源渗透率超50%后,CAN总线+AUTOSAR+功能安全已成刚需。每个方向配GitHub高星仓库按学习顺序排列,外加分层实战项目。


一、嵌入式开发岗位全景图

flowchart TB classDef primary fill:#E3F2FD,stroke:#1565C0,stroke-width:2px classDef secondary fill:#F3E5F5,stroke:#7B1FA2,stroke-width:1px A["嵌入式开发"]:::primary A --> B["MCU全栈<br/>裸机→RTOS→IoT"]:::secondary A --> C["Linux驱动<br/>内核模块·设备树"]:::secondary A --> D["Linux应用<br/>系统构建·应用开发"]:::secondary A --> E["汽车电子<br/>CAN·AUTOSAR·功能安全"]:::secondary A --> F["嵌入式AI<br/>边缘推理·模型部署"]:::secondary B --> B1["MCU固件工程师"] B --> B2["RTOS开发工程师"] B --> B3["物联网嵌入式工程师"] C --> C1["Linux驱动工程师"] C --> C2["BSP工程师"] D --> D1["Linux系统工程师"] D --> D2["嵌入式应用工程师"] E --> E1["AUTOSAR工程师"] E --> E2["BMS嵌入式工程师"] E --> E3["车载通信工程师"] F --> F1["AI部署工程师"] F --> F2["边缘计算工程师"]

二、入门门槛:¥50块就能起步

flowchart LR A["C语言基础<br/>指针·结构体·位操作"] --> B["买块STM32<br/>点亮LED"] B --> C["学会看原理图<br/>I2C/SPI接线"] C --> D["GitHub找项目<br/>clone下来跑通"] D --> E["做自己的小项目"]
技能 最低要求 学习方式
编程 C语言:指针、结构体、位操作 网上找C语言教程,配合Keil/VS Code边写边调
硬件 会看原理图、知道I2C/SPI怎么接线 淘宝¥20买块STM32F103核心板,跟着例程跑
工具 Keil MDK / VS Code + PlatformIO 二选一,推荐VS Code免费方案
Git clone/pull/push 基本操作 花半天学Git基础,剩下的边用边查

小贴士:别先啃理论再动手。拿到板子先点亮LED,串口打印"Hello World",成就感有了再回头学寄存器原理。

入门硬件采购清单(¥50内搞定)

物品 价格 用途
STM32F103C8T6最小系统板 ¥20 MCU/CAN总线入门
ESP32-C3开发板 ¥15 IoT/WiFi方向扩展
ST-Link V2调试器 ¥10 下载+调试
杜邦线+面包板 ¥5 接线实验

三、各方向学习路线详解

1. MCU全栈方向:裸机→RTOS→IoT上云

RTOS和物联网本质上都在MCU上跑,是从裸机往上叠加的两个台阶。这条路线从寄存器操作开始,到多任务调度,再到MQTT上云,一条线贯通。

flowchart TB classDef l1 fill:#E3F2FD,stroke:#1976D2 classDef l2 fill:#FFF8E1,stroke:#F57C00 classDef l3 fill:#E8F5E9,stroke:#388E3C subgraph 阶段一["阶段一:MCU裸机(3个月)"] direction LR A1["GPIO点亮LED"]:::l1 --> A2["UART串口通信"]:::l1 A2 --> A3["I2C/SPI驱动传感器"]:::l1 A3 --> A4["Timer/PWM/ADC/DMA"]:::l1 end subgraph 阶段二["阶段二:RTOS(2-3个月)"] direction LR B1["FreeRTOS任务创建<br/>+调度器源码"]:::l2 --> B2["IPC通信<br/>队列·信号量·互斥量"]:::l2 B2 --> B3["RT-Thread项目<br/>文件系统+网络栈"]:::l2 end subgraph 阶段三["阶段三:IoT上云(2-3个月)"] direction LR C1["ESP32 WiFi+BLE"]:::l3 --> C2["MQTT协议<br/>发布/订阅"]:::l3 C2 --> C3["数据上云+OTA<br/>Home Assistant集成"]:::l3 end 阶段一 --> 阶段二 --> 阶段三

高星仓库学习清单(按顺序):

顺序 仓库 Stars 学什么 对应阶段
第1步 libopencm3/libopencm3 ~2.5k 从寄存器理解GPIO/UART怎么工作 裸机
第2步 FreeRTOS/FreeRTOS ~5.5k 调度器源码,就几个C文件,两周啃完 RTOS
第3步 RT-Thread/rt-thread ~10k 450+软件包,做一个完整Demo RTOS
第4步 espressif/esp-idf ~13k ESP32官方SDK,组件化实战 IoT
第5步 esphome/esphome ~10k YAML配置→自动编译固件 IoT
第6步 home-assistant/core ~83k 2500+设备集成,全球最大IoT生态 IoT平台

2. Linux驱动方向:从内核模块到设备树

flowchart LR classDef s1 fill:#E3F2FD,stroke:#1976D2 classDef s2 fill:#FFF8E1,stroke:#F57C00 classDef s3 fill:#F3E5F5,stroke:#7B1FA2 classDef s4 fill:#E8F5E9,stroke:#388E3C A["Linux命令行+Shell"]:::s1 --> B["C语言进阶<br/>链表·并发·内存模型"]:::s1 B --> C["第一个内核模块<br/>printk调试"]:::s2 C --> D["字符设备驱动<br/>open/read/write"]:::s3 D --> E["设备树+platform驱动"]:::s3 E --> F["中断+DMA实战"]:::s4

高星仓库学习清单(按顺序):

顺序 仓库 Stars 学什么
第1步 0xAX/linux-insides ~29k 建立内核全局观,从启动到内存管理全覆盖
第2步 sysprog21/lkmpg ~7k 跟着写第一个字符设备驱动
第3步 cirosantilli/linux-kernel-module-cheat ~4k QEMU+Buildroot一键搭环境
第4步 raspberrypi/linux ~11k 树莓派内核源码,真实设备树参考

重要提醒:Linux驱动是五个方向中门槛最高的。建议先花3-6个月把MCU方向的基础打牢再转。内核版本迭代快,调试手段有限,一个问题卡三天是常事。


3. Linux应用方向:从系统构建到应用开发

flowchart LR classDef s1 fill:#E3F2FD,stroke:#1976D2 classDef s2 fill:#FFF8E1,stroke:#F57C00 classDef s3 fill:#F3E5F5,stroke:#7B1FA2 classDef s4 fill:#E8F5E9,stroke:#388E3C A["Linux基础<br/>进程·内存·文件系统"]:::s1 --> B["Buildroot入门<br/>menuconfig构建"]:::s1 B --> C["U-Boot+内核裁剪"]:::s2 C --> D["根文件系统定制<br/>busybox"]:::s3 D --> E["应用开发<br/>C++/Python/Shell"]:::s4

高星仓库学习清单(按顺序):

顺序 仓库 Stars 学什么
第1步 buildroot/buildroot ~2.5k 30分钟构建一个最小嵌入式Linux
第2步 openwrt/openwrt ~11k 路由器固件标准框架,网络设备首选
第3步 yoctoproject/poky ~1.8k 大厂BSP标准框架

和Linux驱动的区别:驱动偏内核态(写内核模块、调设备树),应用偏用户态(构建系统、裁剪、写应用程序)。驱动看内核源码,应用看Buildroot/Yocto。两者有交集但不重叠。


4. 汽车电子方向:CAN总线+AUTOSAR+功能安全

新能源汽车渗透率超50%后,汽车电子嵌入式岗位爆发式增长。从BMS电池管理到域控制器、从CAN总线到AUTOSAR架构,薪资(25-50K/月)和嵌入式AI持平,需求量仅次于MCU全栈。

flowchart LR classDef s1 fill:#E3F2FD,stroke:#1976D2 classDef s2 fill:#FFF8E1,stroke:#F57C00 classDef s3 fill:#F3E5F5,stroke:#7B1FA2 classDef s4 fill:#E8F5E9,stroke:#388E3C classDef s5 fill:#FFEBEE,stroke:#D32F2F A["MCU基础<br/>C语言+STM32外设"]:::s1 --> B["CAN总线通信<br/>CAN 2.0/CAN FD"]:::s1 B --> C["CANopen协议栈<br/>对象字典·PDO/SDO"]:::s2 C --> D["AUTOSAR CP入门<br/>MCAL·BSW·RTE"]:::s3 D --> E["UDS诊断+BOOTLOADER<br/>ISO 14229"]:::s4 E --> F["功能安全 ISO 26262<br/>ASIL等级·FMEA"]:::s5

核心技能:

层级 技能点 代表芯片 典型岗位
车载通信 CAN/CAN FD/LIN/FlexRay、CANopen/J1939 NXP S32K、Infineon AURIX 车载通信工程师
AUTOSAR CP MCAL配置、BSW组件、RTE生成、SWC开发 NXP S32K、TI TMS570 AUTOSAR工程师
BMS SOC/SOH算法、AFE驱动、均衡策略 S32K、RH850 BMS嵌入式工程师
功能安全 ISO 26262、ASIL分解、FMEA/FTA AURIX TC3xx 功能安全工程师

高星仓库学习清单(按顺序):

顺序 仓库 Stars 学什么
第1步 CANopenNode/CANopenNode ~1.5k 免费开源CANopen协议栈,Apache 2.0协议,STM32/Zephyr/Linux全支持
第2步 zephyrproject-rtos/zephyr ~13.5k 内置CAN/CANopen子系统,750+板卡支持
第3步 cogu/autosar ~1k Python AUTOSAR工具,生成ARXML文件,解析AUTOSAR配置
第4步 TrampolineRTOS/trampoline ~0.5k OSEK/VDX标准RTOS,AUTOSAR OS参考实现
第5步 ros-industrial/ros2_canopen ~0.5k ROS2+CANopen集成,机器人+车载通信

学习建议:汽车电子是MCU进阶方向——先走完MCU裸机阶段(GPIO/UART/SPI/I2C),然后切入CAN总线+CANopenNode实战。AUTOSAR门槛高(工具链贵、学习曲线陡),建议先用cogu/autosar Python工具理解ARXML配置,再用Zephyr的内置CAN子系统做项目。功能安全(ISO 26262)是加分项而非入门必修。

招聘市场数据(来自猎聘/职友集,截至2026.06):

来自 linuxros.cn · linuxROS
岗位 薪资(3-5年/一线) 典型JD关键词
AUTOSAR工程师 25-40K AUTOSAR CP、MCAL、BSW、CANoe、Davinci
BMS嵌入式工程师 20-40K·15薪 SOC/SOH、AFE、CAN、ISO 26262
车载通信工程师 20-35K CAN FD、CANopen/J1939、UDS、Bootloader

5. 嵌入式AI/边缘AI方向:从PyTorch训练到MCU推理

flowchart LR classDef s1 fill:#E3F2FD,stroke:#1976D2 classDef s2 fill:#FFF8E1,stroke:#F57C00 classDef s3 fill:#F3E5F5,stroke:#7B1FA2 classDef s4 fill:#E8F5E9,stroke:#388E3C A["嵌入式基础<br/>MCU或Linux"]:::s1 --> B["PyTorch入门<br/>训练分类模型"]:::s1 B --> C["TinyML初探<br/>tflite-micro跑通"]:::s2 C --> D["模型量化 INT8<br/>体积缩小4倍"]:::s3 D --> E["NCNN部署 ARM Linux"]:::s4 E --> F["NPU适配+算子优化"]:::s4

高星仓库学习清单(按顺序):

顺序 仓库 Stars 学什么
第1步 tinyml-book/resources ~2.5k TinyML入门,配套Arduino实战
第2步 tensorflow/tflite-micro ~2.2k 在STM32上跑通第一个AI模型
第3步 Tencent/ncnn ~19k ARM Linux端推理,无第三方依赖
第4步 apache/tvm ~11k 编译式方案,模型→C代码→MCU裸机

为什么推荐这个方向? 大模型+边缘计算是当前最热风口。真正既懂嵌入式又懂AI的人才极少,有MCU或Linux基础再转AI是正确路径。2026年新冒出的"具身智能嵌入式"方向(Jetson+ROS2+VLA模型)也是AI方向的延伸。


四、实战项目推荐

项目 难度 技术栈 配套仓库 适用方向
STM32温湿度+OLED显示 ⭐ STM32 + DHT22 + I2C OLED libopencm3/libopencm3 MCU裸机
FreeRTOS多任务控制器 ⭐ FreeRTOS + 3个任务 + 消息队列 FreeRTOS/FreeRTOS MCU-RTOS
ESP32智能插座(MQTT+小程序) ⭐⭐ ESP32 + MQTT + 继电器 espressif/esp-idf + emqx/emqx MCU-IoT
CAN总线双机通信 ⭐⭐ STM32F103 + CAN收发器 + CANopenNode CANopenNode/CANopenNode 汽车电子
Buildroot最小Linux系统 ⭐⭐ Buildroot + U-Boot + busybox buildroot/buildroot Linux应用
Linux字符设备驱动 ⭐⭐ QEMU + 内核模块 + 设备树 sysprog21/lkmpg Linux驱动
BMS电池数据采集系统 ⭐⭐⭐ STM32F4 + AFE芯片 + CAN + UDS CANopenNode + cogu/autosar 汽车电子
RT-Thread智能家居网关 ⭐⭐⭐ RT-Thread + WiFi + MQTT + OLED RT-Thread/rt-thread MCU全栈
RK3568边缘AI盒子 ⭐⭐⭐ RK3568 + NCNN + YOLO + RTSP Tencent/ncnn 嵌入式AI

五、学习路线总结

flowchart TB A(["开始:学C语言+¥50买开发板"]) --> B{"你对什么最感兴趣?"} B -->|"想让硬件动起来<br/>裸机→RTOS→上云"| C["MCU全栈<br/>libopencm3→FreeRTOS→esp-idf"] B -->|"想深入内核<br/>写驱动"| D["Linux驱动<br/>linux-insides→lkmpg"] B -->|"想做系统<br/>Buildroot+应用开发"| E["Linux应用<br/>buildroot→OpenWrt"] B -->|"想搞新能源汽车<br/>CAN+AUTOSAR"| F["汽车电子<br/>CANopenNode→Zephyr"] B -->|"追AI+嵌入式<br/>边缘部署"| G["嵌入式AI<br/>tflite-micro→ncnn"] C --> H["做项目"] D --> H E --> H F --> H G --> H H --> I(["GitHub建仓库<br/>积累作品集"]) I --> J(["投简历/接外包"])

核心要点:

  1. MCU全栈是最大方向:RTOS和IoT都是MCU往上叠加的技能层,先裸机打底再逐层上
  2. 汽车电子是隐藏高薪方向:新能源渗透率50%+,CAN+AUTOSAR+功能安全成刚需,薪资25-50K
  3. Linux驱动 vs Linux应用:驱动偏内核态,应用偏用户态,选一个深耕
  4. 嵌入式AI门槛最高:必须先有MCU或Linux基础,再补AI
  5. ¥50块就能起步:先点亮LED再学理论,做完项目推到GitHub

六、常见问题

Q1:RTOS和IoT为什么不算独立方向?

因为RTOS就是MCU上的一层调度软件,IoT是MCU上的联网能力。合并为MCU全栈一条线更合理——先裸机打底,再上RTOS做多任务,最后联网上云。

Q2:汽车电子要不要学AUTOSAR?要学多久?

入门阶段不用。先学会CAN总线+CANopenNode(1-2个月),做出双机CAN通信项目。AUTOSAR是大厂量产项目的标配,但工具链贵(Davinci/EB tresos动辄几十万),个人学用cogu/autosar Python工具理解配置流程即可。真正上手AUTOSAR一般要入职后公司提供工具和培训。

Q3:汽车电子和MCU全栈有什么区别?

汽车电子是MCU全栈的一个垂直分支。区别在于:MCU全栈用I2C/SPI/WiFi,汽车电子用CAN/LIN;MCU全栈上MQTT云,汽车电子走UDS诊断;MCU全栈没有强制安全标准,汽车电子有ISO 26262。建议先走完MCU裸机阶段,再转CAN总线方向。

Q4:Linux驱动和Linux应用怎么选?

驱动偏内核态(写模块、调设备树、跟硬件工程师对时序),薪资更高但门槛更高。应用偏用户态(系统构建、裁剪、写应用),面更广。共同基础是Linux命令行和C语言,选一个深耕。

Q5:嵌入式AI值得冲吗?

值得,但有前提——先有嵌入式基础,再补AI。纯AI背景做不了嵌入式部署——模型量化后精度掉多少、内存怎么分、算子不支持怎么办,这些坑全在嵌入式侧。路线:嵌入式方向干1年→学PyTorch→跑通TFLite Micro→部署NCNN。

Q6:应该先学RT-Thread还是FreeRTOS?

先FreeRTOS后RT-Thread。FreeRTOS内核就几个C文件,两周啃完调度器源码。RT-Thread生态更全(450+软件包),适合做项目。中文团队选RT-Thread,社区体验远好于FreeRTOS。

版权声明

作者linuxROS
协议本作品采用 CC BY-NC-SA 4.0 许可协议:署名-非商业性使用-相同方式共享
关注欢迎关注微信公众号 linuxROS,获取更多机器人 / 嵌入式 / Linux 干货
返回首页