--- 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)→ 驱动匹配 --- ## 嵌入式Linux应用与Qt开发实战 > 来源:正点原子《I.MX6U嵌入式Linux C应用编程指南V1.6》《I.MX6U嵌入式Qt开发指南V1.2》 > 定位:用户态应用编程 → 外设应用 → 网络 → Qt 图形界面,每篇自包含完整,可用于学习/复习/查询/面试 原始笔记(33 个文件): `raw/Joplin/嵌入式+Linux/嵌入式Linux应用与Qt开发实战/` ### 01-Linux应用编程基础(6 篇) | 编号 | 主题 | 核心内容 | | ---- | ---------------------- | ---------------------------------------------------------- | | 01 | 应用编程概念与开发环境 | 系统调用 vs 库函数、main、errno、gcc 编译流程 | | 02 | 文件IO基础与深入探究 | fd、open/read/write/lseek、文件共享、原子操作、fcntl/ioctl | | 03 | 标准IO库 | FILE、fopen/fread/fwrite、格式化 IO、缓冲机制 | | 04 | 文件属性与目录 | stat、权限、硬软链接、目录遍历 | | 05 | 字符串处理与系统信息 | str*/mem* 函数族、正则、时间日期、proc 文件系统 | | 面试 | 面试-Linux应用编程基础 | 30 道题:概念/文件IO/标准IO/属性/字符串/系统信息 | ### 02-进程线程与IPC(5 篇) | 编号 | 主题 | 核心内容 | | ---- | ------------------ | ------------------------------------------------------- | | 01 | 信号机制 | 信号分类、signal/sigaction、信号集、sigsuspend | | 02 | 进程管理 | fork/vfork/exec、wait、僵尸孤儿、守护进程、单例 | | 03 | 进程间通信 | 管道/FIFO、消息队列、信号量、共享内存 | | 04 | 线程与线程同步 | pthread、互斥锁、条件变量、读写锁、自旋锁、生产者消费者 | | 面试 | 面试-进程线程与IPC | 30 道题:信号/进程/IPC/线程同步 | ### 03-外设与高级IO编程(7 篇) | 编号 | 主题 | 核心内容 | | ---- | ------------------------ | ---------------------------------------------------- | | 01 | 高级IO | 非阻塞 IO、select/poll/epoll、异步 IO、mmap、文件锁 | | 02 | GPIO与LED应用编程 | sysfs GPIO、LED 子系统、ioctl 控制 LED | | 03 | 输入设备与tslib | input 子系统、input_event、tslib 校准与读取 | | 04 | FrameBuffer与LCD应用编程 | fb 结构体、mmap 显存、画笔、libjpeg/libpng、FreeType | | 05 | PWM与看门狗 | PWM sysfs、占空比、/dev/watchdog、WDIOC_* | | 06 | 摄像头串口与音频 | V4L2 采集、termios 串口、ALSA 放音录音 | | 面试 | 面试-外设与高级IO编程 | 30 道题:高级IO/GPIO/输入/LCD/PWM/摄像头串口音频 | ### 04-网络编程与项目实战(5 篇) | 编号 | 主题 | 核心内容 | | ---- | ----------------------- | --------------------------------------- | | 01 | 网络基础与socket编程 | TCP/IP、socket API、TCP/UDP、并发服务器 | | 02 | CAN应用编程 | CAN 帧格式、SocketCAN、can-utils | | 03 | CMake入门与进阶 | CMake 语法、多目录工程、交叉编译工具链 | | 04 | 实战项目MQTT与视频监控 | MQTT/原子云、cJSON、V4L2+编码+传输 | | 面试 | 面试-网络编程与项目实战 | 25 道题:网络/CAN/CMake/MQTT/视频监控 | ### 05-Qt应用开发(9 篇) | 编号 | 主题 | 核心内容 | | ---- | -------------------------- | ------------------------------------------------------- | | 01 | C++基础与面向对象 | 命名空间、类对象、构造析构、继承重载多态、抽象类 | | 02 | Qt入门与项目结构 | Qt Creator、.pro/.ui/.h/.cpp、qmake、Qt Designer | | 03 | 信号与槽 | 信号槽机制、moc、自定义信号槽、连接类型 | | 04 | Qt控件详解 | 按钮/输入/显示/浏览器类控件(27 个) | | 05 | 布局容器与模型视图 | 布局、容器、Model/View、QListWidget 等(20 个) | | 06 | 文本绘图与图表 | QFile/QTextStream、QPainter、QChart | | 07 | 多线程网络多媒体与数据库 | QThread、TCP/UDP、QMediaPlayer、SQLite | | 08 | 嵌入式Qt交叉编译与项目实战 | 交叉编译、Qt 控制 LED/串口/CAN/摄像头、5 个项目 | | 面试 | 面试-Qt应用开发 | 40 道题:C++/Qt基础/信号槽/控件/布局/绘图/网络/Qt嵌入式 | --- ## 嵌入式 Linux 三库总索引 围绕 I.MX6ULL 的三套知识库,按学习阶段衔接: | 知识库 | 定位 | 入口 | | ------------------------------- | --------------------------------------- | --------------------------------------------------------------- | | 嵌入式Linux驱动开发实战 | 起点:ARM 裸机 → 内核 → 驱动 → 系统移植 | `raw/Joplin/嵌入式+Linux/嵌入式Linux驱动开发实战/README.md` | | **嵌入式Linux应用与Qt开发实战** | 用户态应用编程 → 外设应用 → 网络 → Qt | `raw/Joplin/嵌入式+Linux/嵌入式Linux应用与Qt开发实战/README.md` | | Linux+C+C++技术体系梳理 | 语言与系统编程「深入专题」(延伸阅读) | `raw/Joplin/Linux+C+C++技术体系梳理/` | **衔接关系** - 裸机外设(驱动 KB 01)→ 用户态外设应用(应用 KB 03) - 驱动 `file_operations`(驱动 KB 03-01)→ 系统调用/文件 IO(应用 KB 01-02) - 设备树/pinctrl(驱动 KB 03-02/03)→ GPIO/LED 应用(应用 KB 03-02) - INPUT 子系统驱动(驱动 KB 03-08)→ 输入设备与 tslib(应用 KB 03-03) - LCD/触摸驱动(驱动 KB 05-03/04)→ FrameBuffer 应用(应用 KB 03-04) - UART/RS485 驱动(驱动 KB 04-05)→ 串口应用(应用 KB 03-06) - 系统编程深入(技术体系梳理 2)→ 应用 KB 各篇「延伸阅读」