tupingr 8157f10768 feat: 完善 MCU 芯片自动化测试架构
- 重构为三角色协作:人+Arch AI+执行AI
- 新增 Excel 寄存器表格解析工具,自动生成测试代码
- 新增串口日志分析工具,自动生成测试报告
- 完善项目文档:AGENTS.md、README.md
- 创建自动化测试架构设计文档
- 添加示例测试任务 P01-001
2026-05-27 10:44:55 +08:00

ErrLens MCU芯片自动化测试项目

项目目标

基于芯片手册和 Excel 寄存器表格,通过运行软件的方式配合 JTAG 调试工具和串口工具,自动验证芯片实际功能是否与文档描述一致。


核心特性

  • Excel 寄存器表格解析 → 自动生成寄存器定义头文件
  • 自动生成测试代码 → 寄存器读写测试、功能验证
  • JTAG 自动化下载 + 运行
  • 串口日志监控 + 自动分析
  • 测试结果自动验证 + 报告生成
  • "人+Arch AI+执行AI" 协作模式

目录结构

.
├── AGENTS.md                      # AI角色定义+权限约定+工作流
├── README.md
├── .gitignore
├── .ai/                           # AI协作核心配置
│   ├── config/
│   │   ├── architect.json         # Arch AI 配置
│   │   ├── executor.json          # 执行AI 配置
│   │   └── workflow.json          # 工作流配置
│   └── prompts/
│       ├── architecture/          # 架构设计提示词模板
│       └── execution/             # 执行提示词模板
├── docs/                          # 全局文档 (Arch AI 编写,执行AI 只读)
│   ├── 00_芯片资料/               # 芯片资料(Excel寄存器表、手册)
│   │   ├── registers/             # Excel寄存器表格
│   │   └── datasheet/             # 芯片手册
│   ├── 01_测试需求/               # 芯片功能需求分析
│   ├── 02_测试架构/               # 测试架构设计和编译器方案
│   ├── 03_开发规范/               # 开发规范和最佳实践
│   └── 04_变更日志/               # 变更记录
├── tools/                         # 测试工具 (Arch AI 和执行AI 可写)
│   ├── jtag/                      # JTAG调试工具脚本
│   └── uart/                      # 串口监控工具脚本
├── projects/                      # 芯片测试项目
│   ├── P01_chip_test/             # 主芯片测试项目
│   │   ├── demo/                  # 串口printf Demo工程(起点)
│   │   ├── src/                   # 测试固件代码 (执行AI 可写)
│   │   ├── tests/                 # 测试用例 (执行AI 可写)
│   │   ├── docs/                  # 项目文档 (执行AI 可写)
│   │   └── ENVIRONMENT.md         # 项目级环境准备
│   └── P02_ext_test/              # 扩展测试项目
│       ├── src/
│       ├── tests/
│       ├── docs/
│       └── ENVIRONMENT.md
├── review/                        # 交接中心
│   ├── active/                    # 活跃任务
│   │   ├── P01-001/               # 项目1-任务1
│   │   │   ├── task.md            # 任务描述
│   │   │   ├── acceptance.md      # 验收标准
│   │   │   ├── impact.md          # 变更影响范围
│   │   │   └── feedback/          # 反馈记录
│   │   │       └── round1.md
│   │   └── ...
│   └── archived/                  # 已完成任务(按季度归档)
│       └── 2026-Q2/
├── shared/                        # 共享资源 (Arch AI 可写,执行AI 只读)
│   ├── scripts/                   # 共享脚本
│   │   └── parse_registers.py     # Excel寄存器表格解析工具
│   ├── templates/                 # 固件代码模板
│   └── utils/                     # 工具函数
├── reports/                       # 统一报告 (执行AI 可写)
│   ├── test-results/              # 测试结果报告
│   └── quality-reports/           # 质量分析报告
└── .github/                       # CI/CD配置
    └── workflows/

团队角色

角色 是谁 干什么 不干什么
人类负责人 下指令、审阅、做决策、定验收标准 不写代码、不执行测试
Arch AI Claude/TRAE/元宝等 需求分析、测试架构设计、编译器选择、JTAG调试流程设计 不直接执行硬件测试
执行AI Claude/TRAE/扣子等 写测试固件、编译下载、JTAG调试、串口监控、写测试报告 不修改测试架构、不动 shared/

工作流程

0. 准备输入资源(前置步骤)

  • Excel 寄存器表格 放入 docs/00_芯片资料/registers/
  • 串口 printf Demo 工程 放入 projects/P01_chip_test/demo/

1-4. 正式工作流程

  1. Arch AI 解析 Excel 寄存器表格,分析芯片功能需求,制定测试规划,输出 docs/01_测试需求/review/active/P01-001/task.md
  2. Arch AI 设计测试架构,选择编译器,规划JTAG/串口调试流程,输出 docs/02_测试架构/acceptance.mdimpact.md
  3. 执行AI 读取任务描述和验收标准,基于 Demo 工程扩展测试功能,配置环境,通过JTAG下载执行,收集串口日志,写 feedback/round1.md
  4. 审一眼测试报告,确认任务完成或要求修复
  5. 有问题 → 执行AI 修复 → 回到步骤3(round2)
  6. 通过 → 你确认 → 任务关闭,报告归档到 reports/

编译器支持

编译器 版本要求 适用场景
Arm Clang >= 18.0.0 高性能开发
Keil MDK (AC6) >= 6.18 工业级应用
Arm GCC >= 12.0.0 开源生态

调试方式

  • JTAG/SWD: 下载固件、单步调试
  • 串口: 监控日志输出、查看测试结果

任务状态流转

TODO → IN_PROGRESS → REVIEW → DONE → ARCHIVED(移入archived/季度目录)

task.md 中添加状态字段:

status: TODO | IN_PROGRESS | REVIEW | DONE | ARCHIVED

参考文档

文件 说明
AGENTS.md AI角色定义与权限约定
docs/02_测试架构/automated_test_architecture.md 自动化测试架构详细设计
workflow.json 工作流配置
P01-001 任务 示例任务单

快速开始:自动化测试

0. 准备输入资源

# 1. 将 Excel 寄存器表格放入
#    docs/00_芯片资料/registers/

# 2. 将 Demo 工程放入
#    projects/P01_chip_test/demo/

1. 解析寄存器表格,生成测试代码

cd /home/ydp/work/errlens
python3 shared/scripts/parse_registers.py

输出:

  • projects/P01_chip_test/inc/registers.h - 寄存器定义
  • projects/P01_chip_test/src/registers_test.c - 自动生成的测试代码
  • projects/P01_chip_test/tests/registers_spec.json - 测试描述

2. 编译测试固件

# 使用 Arm GCC
cd projects/P01_chip_test
make

3. JTAG 下载并运行

cd /home/ydp/work/errlens
# 脚本待完善: ./tools/jtag/flash.sh
# 或使用 pyocd:
pyocd flash projects/P01_chip_test/build/firmware.hex

4. 监控串口并捕获日志

# 脚本待完善: ./tools/uart/monitor.sh -o test_log.txt
# 或使用 minicom 记录日志
minicom -D /dev/ttyUSB0 -b 115200 -C test_log.txt

5. 分析日志,生成报告

python3 shared/scripts/analyze_log.py test_log.txt -o test_report.txt

查看报告:cat test_report.txt


快速开始

# 克隆仓库
git clone <repository-url>
cd errlens

# 阅读协作规则
cat AGENTS.md

# 查看当前任务
ls -la review/active/

版本历史

版本 日期 说明
v2.0 2026-05-22 重构为MCU芯片测试架构,三角色:人+Arch AI+执行AI
v1.0 2026-05-22 初始版本,完成目录结构设计
S
Description
No description provided
Readme 484 KiB
Languages
TypeScript 92%
JavaScript 3.2%
Python 2.7%
CSS 1.6%
HTML 0.3%
Other 0.2%