📚 嵌入式全栈修炼手册
Claude Code 微学习
- backend-log — 记录 Claude Code 每晚微学习后台执行情况与同步状态。
- daily-learning-log — 每日学习主题总索引,按时间回看核心一句话与对应页面。
- topics — 按主题沉淀可复用的知识点,如
/permissions白名单的原理与边界。 - 2026-04-08 — 详细讲解
/permissions白名单:比 Auto 更细的一层权限控制。
C++算法入门(C 转 C++ 教程)
- C++算法笔记1 — 从 C 过渡到 C++ 的知识点梳理,涵盖基本篇、STL 篇、进阶篇与 C++11 篇。
- 使用C++刷算法的好处 — 阐述 C++ 兼容 C、STL 丰富、字符串便捷等优势。
- using-namespace-std — 详解命名空间原理、
using namespace std的利弊与替代方案。 - cin和cout — 介绍 C++ 标准输入输出流的基本用法与性能优化技巧。
- 头文件 — 对比 C 头文件与 C++ 风格头文件,列出常用头文件对照表。
- 变量声明 — 对比 C 与 C++ 的变量声明规则,强调 C++ 可随时声明的便利性。
- bool变量 — 介绍 C 中模拟布尔值的方式与 C++ 原生
bool类型的使用。 - const定义常量 — 讲解
const的基本用法、编译时常量原理及其优势。 - string类 — 对比 C 风格字符串与 C++
string类,展示运算符重载与成员函数的便捷。 - 结构体 — 对比 C 与 C++ 中结构体的定义与使用差异。
- 引用和传值 — 解释值传递与引用传递的原理与区别,并演示
swap函数。 - 章节小结 — 回顾第一章核心知识点:C++ 兼容性、命名空间、IO、头文件、变量声明、bool、const、string、结构体、引用。
- vector — 详解动态数组
vector的原理、创建方式与常用操作。 - set — 介绍有序集合
set基于红黑树的实现、特性与适用场景。 - map — 讲解键值对容器
map的原理、创建方式与常用操作。 - stack — 说明栈容器适配器
stack的先进后出特性与典型应用。 - queue — 介绍队列与优先队列
queue/priority_queue的原理与使用。 - unordered-map和unordered-set — 讲解基于哈希表的无序容器的原理、哈希冲突与性能对比。
- 章节小结 — 总结 STL 六大容器的特性、时间复杂度与适用场景速查表。
- bitset — 详解固定大小二进制位容器
bitset的索引方向、成员函数与位运算操作。 - sort函数 — 介绍
std::sort的内省排序原理、原型与用法。 - 自定义cmp函数 — 讲解自定义比较函数实现降序、结构体排序等复杂排序规则。
- cctype头文件 — 列举字符分类与转换函数,使用注意事项。
- 章节小结 — 回顾进阶章节:bitset、sort、自定义cmp、cctype 的核心要点。
- C++11简介 — 概述 C++11 里程碑特性,介绍本章要学习的 auto、范围 for 等 6 个特性。
- auto声明 — 讲解
auto类型推导原理、基本用法与配合范围 for 的最佳实践。 - 基于范围的for循环 — 说明范围 for 循环的语法糖原理与三种遍历方式。
- to_string — 介绍
to_string函数将数值转换为字符串的便捷性。 - stoi-stod等转换函数 — 讲解字符串转数值的系列函数及其错误处理机制。
- Dev-CPP使用C++11 — 指导如何在 Dev C++ 中手动启用 C++11 标准。
- 章节小结 — 总结 C++11 新特性章节的核心要点与速查表。
DDDMR Navigation 学习路线
- DDDMR Navigation 学习 + 复现 + 实车部署 路线 — 针对有 ROS2 基础的学习者,规划 1–2 周从原理到实车部署的完整路线。
FreeRTOS
- FreeRTOS操作系统移植教程-原理版 — 从概念到实操,详细讲解 FreeRTOS 如何移植到 STM32F103 标准库工程。
- FreeRTOS操作系统移植教程-纯操作 — 仅保留操作步骤,快速指导 FreeRTOS 源码移植与配置。
Linux 系统裁剪
- Linux系统裁剪-基础知识 — 介绍 Linux 系统构成(Uboot、内核、设备树、根文件系统)及裁剪本质。
- 鲁班猫系统镜像裁剪实战 — 基于 LubanCat_Gen_SDK 的鲁班猫系统镜像裁剪实战。
ROS2
- 引言 — ROS2 CLI 部分学习导航,已更新完毕。
- 配置环境 — 配置 ROS2 环境变量与检查 ROS_DOMAIN_ID。
- 使用turtlesim、ros2和rqt — 安装 turtlesim 并体验 ROS2 基本命令与 rqt 图形界面。
- 理解节点 — 理解 ROS2 节点概念,使用
ros2 node命令。 - 理解话题 — 理解话题通信机制,使用
rqt_graph可视化节点话题。 - 了解服务 — 理解服务调用-响应模型,与话题的区别。
- 理解参数 — 理解节点参数,使用
ros2 param命令。 - 理解行为 — 理解动作通信:目标、反馈、结果,以及可取消特性。
- 使用rqt_console查看日志 — 使用图形工具查看和过滤日志消息。
- 启动节点 — 使用启动文件同时启动多个节点。
- 录制和回放数据 — 录制和回放 ROS2 话题数据(暂略)。
- 引言(客户端) — 客户端部分学习导航,已更新部分章节。
- 什么是ROS 2包? — 介绍 ROS2 包的构成与文件结构。
- 使用colcon 构建软件包 — 安装 colcon 并创建第一个工作空间。
- 创建一个工作空间 — 详细步骤创建 ROS2 工作空间并克隆示例仓库。
- 创建软件包 — 创建 ROS2 软件包(内容待补充)。
STM32 单片机
- STM32简介 — 介绍 STM32、ARM 架构、F103C8T6 资源与命名规则。
- 软件安装 — 提供 Keil 与 STLINK 驱动安装说明。
- 新建工程 — 讲解 STM32 开发方式(寄存器/标准库/HAL)并点亮第一个 LED。
- GPIO输出 — 总结 GPIO 操作三步法:开启时钟、初始化结构体、调用输出函数。
- LED&流水灯&蜂鸣器 — 实现 LED 闪烁、流水灯与蜂鸣器控制,附常用 GPIO 输出函数。
- GPIO输入 — 学习按键与传感器模块的硬件电路及输入模式配置。
- 按键控制LED&光敏控制蜂鸣 — 模块化编程实现按键控制 LED 与光敏传感器控制蜂鸣器。
- OLED调试工具 — 介绍 OLED 屏幕作为调试工具,对比 I2C/SPI 通信方式。
- OLED显示屏 — 接线与程序实例,展示 OLED 显示字符、数字、十六进制等。
- EXTI外部中断 — 详解外部中断配置步骤:RCC、GPIO、AFIO、EXTI、NVIC。
- 红外传感&旋转编码计次 — 使用外部中断实现红外传感器计次与旋转编码器计数。
- 定时器 — 概述定时器四大功能:定时中断、输出比较、输入捕获、编码器接口。
- TIM定时中断 — 讲解定时器基本原理、类型与基本定时器配置。
- 定时中断&内外时钟源选择 — 定时中断初始化步骤与内外时钟源选择。
- TIM输出比较 — 详解输出比较模块用于产生 PWM 波形,驱动电机。
- 流水灯&舵机电机驱动 — 使用 PWM 实现 LED 流水灯、舵机与直流电机驱动。
- TIM输入捕获 — 理解输入捕获概念,用于测量频率与占空比。
- 输入捕获测频率&PWMI测频率占空比 — 使用输入捕获与 PWMI 模式测量频率和占空比,附相关库函数。
- ADC数模转换器 — 介绍 ADC 作用、逐次逼近型原理与 STM32 内部 ADC。
- AD单通道&多通道 — 配置 ADC 单通道与多通道转换,附相关库函数。
- USART串口协议 — 讲解通信接口分类(双工、时钟、电平)与串口通信基础。
- USART串口外设 — 分析 USART 框图与基本结构,解释发送/接收数据流程。
- 串口发送&串口接收 — 实现串口发送与接收,附相关函数说明。
- USART串口数据包 — 制定 HEX 与文本数据包格式,讨论收发流程。
- 串口收发HEX&文本数据包 — 实例代码实现串口收发 HEX 与文本数据包。
- FlyMcu & STLINK Utility — 使用 FlyMcu 串口下载与 STLINK Utility 烧录程序。
- 其他模块驱动学习 — 学习 NRF24L01 无线模块的引脚定义、工作原理与配置流程。
大车-CarPlanning(校园智巡)
- 项目介绍 — 项目概述:基于 RTK 与激光融合的无图自主导航机器人。
- TODO清单 — 新旧技术路线切换后的详细 TODO 清单与阶段划分。
- Nav2无图导航仿真搭建 — 在 ROS2 Humble 仿真中搭建无图导航,EKF + Nav2 完整流程。
- 融入RTK-GPS插件进行仿真 — 在仿真中加入 GPS 定位链路,实现 map 与 UTM 对齐。
- 功能包整合与 GitHub 管理 — 将所有配置整合进标准 ROS2 功能包,便于 git 管理。
- 小车3D建模 — 使用 SolidWorks 进行小车 3D 建模,模型已上传 GitHub。
- 仿真迁移实物 — 将仿真环境移植到实物硬件(底盘驱动、雷达、EKF 定位)。
- 驱动层运行系统报告 — Xavier NX 驱动层运行状态报告,含 CPU/内存占用与风险评估。
- 中期审视项目-拆分 — 项目功能模块任务拆分文档,供成员认领。
- ROS2 Humble 跨设备 DDS 组播通信配置指南 — 配置 WSL2 与 Jetson 间 DDS 通信,实现远程 RViz 可视化。
- 校园智巡 Nav Console — 部署与启动手册 — Web 控制台部署与启动手册,覆盖 Xavier NX 与开发电脑。
- 校园智巡 — 近一周进度汇报(2026-06-02) — 汇报 USB 串口固定绑定与跨设备 DDS 通信配置成果。
- 校园智巡 — 近一周进度汇报(2026-06-16) — 汇报 3D 打印连接件散热隔离、上下层控制对齐与实车测试结果。
- 项目概述:RTK + LiDAR 里程计无地图自主导航系统(v2) — v2 架构引入 FAST-LIO2 替代轮式里程计,CPU 迁移至 Intel N100。
- FAST-LIO2 详解:在校园智巡项目中的角色 — 深入讲解 FAST-LIO2 原理、与轮式里程计对比、方案选型理由。
- 任务计划:校园智巡 v2 升级路线图 — 分阶段任务计划,从 N100 环境搭建到收尾优化。
- FASTLIO2_ROS2 实战使用指南 — 针对校园智巡 v2 的 FASTLIO2 配置修改与实战指南。
- 支线:0.Jetson Xavier Nx烧录刷机安装Ubuntu20.04系统及后续配置 — 转载整理 Jetson Xavier NX 刷机、系统扩容与基础配置。
- 支线:1.NVIDIA Jetson 通过自建 Ubuntu 22.04 Docker 镜像安装 ROS 2 Humble — 在 Jetson 上自建 Docker 镜像安装 ROS2 Humble,对比 dustynv 方案。
- 支线:2.MID-360雷达环境搭建 — 完整链路:网口配置、上位机确认、驱动安装、Fast-LIO 建图。
- 支线:3.电源规划 — 用电设备清单与供电方案(4S LiPo 14.8V 7000mAh)。
- 支线:4.UM982 RTK GPS ROS2 驱动部署文档 — 在 Jetson Docker 中部署 UM982 GPS 驱动,发布 /gps/fix 话题。
- 支线:5.Jetson Xavier NX — USB 串口设备固定绑定指南 — 通过 udev 规则固定 USB 串口设备符号链接,解决编号漂移。
- 支线:6.FASTLIO2_ROS2 完整部署教程 — 在 Ubuntu 22.04 原生系统上部署 FASTLIO2_ROS2 的完整步骤。
- 附录-运行中遇到的报错记录 — 记录 WSL2 下 ROS2 topic list 无反应等常见报错及解决方案。
- 旧2.第一阶段 车辆与物理环境 — (已归档)早期阿克曼模型获取与 Gazebo 测试。
- 旧3.第二阶段 LIO-SAM 适配 — (已归档)LIO-SAM 环境搭建与编译。
- 旧4.第三阶段 Mid360插件替换 — (已归档)Livox-SDK2 与 livox_ros_driver2 编译安装。
嵌入式 Linux 基础
- 前言 — 学习笔记开篇,介绍基于 i.MX6ULL 的嵌入式 Linux 学习路线。
- 如何学习Linux开发 — 提供嵌入式 Linux 学习路线图。
- i.MX系列芯片简介 — 介绍 i.MX 系列、ARM 架构与 Cortex-A7 内核。
- Linux系统简介 — 讲解 Linux 起源、主要构成与发行版本。
- 虚拟机安装Ubuntu系统 — 指导虚拟机安装 Ubuntu 并设置共享文件夹。
- Linux文件目录 — 介绍 Linux 目录层次标准与各目录用途。
- 用户管理与文件权限 — 讲解 Linux 用户管理、passwd/group/shadow 文件与文件权限。
- Linux命令行 — 介绍 Shell 概念、命令格式与常用命令(man、ls 等)。
- 使用编辑器 — 介绍 gedit 与 vi/vim 编辑器的使用。
- 运行开发板与串口终端登录 — 指导开发板启动与串口终端登录。
- 查看开发板系统信息 — 通过 /proc 文件系统查看 CPU、内核版本等信息。
- 命令行点灯和检测按键 — 通过 /sys 文件系统控制 LED 灯与检测按键。
- 使用脚本测试硬件 — 使用 fire-config 与测试脚本验证板载外设功能。
- 认识系统镜像和固件 — 介绍镜像文件格式与野火 Debian 镜像版本。
- 烧录Debian镜像至SD卡 — 使用 Etcher 烧录 Debian 镜像至 SD 卡并启动。
- fire-config工具简介 — 介绍野火开发板系统配置工具 fire-config 的使用。
- 项目资料下载-git — 使用 Git 从 GitHub/Gitee 下载项目资料。
- 挂载NFS网络文件系统 — 搭建 NFS 环境实现主机与开发板文件共享。
- GCC和Hello World — 讲解 GCC 编译工具链与 Hello World 的编译运行过程。
- ARM-GCC和开发板的HelloWorld — 交叉编译 Hello World 并在 ARM 开发板上运行。
- Linux系统下的Hello World — 深入分析 Linux 下 Hello World 的运行机制,对比裸机开发。
- Makefile简介 — 介绍 Makefile 的作用、依赖关系与基本概念。
- 使用Makefile控制编译 — 通过示例学习 Makefile 的基础语法与规则。
- 文件操作与系统调用 — 讲解文件系统概念、C 标准库与系统调用的关系。
