Skip to content

Linux 内核

Linux 内核子系统源码分析(Linux 6.8)。

USB 子系统

  1. USB 2.0 枚举流程
  2. hub_port_init 调用链
  3. usb_get_descriptor 调用链
  4. 枚举与两轮 Probe
  5. UVC 驱动分析
  6. Gadget 子系统概览 — UDC / composite / configfs 四层架构
  7. Configfs 组装分析gadget_info / cdev 脚本拼装与 bind
  8. UDC bind 分析udc_bind_to_driver、pending、pullup
  9. DWC2 接口总览gadget_opsep_ops 与框架交付边界
  10. Composite EP0 枚举composite_setupSET_CONFIGURATION
  11. ACM Function 路径f_acm.cgserial_connect 与 ttyGS
  12. Gadget CDC ACM 串口实践 — configfs + ttyGS0 / Host cdc_acm

Media / V4L2 子系统

Pinctrl / GPIO 子系统

SPI 子系统

Sound / ALSA

对照内核以百问 Linux 4.9.88 BSP 为主(文首已注明;与上方多数 6.8 文不同)。

  1. i.MX6ULL /dev/snd 设备节点controlC0 / pcmC0D0·D1dai_linkfile_operations
  2. i.MX6ULL 声卡播放路径aplay → SDMA / SAI / WM8960 与调用栈
  3. i.MX6ULL 声卡录音路径arecord / read / DEV_TO_MEM / SAI RX
  4. ALSA PCM 状态机与 XRUN — 状态、阈值与 underrun/overrun

系列概览:Sound / ALSA

BPF / kprobe

对照内核以 Ubuntu HWE 5.15 为主(文首已注明;与上方多数 6.8 文不同)。

  1. eBPF kprobe:load / attach / 命中 — PROG_LOAD / 插桩 / LINK / 多 BPF 分发
  2. kprobe-on-ftrace 插桩实测 — 入口 NOP↔CALL 与 handler 上下文

系列概览:BPF / kprobe

调试与实践

针对具体问题的排查记录与实验笔记(与上方流程分析互补)。

基于 VitePress 构建