index.md 12 KB


type: index title: 知识库入口

created: 2026-07-12

LLM Wiki 知识库

FreeRTOS 实时操作系统

来源:[[source-freertos|尚硅谷 FreeRTOS 教程]] + B 站 FreeRTOS 视频转录

16 篇原始笔记(含 22 个配套项目的核心代码 + 逐行注释): raw/Joplin/嵌入式+Linux/FreeRTOS学习笔记/

已从 B 站视频教程的 55 个视频中提取字幕/语音讲解内容,丰富笔记中的类比和细节。

笔记覆盖内容:

层级 笔记编号 主题
概念基础 01~02 实时操作系统基础 / 任务调度与状态管理
移植配置 03~04 移植指南 / 数据类型命名与配置详解
任务管理 05~09 任务创建删除 / 挂起恢复 / 中断管理 / 时间片与延时 / 状态查询统计
IPC 机制 10~14 消息队列 / 信号量 / 队列集 / 事件标志组 / 任务通知
高级特性 15~16 软件定时器与 Tickless / 内存管理

Wiki 页面:

  • [[freertos-intro|FreeRTOS 概念]] — OS vs RTOS,数据类型,命名规范
  • [[freertos-task-scheduling|任务调度与状态]] — 调度策略,任务状态,上下文切换
  • [[freertos-task-api|任务 API]] — 创建/删除,挂起/恢复,状态查询
  • [[freertos-interrupt-time|中断与时间管理]] — BASEPRI,临界区,时间片,延时
  • [[freertos-ipc|IPC]] — 队列,信号量,事件标志组,任务通知

    graph RL
    A[source-freertos] --> B[raw notes]
    B --> C[freertos-intro]
    B --> D[freertos-task-scheduling]
    B --> E[freertos-task-api]
    B --> F[freertos-ipc]
    B --> G[freertos-interrupt-time]
    

STM32 嵌入式开发(尚硅谷系列)

来源:[[source-stm32-basic|尚硅谷基础篇]] · [[source-stm32-medium|尚硅谷进阶篇]]

原始笔记(寄存器 + HAL 双版,代码源自配套项目): raw/Joplin/嵌入式+Linux/STM32学习笔记/

21 篇笔记覆盖内容:

层级 笔记编号 主题
基础篇 01~06 概述/GPIO/LED/中断/时钟/USART
进阶篇 07~12 I2C/TIM/PWM/DMA/ADC/SPI+FSMC
高级篇 13~17 CAN/ETH/WiFi/BLE/LoRa
扩展篇 18~21 低功耗/RTC/看门狗/附录

Wiki 页面(高级篇 + 扩展篇 — 含代码准确性审计):

  • [[Note 13 CAN]] — CAN 通信
  • [[Note 14 Ethernet]] — 以太网通信
  • [[Note 15 WiFi]] — WiFi 通信
  • [[Note 16 BLE]] — BLE 蓝牙
  • [[Note 17 LoRa]] — LoRa 远距离通信
  • [[Note 18 Power]] — 电源管理与低功耗
  • [[Note 19 BKP RTC]] — BKP 备份寄存器与 RTC
  • [[Note 20 Watchdog]] — 看门狗 IWDG/WWDG
  • [[source-stm32-lower-audit]] — 代码准确性审计报告

C 语言面向对象编程

来源:raw/Joplin/嵌入式+Linux/C语言OOP封装完整系列/

在纯 C 中实现封装、继承、多态三大 OOP 特性,对标 Linux 内核与工业嵌入式实践。

  • [[source-c-oop]] — 原始资料摘要
  • raw/Joplin/嵌入式+Linux/C语言OOP封装完整系列/c-oop.md — 完整指南(含可复制多文件 C 示例、编译命令与 C vs C++/Java 对比)

元学习 — 学会如何学习

来源:[[source-metalearning|YJango 渐构·世界模型]](20 篇笔记)

  • [[metalearning]] — 完整体系:预测本质、经验 vs 模型预测、下上结构、概念五要素、类别固有观破除、标准学习流程

面试八股 — 元学习实战

来源:[[source-面试八股主题元学习法|面试八股主题元学习法]](AI 教练启动包)

将 [[metalearning]] 元学习理论落地到嵌入式面试八股的专用教练框架。6 步流程:明确对象层 → 正反例 → 提取判别规则 → 复述 → 变体验证 → 口述演练。

主题清单(38 个):

  • 🔴 第一批:C 语言八股(23 个,✅ 全部完成)
  • 🔴 第二批:FreeRTOS / RTOS(8 个,4✅ 4☐)
  • 🟡 第三批:STM32 / 硬件(9 个,全部☐)
  • 🟢 第四批:OS / 网络 / C++(6 个,全部☐)

原始资料:raw/面试八股/

数电模电 — 从零搭建计算机

来源:[[source-尚硅谷数电从零搭建计算机|尚硅谷《从零搭建计算机》]] · [[source-尚硅谷电子元器件入门|尚硅谷《电子元器件零基础入门》]]

原始笔记(19 篇数电 + 10 篇模电): raw/Joplin/嵌入式+Linux/数电模电笔记/

2026-08-18 就地增补两类内容:

  • 数电:用 Digital 软件把"门电路→加法器→锁存/触发器→寄存器→内存→ALU→控制器→总线→引导"搭成一台完整计算机;新增 [[raw/Joplin/嵌入式+Linux/数电模电笔记/数电/10-从零搭建计算机(上)-组成与算力|数电 10]]、[[raw/Joplin/嵌入式+Linux/数电模电笔记/数电/11-从零搭建计算机(下)-控制与指令|数电 11]] 两篇
  • 模电:半导体/二极管/三极管/MOS 的实物认知(共价键、PN 结内建电场、判脚两招、体二极管、LED 限流)+ 台式直流电源选型

Wiki 页面:

  • [[数电模电|数电模电概览]] — 增补映射总览
  • [[冯诺依曼体系结构]] — 数电 10/11 的理论对应

嵌入式Linux驱动开发实战

来源:正点原子《I.MX6U嵌入式Linux驱动开发指南 V2.0.1》 定位:按知识域组织(非 PDF 章节顺序),覆盖 IMX6ULL 裸机 → Linux 驱动 → 系统移植全链路

原始笔记(46 个文件,约 3.6 万行): raw/Joplin/嵌入式+Linux/嵌入式Linux驱动开发实战/

01-ARM架构与裸机编程(9 篇)

编号 主题 核心内容
01 Cortex-A7架构详解 ARMv7、寄存器组、CPSR、9种工作模式、GIC中断、异常向量表
02 ARM汇编基础 指令集、数据处理、LDR/STR、跳转与条件码、伪指令、LED示例
03 时钟与电源管理 7路PLL、时钟树、CCM寄存器、分频门控、DVFS
04 GPIO与中断系统 GPIO寄存器组、中断触发配置、IRQ_Handler、中断服务函数
05 定时器与看门狗 EPIT/GPT原理与寄存器、定时器消抖、WDOG
06 UART串口通信 UART寄存器位域、波特率公式、收发与中断、printf重定向
07 BSP工程管理与封装 目录结构、通用Makefile(wildcard/patsubst)、链接脚本
08 裸机实验总结 10 个裸机实验整合(LED→UART→LCD→I2C/SPI)
面试 面试-ARM架构与裸机 30 道题:架构/寄存器/工作模式/汇编/中断异常/裸机开发

02-嵌入式Linux内核基础(7 篇)

编号 主题 核心内容
01 内核编译与配置 Kconfig 语法、顶层 Makefile、vmlinux 生成链、镜像类型
02 内核模块编程 module_init/exit、printk、模块参数、符号导出、内核/用户空间
03 系统调用与VFS sys_call_table、系统调用流程、super_block/inode/dentry/file
04 进程调度与中断管理 task_struct、CFS 调度、fork/COW、GIC-400、上下半部
05 内存管理 两级页表与 TLB、伙伴系统、slab/slub、vmalloc/ioremap、DMA/CMA
06 设备模型与Kobject kobject/kset/ktype、sysfs、总线-设备-驱动模型、platform
面试 面试-Linux内核基础 30 道题:配置/模块/系统调用/调度/内存/设备模型

03-Linux驱动开发核心(9 篇)

编号 主题 核心内容
01 字符设备驱动基础 file_operations、cdev、设备号、chrdevbase 完整实验
02 设备树语法与实战 DTS语法、compatible、of_* API、dtsled 实验
03 pinctrl与gpio子系统 宏展开(5值)、电气属性位域、gpiod vs gpio、调试与避坑
04 并发同步与原子操作 竞态分析、原子变量、自旋锁、信号量、互斥体、对比选型
05 中断下半部处理 softirq、tasklet、workqueue、线程化中断、机制对比
06 阻塞IO与poll机制 等待队列、poll/select、异步通知 fasync、IO 模型对比
07 platform总线模型 platform_device/driver、of_match_table、probe 流程
08 misc与input子系统 miscdevice、input_dev、事件上报、hexdump 解析
面试 面试-Linux驱动开发 35 道题:字符设备/设备树/pinctrl/并发/中断/platform/IO模型

04-Linux总线与接口驱动(6 篇)

编号 主题 核心内容
01 I2C驱动开发 I2C 协议、i2c_adapter/client/driver、AP3216C 驱动、i2c-tools
02 SPI驱动开发 SPI 四模式、spi_master/device/driver、ICM20608 驱动
03 USB驱动开发 USB 设备架构、HCD、URB、鼠标驱动、Gadget 框架
04 CAN驱动开发 CAN 帧与仲裁、SocketCAN、FlexCAN 驱动、can-utils
05 RS232与485通信 tty/uart 框架、uart_port/ops、RS485 方向控制
面试 面试-总线接口驱动 30 道题:I2C/SPI/USB/CAN/串口/总线对比

05-Linux外设驱动实战(9 篇)

编号 主题 核心内容
01 LED与蜂鸣器驱动 GPIO 子系统用法、设备树节点、led.c/beep.c 完整源码
02 按键驱动 GPIO 输入、消抖方案、中断、INPUT 子系统方式
03 LCD驱动 RGB 时序、framebuffer、fb_info、mxsfb 驱动、fbset
04 触摸屏驱动 电容触控、MT Protocol Type A/B、FT5x06 驱动、校准
05 音频驱动 I2S/SAI、WM8960 Codec、ALSA 三层驱动模型、aplay/amixer
06 RTC与PWM驱动 SNVS-RTC 驱动、PWM 子系统、pwm_chip/ops、sysfs
07 ADC与IIO驱动 vf610 ADC 驱动、IIO 子系统、缓冲区、trigger
08 块设备驱动 gendisk、request_queue、bio、请求处理函数
面试 面试-外设驱动实战 30 道题:LED/按键/LCD/触摸/音频/RTC-PWM/ADC-IIO/块设备

06-系统移植与启动(6 篇)

编号 主题 核心内容
01 U-Boot命令与使用 命令全集(boot/memory/网络/mmc)、环境变量、TFTP/NFS 启动
02 U-Boot启动流程 源码结构、顶层 Makefile、SPL/主阶段、重定位、main_loop
03 Linux内核裁剪与编译 配置系统、裁剪策略、顶层 Makefile、编译与排错、dtc
04 根文件系统构建 BusyBox 配置编译、目录结构、/etc 配置、NFS/镜像
05 系统烧写与量产 SD/串口/USB 烧写、MfgTool/UUU、量产方案与排错
面试 面试-系统移植 30 道题:U-Boot/内核/设备树/根FS/烧写/启动流程

跨模块关联

  • 裸机 GPIO(01-04)→ pinctrl/gpio 子系统(03-03)→ LED/按键驱动(05-01/02)
  • 裸机中断(01-04)→ 中断下半部(03-05)→ INPUT 子系统(03-08)
  • 裸机定时器(01-05)→ 内核定时器 → 按键消抖(05-02)
  • U-Boot/内核移植(06)→ 设备树(03-02)→ 驱动匹配