feat: 完善 MCU 芯片自动化测试架构
- 重构为三角色协作:人+Arch AI+执行AI - 新增 Excel 寄存器表格解析工具,自动生成测试代码 - 新增串口日志分析工具,自动生成测试报告 - 完善项目文档:AGENTS.md、README.md - 创建自动化测试架构设计文档 - 添加示例测试任务 P01-001
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# P01_chip_test - 环境准备
|
||||
|
||||
## 编译器支持
|
||||
|
||||
| 编译器 | 版本要求 | 安装说明 |
|
||||
|--------|---------|---------|
|
||||
| Arm Clang | >= 18.0.0 | 来自 ARM 官方 |
|
||||
| Keil MDK (AC6) | >= 6.18 | uVision 开发环境 |
|
||||
| Arm GCC | >= 12.0.0 | 开源工具链 |
|
||||
|
||||
## 调试工具
|
||||
|
||||
- **pyOCD**: 0.30.x 或更高
|
||||
- **OpenOCD**: 0.12.x 或更高
|
||||
- **串口工具**: minicom / PuTTY / screen
|
||||
|
||||
## 硬件连接
|
||||
|
||||
| 接口 | 用途 |
|
||||
|------|------|
|
||||
| JTAG/SWD | 调试下载 |
|
||||
| UART1 | 日志输出 |
|
||||
| LED | GPIO输出 |
|
||||
| KEY | GPIO输入 |
|
||||
|
||||
## 快速开始
|
||||
|
||||
```bash
|
||||
# 编译 (Arm GCC)
|
||||
cd projects/P01_chip_test
|
||||
make
|
||||
|
||||
# 下载固件 (pyOCD)
|
||||
pyocd flash build/firmware.hex
|
||||
pyocd gdbserver
|
||||
|
||||
# 串口监控
|
||||
minicom -D /dev/ttyUSB0 -b 115200
|
||||
```
|
||||
@@ -0,0 +1,31 @@
|
||||
# Demo 工程
|
||||
|
||||
## 说明
|
||||
这是可以运行串口 printf 打印的基础工程,作为测试项目的起点。
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
demo/
|
||||
├── src/
|
||||
│ ├── main.c
|
||||
│ └── uart_driver.c
|
||||
├── inc/
|
||||
│ ├── uart_driver.h
|
||||
│ └── registers.h
|
||||
└── build/
|
||||
```
|
||||
|
||||
## 使用步骤
|
||||
|
||||
1. 把你的 Demo 工程文件复制到这个目录
|
||||
2. 确保工程可以正常编译和运行
|
||||
3. 验证串口 printf 输出正常
|
||||
4. 执行AI 会基于这个工程扩展测试功能
|
||||
|
||||
## 验证检查清单
|
||||
|
||||
- [ ] 可以正常编译
|
||||
- [ ] 可以下载到芯片
|
||||
- [ ] 串口有 printf 输出
|
||||
- [ ] LED 闪烁(可选)
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
// 假设的硬件抽象层
|
||||
#define LED_PIN 13
|
||||
#define KEY_PIN 0
|
||||
|
||||
void GPIO_Init(void) {
|
||||
// 初始化 GPIO 外设
|
||||
}
|
||||
|
||||
void GPIO_SetOutput(uint32_t pin, uint8_t value) {
|
||||
// 设置引脚输出电平
|
||||
}
|
||||
|
||||
uint8_t GPIO_ReadInput(uint32_t pin) {
|
||||
// 读取引脚输入状态
|
||||
return 0;
|
||||
}
|
||||
|
||||
void delay(volatile uint32_t count) {
|
||||
while (count--);
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
GPIO_Init();
|
||||
|
||||
printf("=== MCU芯片GPIO测试 ===\n");
|
||||
printf("测试开始\n");
|
||||
|
||||
while (1) {
|
||||
// LED 闪烁
|
||||
GPIO_SetOutput(LED_PIN, 1);
|
||||
printf("LED ON\n");
|
||||
delay(1000000);
|
||||
|
||||
GPIO_SetOutput(LED_PIN, 0);
|
||||
printf("LED OFF\n");
|
||||
delay(1000000);
|
||||
|
||||
// 按键检测
|
||||
if (GPIO_ReadInput(KEY_PIN) == 0) {
|
||||
printf("KEY PRESSED\n");
|
||||
delay(500000);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user