Toggle navigation
Yvain Zhang
首页
主题
开源
Geek
摄影
关于
Tags
按主题查看全部文章
操作系统
消息队列
系统设计
嵌入式
驱动
网络
协议栈
中断
MMU
ARM
Socket
Linux
内存管理
FreeRTOS
RISC-V
多媒体
音频
数字音频
MP3
AAC
FLAC
容器
MP4
WAV
Ogg
MPEG
标准
AMR
FFmpeg
工具链
流媒体
M3U8
音视频
无线网络
Wi-Fi
低功耗
P2P
802.11
USB
内存分析
操作系统
FreeRTOS 常见故障排查
优先级、栈、heap 和 printf 排错清单
FreeRTOS 整体架构图集:RISC-V 移植版
RISC-V port 的启动、Tick 和上下文切换笔记
Linux 内存管理概览
页表、VMA、分配、回收和 OOM
网络编程实践笔记
Socket 模型和常见排错顺序
ARM 启动流程
上电后每一个阶段做了什么
中断、多核、MMU 与 Cache 基础
一份给系统排错用的概念笔记
L2 与 L3 网络基础
MAC、ARP、IP 和路由怎样接起来
Linux 嵌入式基础问答
中断、锁、设备模型和内核边界笔记
消息队列的三个核心场景
解耦、异步和消峰到底解决什么
消息队列
消息队列的三个核心场景
解耦、异步和消峰到底解决什么
系统设计
消息队列的三个核心场景
解耦、异步和消峰到底解决什么
嵌入式
FreeRTOS 常见故障排查
优先级、栈、heap 和 printf 排错清单
FreeRTOS 整体架构图集:RISC-V 移植版
RISC-V port 的启动、Tick 和上下文切换笔记
ARM 启动流程
上电后每一个阶段做了什么
Linux 嵌入式基础问答
中断、锁、设备模型和内核边界笔记
驱动
Wi-Fi 驱动内存占用分析
把静态、动态、峰值和泄漏趋势拆开算
Wi-Fi USB 驱动架构与性能调优
顺着 TX / RX 路径找吞吐瓶颈
Linux 嵌入式基础问答
中断、锁、设备模型和内核边界笔记
网络
网络编程实践笔记
Socket 模型和常见排错顺序
L2 与 L3 网络基础
MAC、ARP、IP 和路由怎样接起来
协议栈
L2 与 L3 网络基础
MAC、ARP、IP 和路由怎样接起来
中断
中断、多核、MMU 与 Cache 基础
一份给系统排错用的概念笔记
MMU
中断、多核、MMU 与 Cache 基础
一份给系统排错用的概念笔记
ARM
ARM 启动流程
上电后每一个阶段做了什么
Socket
网络编程实践笔记
Socket 模型和常见排错顺序
Linux
Linux 内存管理概览
页表、VMA、分配、回收和 OOM
内存管理
Linux 内存管理概览
页表、VMA、分配、回收和 OOM
FreeRTOS
FreeRTOS 常见故障排查
优先级、栈、heap 和 printf 排错清单
FreeRTOS 整体架构图集:RISC-V 移植版
RISC-V port 的启动、Tick 和上下文切换笔记
RISC-V
FreeRTOS 整体架构图集:RISC-V 移植版
RISC-V port 的启动、Tick 和上下文切换笔记
多媒体
FFmpeg 快速上手
先分清容器、流和编码
HLS 与 M3U8 播放列表基础
播放列表结构和直播排错
FFmpeg 安装与常用处理
编译配置和项目常用处理记录
AMR 语音编码基础
NB / WB、帧格式和语音链路
MPEG 标准谱系概览
MP3、AAC、MP4 和 H.264 分别在哪
Ogg 容器基础
Page、逻辑流和 packet 拼接
WAVE、RIFF 与 PCM
读懂文件头和 chunk
MP4 与 M4A 容器基础
Box、Track 和时间索引
FLAC 格式与无损压缩
文件结构、校验与无损压缩笔记
AAC 基础与编码工具
Profile、封装与兼容性检查
MP3 格式与解码流程
文件结构和完整解码链笔记
数字音频基础与处理流程
采样参数、PCM、容器和编码分别是什么
音频
AMR 语音编码基础
NB / WB、帧格式和语音链路
Ogg 容器基础
Page、逻辑流和 packet 拼接
WAVE、RIFF 与 PCM
读懂文件头和 chunk
FLAC 格式与无损压缩
文件结构、校验与无损压缩笔记
AAC 基础与编码工具
Profile、封装与兼容性检查
MP3 格式与解码流程
文件结构和完整解码链笔记
数字音频基础与处理流程
采样参数、PCM、容器和编码分别是什么
数字音频
数字音频基础与处理流程
采样参数、PCM、容器和编码分别是什么
MP3
MP3 格式与解码流程
文件结构和完整解码链笔记
AAC
AAC 基础与编码工具
Profile、封装与兼容性检查
FLAC
FLAC 格式与无损压缩
文件结构、校验与无损压缩笔记
容器
MP4 与 M4A 容器基础
Box、Track 和时间索引
MP4
MP4 与 M4A 容器基础
Box、Track 和时间索引
WAV
WAVE、RIFF 与 PCM
读懂文件头和 chunk
Ogg
Ogg 容器基础
Page、逻辑流和 packet 拼接
MPEG
MPEG 标准谱系概览
MP3、AAC、MP4 和 H.264 分别在哪
标准
MPEG 标准谱系概览
MP3、AAC、MP4 和 H.264 分别在哪
AMR
AMR 语音编码基础
NB / WB、帧格式和语音链路
FFmpeg
FFmpeg 快速上手
先分清容器、流和编码
FFmpeg 安装与常用处理
编译配置和项目常用处理记录
工具链
FFmpeg 安装与常用处理
编译配置和项目常用处理记录
流媒体
HLS 与 M3U8 播放列表基础
播放列表结构和直播排错
M3U8
HLS 与 M3U8 播放列表基础
播放列表结构和直播排错
音视频
FFmpeg 快速上手
先分清容器、流和编码
无线网络
Wi-Fi 驱动内存占用分析
把静态、动态、峰值和泄漏趋势拆开算
Wi-Fi USB 驱动架构与性能调优
顺着 TX / RX 路径找吞吐瓶颈
IEEE 802.11 分片机制
分片如何发送、确认和重组
Wi-Fi P2P 基础
发现、协商、组网和并发限制
Wi-Fi 低功耗机制概览
PS-Poll、U-APSD 和性能代价
Wi-Fi
IEEE 802.11 分片机制
分片如何发送、确认和重组
Wi-Fi P2P 基础
发现、协商、组网和并发限制
Wi-Fi 低功耗机制概览
PS-Poll、U-APSD 和性能代价
低功耗
Wi-Fi 低功耗机制概览
PS-Poll、U-APSD 和性能代价
P2P
Wi-Fi P2P 基础
发现、协商、组网和并发限制
802.11
IEEE 802.11 分片机制
分片如何发送、确认和重组
USB
Wi-Fi USB 驱动架构与性能调优
顺着 TX / RX 路径找吞吐瓶颈
内存分析
Wi-Fi 驱动内存占用分析
把静态、动态、峰值和泄漏趋势拆开算