首页
/ PICO-DIRTYJTAG 使用教程

PICO-DIRTYJTAG 使用教程

2024-08-16 18:16:26作者:何举烈Damon

项目介绍

PICO-DIRTYJTAG 是一个开源项目,旨在将 Raspberry Pi Pico 转换为一个功能强大的 JTAG 调试工具。该项目利用 Pico 的 PIO 单元来生成和捕获 JTAG 信号,是 DirtyJtag 项目的移植版本。此外,它还提供了一个桥接到外部 UART 的功能,使得用户可以通过 USB 接口访问设备的 UART。

项目快速启动

环境准备

  1. 确保你已经安装了 Raspberry Pi Pico SDK。
  2. 克隆项目仓库到本地:
    git clone https://github.com/phdussud/pico-dirtyJtag.git
    

编译和上传

  1. 创建构建目录并进入:

    mkdir -p build
    cd build
    
  2. 运行 CMake 和 make 命令:

    cmake ..
    make
    
  3. 如果一切顺利,你将得到一个 dirtyJtag.uf2 文件,直接将其上传到 Raspberry Pi Pico。

使用示例

  1. 将 Pico 连接到主机后,你会看到一个新的 USB 设备:

    lsusb
    
  2. 使用 UrJTAG 或 openFPGALoader 等 JTAG 工具连接到 JTAG 功能。例如,使用 openFPGALoader:

    sudo openFPGALoader --cable dirtyJtag --detect
    

应用案例和最佳实践

硬件调试

对于嵌入式开发者来说,PICO-DIRTYJTAG 是一个不可或缺的工具,可以方便地进行 JTAG 协议的调试。

实时数据监测

通过桥接到外部 UART,可以在开发过程中即时查看和记录目标设备的串行通信数据。

教育与学习

在教学环境中,它可以简化硬件级别的示例演示,帮助学生更好地理解底层电路工作原理。

典型生态项目

UrJTAG

UrJTAG 是一个功能强大的 JTAG 工具,PICO-DIRTYJTAG 与之兼容,支持在 2017 年添加的功能。

openFPGALoader

openFPGALoader 是一个开源的 FPGA 加载工具,PICO-DIRTYJTAG 与之兼容,支持在 v0.1 版本中添加的功能。

OpenOCD

OpenOCD 是一个开源的 JTAG 调试工具,PICO-DIRTYJTAG 与之兼容,目前有一个补丁正在审核中。

通过以上教程,你可以快速上手并充分利用 PICO-DIRTYJTAG 项目进行硬件调试和开发。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
136
1.89 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
71
63
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.28 K
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
918
550
PaddleOCRPaddleOCR
飞桨多语言OCR工具包(实用超轻量OCR系统,支持80+种语言识别,提供数据标注与合成工具,支持服务器、移动端、嵌入式及IoT设备端的训练与部署) Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
Python
46
1
easy-eseasy-es
Elasticsearch 国内Top1 elasticsearch搜索引擎框架es ORM框架,索引全自动智能托管,如丝般顺滑,与Mybatis-plus一致的API,屏蔽语言差异,开发者只需要会MySQL语法即可完成对Es的相关操作,零额外学习成本.底层采用RestHighLevelClient,兼具低码,易用,易拓展等特性,支持es独有的高亮,权重,分词,Geo,嵌套,父子类型等功能...
Java
36
8
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
193
273
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
59
16