--- 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]] — 队列,信号量,事件标志组,任务通知 ```mermaid 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)→ 驱动匹配