zhoujie 82d672a2d3 📝 docs(openspec): 新增 DVP-DMA-IR 检查的文档和规范
- 在 openspec/changes/archive/ 下新增 2026-03-13-check-dvp-dma-ir 归档目录
- 新增设计文档 (design.md),包含背景、目标、决策和风险评估
- 新增提案文档 (proposal.md),说明变更原因、内容和影响
- 新增功能规范 (spec.md),定义 DVP 配置验证、DMA 内存传输正确性和诊断输出要求
- 新增任务清单 (tasks.md),列出代码审查、中断处理和诊断验证的具体步骤
- 更新 openspec/config.yaml,添加上下文注释
- 在 openspec/specs/ 下新增 dvp-dma-ir-capture 功能规范

🐛 fix(dvp): 修复 DVP 任务中的竞态条件并增强调试输出

- 在 DVP_Task() 中访问 Line_Ready_Flag 和 Ready_Line_Ptr 前禁用 DVP 中断,操作后重新启用,防止数据竞争
- 增强第0行的调试打印,每秒计算并输出帧率 (fps)
- 新增打印第0行前8个字节的原始数据,用于验证数据有效性
- 使用外部定义的 sys_tick_ms 进行时间计算,确保时间基准一致
2026-03-13 23:25:48 +08:00

1.2 KiB
Raw Blame History

ADDED Requirements

Requirement: DVP configuration verification

系统必须具备按预期传感器时序要求正确初始化的外设 DVP并在捕捉时确保引脚映射和控制极性符合期望。

Scenario: DVP Peripheral correctly starts capture

  • WHEN 系统启动且开启红外捕捉模式
  • THEN DVP 能够捕捉到有效场同步和行同步信号并进行同步

Requirement: DMA memory transport correctness

DMA 通道必须绑定至 DVP 数据寄存器,并以与图像帧空间匹配(甚至双缓冲)的配置分配目的内存区域,地址不得非法越界。

Scenario: Frame mapped successfully to RAM buffer

  • WHEN DVP 传输满一整帧
  • THEN DMA 完整将其写入指定的 RAM buffer 并生成 DMA 满完成中断。

Requirement: Diagnostic outputs for infrared data validation

应当包含不阻塞中断流的轻微日志来输出当前捕捉到的前 N 个像素或帧计数,以在运行时供检查验证。

Scenario: User checks IR camera status from terminal

  • WHEN 持续采集数据
  • THEN 主循环能够根据完成标志打印当前帧率及简易采集信息进行调试。