Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

======================================================================== D60E 自动边界扫描测试仪 (D60E Auto-Tester) 基于 STM32F103 + OpenJTAG + Semihosting

[项目简介] 本项目利用 STM32F103 (Blue Pill) 作为 JTAG 主机,通过 GPIO 模拟 JTAG 时序,对 D60E 车载主板进行边界扫描测试(Boundary Scan)。 测试结果通过 OpenOCD Semihosting 技术实时回传至 PC 端显示。 本项目包含“反向供电”方案,无需 12V 外部电源即可激活目标板 MCU 进行测试。

[系统架构] PC (Git Bash) <==USB==> OpenJTAG <==JTAG==> STM32 <==GPIO==> D60E (Target)


  1. 硬件接线指南 (Hardware Setup)

A. OpenJTAG -> STM32 (下载/调试接口) 使用标准 20-pin JTAG 或 SWD 接口连接 OpenJTAG 与 STM32 Blue Pill。 确保 OpenOCD 能正常识别 STM32。

B. STM32 -> D60E (X701 接口) [核心连接]

  • 注意:Pin 8 用于反向给 D60E 供电,严禁同时接入 P679 的 12V 电源!
STM32 引脚 D60E X701 引脚 功能说明
PB12 Pin 1 TCK (时钟)
PB13 Pin 9 TMS (状态控制)
PB14 Pin 7 TDI (数据输出)
PB15 Pin 5 TDO (数据输入)
3.3V Pin 8 3.3V 反向供电
GND Pin 14 共地

  1. 软件环境 (Prerequisites)

  1. Windows 10/11 (推荐使用 Git Bash 终端)
  2. ARM GCC 编译器 (已包含在 gcc/ 目录下)
  3. OpenOCD (已包含在 openocd/ 目录下)

[目录结构说明] JTAG_Test/ ├── gcc/ # 编译器目录 ├── openocd/ # OpenOCD 工具 ├── fast_build.sh # [步骤1] 生成源码与工程文件脚本 ├── compile.cmd # [步骤2] 编译脚本 (生成 .elf) ├── setup_stm32_tester_v2.sh # [步骤3] 烧录与运行脚本 └── main.c # (自动生成) 测试固件源码


  1. 快速开始 (Quick Start)

步骤 1: 生成工程文件 在 Git Bash 中运行: $ ./fast_build.sh

此操作将生成 main.c, startup.s, linker.ld 和 compile.cmd。

步骤 2: 编译固件 在 Windows 资源管理器中双击运行 compile.cmd,或在终端运行: $ ./compile.cmd

成功标志:显示 "[SUCCESS] Firmware created: D60E_Tester.elf"

步骤 3: 烧录并运行 连接好所有硬件,在 Git Bash 中运行: $ ./setup_stm32_tester_v2.sh run

OpenOCD 将自动启动,烧录固件,并开启监听窗口。


  1. 结果解读 (Logs)

运行成功后,终端将显示实时测试日志:

STM32 D60E Tester (Powered by 3V3 Pin) Raw Data [0-3]: AA BB ... <-- 显示原始数据的头几个字节 PB2 State: HIGH <-- 引脚测试结果 (HIGH/LOW)

  • PB2 State: HIGH -> 引脚正常 (3.3V)
  • PB2 State: LOW -> 引脚短路至地 (GND) 或开路
  • Error: No Data -> JTAG 链路不通 (检查 Pin 8 供电和 Pin 14 接地)

  1. 自定义测试点 (Customization)

如需测试其他引脚(如 PA0):

  1. 打开 main.c
  2. 找到 while(1) 循环中的判断逻辑。
  3. 根据 BSDL 报告修改字节偏移量 (rx_buffer[x] >> y)。
  4. 重新运行 ./compile.cmd 编译。
  5. 重新运行 ./setup_stm32_tester_v2.sh run

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors