这是一个 GitHub 开源项目,基于 RP2040 (Pico) 硬件复刻龙芯 EJTAG 调试器,用于龙芯 MIPS 架构芯片的硬件调试、Flash 烧录,替代昂贵的官方 EJTAG 仿真器。
一、项目背景
龙芯 2K、3A 系列芯片原生使用 EJTAG 调试接口,但官方调试探头价格高。 本项目目标:
使用低成本 RP2040‑Zero 开发板,自制兼容 EJTAG 调试器;
和龙芯官方工具
la_dbg_tool_usb兼容;降低龙芯嵌入式开发门槛;
项目还有衍生版本:CH32‑Loongson‑EJTAG,进一步压低成本,使用 CH32V203 单片机实现GitHub。
二、硬件接线(RP2040‑Zero)
RP2040 GPIO | EJTAG 信号 | 备注 |
|---|---|---|
8 | #TRST | |
9 | TDI | |
10 | TDO | |
11 | TMS | |
12 | TCK | |
13 | #BRST | |
14 | #DINT | |
26 | VIO | 模拟引脚,提供目标机调试接口电平 |
VIO 引脚输出调试电平,适配目标芯片 IO 电压。
三、功能完整度⚠️(当前版本限制)
✅ 已实现:SPI Flash 烧写,仅在 2K0300 验证通过 ❌ 未完整实现:
0xe、0xf快速读内存指令,批量读内存不可用;0xc、0xd快速写内存指令;未在 2K0300 以外芯片测试,多核处理器适配未知。
当前版本不能完整跑全部 EJTAG 命令,部分调试功能受限。
四、构建与编译环境
项目使用 pico‑sdk + picotool,Windows 下可使用 VSCode 编译。
环境变量配置
PICO_SDK_PATH:pico‑sdk 仓库路径PICO_TOOLCHAIN_PATH:ARM GCC 编译器路径
clangd 适配坑点
clangd 识别 arm‑none‑eabi 工具链会出错,需要在.clangd参数手动指定 GNU 工具链路径,否则头文件查找失败。
五、许可证
外部引入文件保留原有版权;
其余代码 GPL‑3.0‑only 开源许可。
