Toggle navigation
Yvain Zhang
首页
技术
开源
Geek
阅读
摄影
关于
Tags
按主题查看全部文章
操作系统
消息队列
系统设计
架构
嵌入式
Linux
驱动开发
C语言
网络
TCP/IP
以太网
路由
协议栈
中断
多核
MMU
Cache
体系结构
ARM
Bootloader
U-Boot
网络编程
Socket
内存管理
内核
FreeRTOS
RISC-V
故障排查
多媒体
音频
数字音频
信号处理
MP3
编解码
AAC
FLAC
无损压缩
MP4
容器封装
音视频
WAV
PCM
OGG
MPEG
标准组织
AMR
语音通信
FFmpeg
源码编译
工具链
流媒体
HLS
M3U8
网络协议
命令行
速查指南
Wi-Fi
低功耗
802.11
物联网
无线网络
P2P
wpa_supplicant
抓包分析
性能优化
驱动
内存分析
AI
Coding Agent
Claude Code
Aider
MCP
开发者工具
上下文工程
KV Cache
系统架构
大模型
Agent
运行时
Python
具身智能
RTOS
VLA
机器人
异步 IO
操作系统
FreeRTOS 常见故障排查指南
Cortex-M 中断优先级、任务栈、printf 与堆管理
FreeRTOS 整体架构图集:RISC-V 移植版
RISC-V port 的启动、Tick 和上下文切换笔记
Linux 内存管理基础:分配、缺页与回收
页表、伙伴系统、SLUB 与内存压力下的处理流程
ARM 处理器启动流程与引导架构
BootROM、SPL、TF-A、U-Boot 与 Linux 的交接
操作系统底层机制:中断、多核、MMU 与 Cache
驱动调试中常见的中断上下文、并发与地址转换问题
Linux 嵌入式驱动开发基础与常见问题
设备节点、Platform 匹配、锁、寄存器映射与 Oops 定位
消息队列的常见用途与设计取舍
解耦、异步、削峰,以及 RTOS 队列与分布式队列的差异
消息队列
消息队列的常见用途与设计取舍
解耦、异步、削峰,以及 RTOS 队列与分布式队列的差异
系统设计
消息队列的常见用途与设计取舍
解耦、异步、削峰,以及 RTOS 队列与分布式队列的差异
架构
Linux 内存管理基础:分配、缺页与回收
页表、伙伴系统、SLUB 与内存压力下的处理流程
消息队列的常见用途与设计取舍
解耦、异步、削峰,以及 RTOS 队列与分布式队列的差异
嵌入式
Audio System Atlas:音频系统笔记导读
接口、时钟、缓冲、音频栈与流式语音
具身智能的快慢控制环:实时控制与 VLA 推理如何协作
从控制周期、动作接口和跨域通信看软硬件分工
Wi-Fi 驱动内存占用分析
Linux 与 RTOS 驱动的静态段、动态分配与回收检查
Wi-Fi USB 驱动架构与多核性能调优
收发路径、URB 管理与 CPU 负载分配
Wi-Fi 低功耗机制概览
PS-Poll、U-APSD、SMPS、OMN/OMI 与 TWT
FreeRTOS 常见故障排查指南
Cortex-M 中断优先级、任务栈、printf 与堆管理
FreeRTOS 整体架构图集:RISC-V 移植版
RISC-V port 的启动、Tick 和上下文切换笔记
Socket 编程中的连接、时延与 I/O 处理
TCP 状态机、常用选项、epoll 与 lwIP 内存模型
ARM 处理器启动流程与引导架构
BootROM、SPL、TF-A、U-Boot 与 Linux 的交接
Linux 嵌入式驱动开发基础与常见问题
设备节点、Platform 匹配、锁、寄存器映射与 Oops 定位
消息队列的常见用途与设计取舍
解耦、异步、削峰,以及 RTOS 队列与分布式队列的差异
Linux
从 buffer 的寿命谈平台设计
由一个异步队列问题,连到事件、停止与跨运行时契约
Wi-Fi USB 驱动架构与多核性能调优
收发路径、URB 管理与 CPU 负载分配
Wi-Fi P2P 的建链过程与并发模式
设备发现、GO 协商、WPS 与 SCC/MCC
Linux 内存管理基础:分配、缺页与回收
页表、伙伴系统、SLUB 与内存压力下的处理流程
Socket 编程中的连接、时延与 I/O 处理
TCP 状态机、常用选项、epoll 与 lwIP 内存模型
Linux 嵌入式驱动开发基础与常见问题
设备节点、Platform 匹配、锁、寄存器映射与 Oops 定位
驱动开发
Wi-Fi USB 驱动架构与多核性能调优
收发路径、URB 管理与 CPU 负载分配
Linux 嵌入式驱动开发基础与常见问题
设备节点、Platform 匹配、锁、寄存器映射与 Oops 定位
C语言
WAVE (WAV) 封装格式与 PCM 裸流
RIFF 数据块、常见 PCM WAV 头与声道排列
FreeRTOS 常见故障排查指南
Cortex-M 中断优先级、任务栈、printf 与堆管理
Linux 嵌入式驱动开发基础与常见问题
设备节点、Platform 匹配、锁、寄存器映射与 Oops 定位
网络
L2 数据链路层与 L3 网络层基础
以太网帧、VLAN、ARP 与跨网段转发
TCP/IP
Socket 编程中的连接、时延与 I/O 处理
TCP 状态机、常用选项、epoll 与 lwIP 内存模型
L2 数据链路层与 L3 网络层基础
以太网帧、VLAN、ARP 与跨网段转发
以太网
L2 数据链路层与 L3 网络层基础
以太网帧、VLAN、ARP 与跨网段转发
路由
L2 数据链路层与 L3 网络层基础
以太网帧、VLAN、ARP 与跨网段转发
协议栈
L2 数据链路层与 L3 网络层基础
以太网帧、VLAN、ARP 与跨网段转发
中断
操作系统底层机制:中断、多核、MMU 与 Cache
驱动调试中常见的中断上下文、并发与地址转换问题
多核
操作系统底层机制:中断、多核、MMU 与 Cache
驱动调试中常见的中断上下文、并发与地址转换问题
MMU
操作系统底层机制:中断、多核、MMU 与 Cache
驱动调试中常见的中断上下文、并发与地址转换问题
Cache
操作系统底层机制:中断、多核、MMU 与 Cache
驱动调试中常见的中断上下文、并发与地址转换问题
体系结构
操作系统底层机制:中断、多核、MMU 与 Cache
驱动调试中常见的中断上下文、并发与地址转换问题
ARM
ARM 处理器启动流程与引导架构
BootROM、SPL、TF-A、U-Boot 与 Linux 的交接
Bootloader
ARM 处理器启动流程与引导架构
BootROM、SPL、TF-A、U-Boot 与 Linux 的交接
U-Boot
ARM 处理器启动流程与引导架构
BootROM、SPL、TF-A、U-Boot 与 Linux 的交接
网络编程
Socket 编程中的连接、时延与 I/O 处理
TCP 状态机、常用选项、epoll 与 lwIP 内存模型
Socket
Socket 编程中的连接、时延与 I/O 处理
TCP 状态机、常用选项、epoll 与 lwIP 内存模型
内存管理
Linux 内存管理基础:分配、缺页与回收
页表、伙伴系统、SLUB 与内存压力下的处理流程
内核
Linux 内存管理基础:分配、缺页与回收
页表、伙伴系统、SLUB 与内存压力下的处理流程
FreeRTOS
FreeRTOS 常见故障排查指南
Cortex-M 中断优先级、任务栈、printf 与堆管理
FreeRTOS 整体架构图集:RISC-V 移植版
RISC-V port 的启动、Tick 和上下文切换笔记
RISC-V
FreeRTOS 整体架构图集:RISC-V 移植版
RISC-V port 的启动、Tick 和上下文切换笔记
故障排查
FreeRTOS 常见故障排查指南
Cortex-M 中断优先级、任务栈、printf 与堆管理
多媒体
FFmpeg 快速上手与命令速查
处理流程、流拷贝与常用音视频命令
HLS 与 M3U8 播放列表基础
主列表、媒体列表、直播窗口与 AES-128 加密
FFmpeg 源码编译与常用处理脚本
编译依赖、音频转换、响度标准化与 HLS 切片
AMR 语音编码与文件格式
窄带与宽带模式、接口帧及文件头
MPEG 系列标准与常见格式的关系
MPEG-1、MPEG-2、MPEG-4 及其主要子规范
OGG 容器格式与流式复用机制
Page、Packet、Lacing 与 Granule Position
WAVE (WAV) 封装格式与 PCM 裸流
RIFF 数据块、常见 PCM WAV 头与声道排列
MP4 与 M4A 容器格式基础
Box 结构、样本索引与 moov faststart
FLAC 无损音频格式与压缩原理
文件结构、预测残差与 Golomb-Rice 编码
AAC 编码工具与常见流格式
AAC-LC、HE-AAC、SBR/PS 与 ADTS/ADIF
MP3 格式解析与解码流程
ID3 标签、帧头、位库与解码步骤
数字音频基础与处理流程
采样率、位深、PCM 与感知音频编码
音频
Audio System Atlas:音频系统笔记导读
接口、时钟、缓冲、音频栈与流式语音
AMR 语音编码与文件格式
窄带与宽带模式、接口帧及文件头
OGG 容器格式与流式复用机制
Page、Packet、Lacing 与 Granule Position
WAVE (WAV) 封装格式与 PCM 裸流
RIFF 数据块、常见 PCM WAV 头与声道排列
FLAC 无损音频格式与压缩原理
文件结构、预测残差与 Golomb-Rice 编码
AAC 编码工具与常见流格式
AAC-LC、HE-AAC、SBR/PS 与 ADTS/ADIF
MP3 格式解析与解码流程
ID3 标签、帧头、位库与解码步骤
数字音频基础与处理流程
采样率、位深、PCM 与感知音频编码
数字音频
数字音频基础与处理流程
采样率、位深、PCM 与感知音频编码
信号处理
数字音频基础与处理流程
采样率、位深、PCM 与感知音频编码
MP3
MP3 格式解析与解码流程
ID3 标签、帧头、位库与解码步骤
编解码
AMR 语音编码与文件格式
窄带与宽带模式、接口帧及文件头
MPEG 系列标准与常见格式的关系
MPEG-1、MPEG-2、MPEG-4 及其主要子规范
OGG 容器格式与流式复用机制
Page、Packet、Lacing 与 Granule Position
MP4 与 M4A 容器格式基础
Box 结构、样本索引与 moov faststart
AAC 编码工具与常见流格式
AAC-LC、HE-AAC、SBR/PS 与 ADTS/ADIF
MP3 格式解析与解码流程
ID3 标签、帧头、位库与解码步骤
AAC
AAC 编码工具与常见流格式
AAC-LC、HE-AAC、SBR/PS 与 ADTS/ADIF
FLAC
FLAC 无损音频格式与压缩原理
文件结构、预测残差与 Golomb-Rice 编码
无损压缩
FLAC 无损音频格式与压缩原理
文件结构、预测残差与 Golomb-Rice 编码
MP4
MP4 与 M4A 容器格式基础
Box 结构、样本索引与 moov faststart
容器封装
OGG 容器格式与流式复用机制
Page、Packet、Lacing 与 Granule Position
MP4 与 M4A 容器格式基础
Box 结构、样本索引与 moov faststart
音视频
FFmpeg 快速上手与命令速查
处理流程、流拷贝与常用音视频命令
MP4 与 M4A 容器格式基础
Box 结构、样本索引与 moov faststart
WAV
WAVE (WAV) 封装格式与 PCM 裸流
RIFF 数据块、常见 PCM WAV 头与声道排列
PCM
WAVE (WAV) 封装格式与 PCM 裸流
RIFF 数据块、常见 PCM WAV 头与声道排列
OGG
OGG 容器格式与流式复用机制
Page、Packet、Lacing 与 Granule Position
MPEG
MPEG 系列标准与常见格式的关系
MPEG-1、MPEG-2、MPEG-4 及其主要子规范
标准组织
MPEG 系列标准与常见格式的关系
MPEG-1、MPEG-2、MPEG-4 及其主要子规范
AMR
AMR 语音编码与文件格式
窄带与宽带模式、接口帧及文件头
语音通信
AMR 语音编码与文件格式
窄带与宽带模式、接口帧及文件头
FFmpeg
FFmpeg 快速上手与命令速查
处理流程、流拷贝与常用音视频命令
FFmpeg 源码编译与常用处理脚本
编译依赖、音频转换、响度标准化与 HLS 切片
源码编译
FFmpeg 源码编译与常用处理脚本
编译依赖、音频转换、响度标准化与 HLS 切片
工具链
FFmpeg 源码编译与常用处理脚本
编译依赖、音频转换、响度标准化与 HLS 切片
流媒体
HLS 与 M3U8 播放列表基础
主列表、媒体列表、直播窗口与 AES-128 加密
HLS
HLS 与 M3U8 播放列表基础
主列表、媒体列表、直播窗口与 AES-128 加密
M3U8
HLS 与 M3U8 播放列表基础
主列表、媒体列表、直播窗口与 AES-128 加密
网络协议
HLS 与 M3U8 播放列表基础
主列表、媒体列表、直播窗口与 AES-128 加密
命令行
FFmpeg 快速上手与命令速查
处理流程、流拷贝与常用音视频命令
速查指南
FFmpeg 快速上手与命令速查
处理流程、流拷贝与常用音视频命令
Wi-Fi
Wi-Fi USB 驱动架构与多核性能调优
收发路径、URB 管理与 CPU 负载分配
IEEE 802.11 分片机制
分片标识、发送时序、加密与抓包识别
Wi-Fi P2P 的建链过程与并发模式
设备发现、GO 协商、WPS 与 SCC/MCC
Wi-Fi 低功耗机制概览
PS-Poll、U-APSD、SMPS、OMN/OMI 与 TWT
低功耗
Wi-Fi 低功耗机制概览
PS-Poll、U-APSD、SMPS、OMN/OMI 与 TWT
802.11
IEEE 802.11 分片机制
分片标识、发送时序、加密与抓包识别
Wi-Fi 低功耗机制概览
PS-Poll、U-APSD、SMPS、OMN/OMI 与 TWT
物联网
Wi-Fi 低功耗机制概览
PS-Poll、U-APSD、SMPS、OMN/OMI 与 TWT
无线网络
Wi-Fi 驱动内存占用分析
Linux 与 RTOS 驱动的静态段、动态分配与回收检查
IEEE 802.11 分片机制
分片标识、发送时序、加密与抓包识别
Wi-Fi P2P 的建链过程与并发模式
设备发现、GO 协商、WPS 与 SCC/MCC
P2P
Wi-Fi P2P 的建链过程与并发模式
设备发现、GO 协商、WPS 与 SCC/MCC
wpa_supplicant
Wi-Fi P2P 的建链过程与并发模式
设备发现、GO 协商、WPS 与 SCC/MCC
抓包分析
IEEE 802.11 分片机制
分片标识、发送时序、加密与抓包识别
性能优化
Wi-Fi USB 驱动架构与多核性能调优
收发路径、URB 管理与 CPU 负载分配
驱动
Wi-Fi 驱动内存占用分析
Linux 与 RTOS 驱动的静态段、动态分配与回收检查
内存分析
Wi-Fi 驱动内存占用分析
Linux 与 RTOS 驱动的静态段、动态分配与回收检查
AI
Agent 运行时设计笔记:控制循环、参数校验与外部验收
按六个阶段梳理执行流程,附 Python 参考骨架和实现边界
上下文工程笔记:前缀缓存、长上下文与记忆分层
多轮 Agent 如何组织输入、保留状态和控制上下文开销
终端 Coding Agent:Claude Code、Aider 与 MCP 的机制和取舍
梳理上下文管理、代码修改与工具调用,附一个硬件诊断服务示例
Coding Agent
终端 Coding Agent:Claude Code、Aider 与 MCP 的机制和取舍
梳理上下文管理、代码修改与工具调用,附一个硬件诊断服务示例
Claude Code
终端 Coding Agent:Claude Code、Aider 与 MCP 的机制和取舍
梳理上下文管理、代码修改与工具调用,附一个硬件诊断服务示例
Aider
终端 Coding Agent:Claude Code、Aider 与 MCP 的机制和取舍
梳理上下文管理、代码修改与工具调用,附一个硬件诊断服务示例
MCP
终端 Coding Agent:Claude Code、Aider 与 MCP 的机制和取舍
梳理上下文管理、代码修改与工具调用,附一个硬件诊断服务示例
开发者工具
终端 Coding Agent:Claude Code、Aider 与 MCP 的机制和取舍
梳理上下文管理、代码修改与工具调用,附一个硬件诊断服务示例
上下文工程
上下文工程笔记:前缀缓存、长上下文与记忆分层
多轮 Agent 如何组织输入、保留状态和控制上下文开销
KV Cache
上下文工程笔记:前缀缓存、长上下文与记忆分层
多轮 Agent 如何组织输入、保留状态和控制上下文开销
系统架构
从 buffer 的寿命谈平台设计
由一个异步队列问题,连到事件、停止与跨运行时契约
Audio System Atlas:音频系统笔记导读
接口、时钟、缓冲、音频栈与流式语音
具身智能的快慢控制环:实时控制与 VLA 推理如何协作
从控制周期、动作接口和跨域通信看软硬件分工
Agent 运行时设计笔记:控制循环、参数校验与外部验收
按六个阶段梳理执行流程,附 Python 参考骨架和实现边界
上下文工程笔记:前缀缓存、长上下文与记忆分层
多轮 Agent 如何组织输入、保留状态和控制上下文开销
大模型
上下文工程笔记:前缀缓存、长上下文与记忆分层
多轮 Agent 如何组织输入、保留状态和控制上下文开销
Agent
Agent 运行时设计笔记:控制循环、参数校验与外部验收
按六个阶段梳理执行流程,附 Python 参考骨架和实现边界
运行时
Agent 运行时设计笔记:控制循环、参数校验与外部验收
按六个阶段梳理执行流程,附 Python 参考骨架和实现边界
Python
Agent 运行时设计笔记:控制循环、参数校验与外部验收
按六个阶段梳理执行流程,附 Python 参考骨架和实现边界
具身智能
具身智能的快慢控制环:实时控制与 VLA 推理如何协作
从控制周期、动作接口和跨域通信看软硬件分工
RTOS
具身智能的快慢控制环:实时控制与 VLA 推理如何协作
从控制周期、动作接口和跨域通信看软硬件分工
VLA
具身智能的快慢控制环:实时控制与 VLA 推理如何协作
从控制周期、动作接口和跨域通信看软硬件分工
机器人
具身智能的快慢控制环:实时控制与 VLA 推理如何协作
从控制周期、动作接口和跨域通信看软硬件分工
异步 IO
从 buffer 的寿命谈平台设计
由一个异步队列问题,连到事件、停止与跨运行时契约