跳到正文
XiaoGao 的个人博客

NO.24 · 嵌入式开发

嵌入式学习路线图:9 个仓库串成一条从电路到系统的主线

一个不存放课程文件的索引仓库——把分散在 9 个独立仓库中的嵌入式笔记按「语言 → 硬件 → 系统」三阶段串联,给出可执行的阅读路径与统一的仓库约定。

发布 DATE
字数 WORDS
906
阅读 READ
2 分钟

九门课、九个仓库,如果只是平铺在 GitHub 首页,它们就只是一堆孤立的资料。这个索引仓库做了一件事:给它们排一个顺序,让「先学什么、后学什么、为什么是这个顺序」有一个明确的答案。

它是什么

这是一个索引仓库,不存放课程文件本身。它把分散在 9 个独立仓库中的嵌入式课程笔记,按一条从语言基础到系统开发的主线串联起来,形成一条可执行的阅读路径。每个仓库只负责一个明确的知识域,可以单独克隆、单独阅读,也可以按编号顺序推进。

目标写得很清楚:读得懂数据手册、点亮一颗芯片、交付一版固件。

三个阶段,九门课

1
2
3
4
5
6
基础 ──> 硬件 ──> 系统

01 C 语言 03 模拟电路 06 STM32 单片机
02 数据结构与算法 04 数字电路与组成 07 FreeRTOS
05 原理图与 PCB 08 Linux 与 Shell
09 Linux 应用层
编号 仓库 内容
01 c-systems-programming-handbook C 核心语法、指针、预处理器、自定义类型、动态内存与文件操作
02 data-structures-and-algorithms 数组、链表、栈、队列,查找、排序与复杂度分析
03 analog-circuits-and-components 电学基础、电阻电容电感、二极管/三极管/MOS 管与典型电路
04 digital-logic-and-computer-organization 逻辑门、触发器、冯诺依曼模型、指令集、总线与引导流程
05 schematic-and-pcb-design 嘉立创 EDA 原理图、PCB 布局布线、封装设计与焊接
06 stm32-mcu-development-notes GPIO、中断、定时器、DMA、ADC、SPI、CAN、以太网与低功耗
07 freertos-learning-notes 任务调度、内核移植、队列、信号量、事件组与内存管理
08 linux-shell-regex-notes Ubuntu 系统管理、Shell 脚本与正则表达式
09 linux-application-development-notes GCC 工具链、文件 I/O、进程线程、IPC、Socket 与 epoll

顺序不是课程表本身,而是依赖关系:没有指针和内存模型,看不懂寄存器位域;不理解触发器,就理解不了定时器与中断;没跑过裸机,RTOS 的调度器只是黑盒;不熟悉系统调用,Linux 应用层就只在背 API。

统一的仓库约定

九个仓库遵循同一套结构,便于批量阅读与检索:

1
2
3
4
5
6
repository/
├── README.md 中文索引与内容概览
├── README-English.md English index
└── docs/
├── <title>.pdf 课程文档(只读,便于在线预览)
└── <title>.docx 可编辑版本

约定里有一条边界值得借鉴:README 只做索引与学习建议,完整定义、图示与示例以 docs/ 中的文档为准。也就是说,索引不复制正文,避免同一份知识在两处维护、两处过期。每个仓库末尾还有一段「关键词」,列出覆盖的技术术语,方便搜索时定位。

文档同时提供 PDF 与 DOCX:PDF 用于在线预览,DOCX 用于批注和摘录——同一内容的两种消费方式。

一个值得记住的细节

这个仓库本身没有一行代码,但它可能是整个体系里最有价值的一个——因为它回答的是「路径」问题。资料越多,路径越稀缺:九个仓库各自都完整,但没有排序时,新人面对的是九扇没有门牌的门。

把「阅读顺序」单独做成一个版本化的仓库,还有一个隐性好处:路线图和课程仓库可以独立演进。课程内容更新不影响路线,路线调整也不需要动任何一门课的正文。

仓库

    ↑↓ 选择↵ 打开>theme · >random · >top · >archive