没有合适的资源?快使用搜索试试~ 我知道了~
RISC-V Debug SpecificationVersion 1.0-STABLE
试读
158页
需积分: 0 26 下载量 20 浏览量
更新于2023-10-23
收藏 1.41MB PDF 举报
《RISC-V Debug Specification Version 1.0-STABLE》是RISC-V架构的调试规范,由Paul Donahue和Tim Newsome等人编辑,旨在为RISC-V处理器的开发者和实现者提供一套稳定的调试标准。该规范在保持向后兼容性的前提下可能会进行微调,以确保所有版本的一致性。
在术语方面,该文档定义了调试过程中的关键概念,这对于理解调试协议至关重要。这些术语可能包括但不限于:调试模块(DM)、调试接口(DI)、调试访问端口(DAP)、调试事件、断点、单步执行、寄存器访问以及异常和故障处理等。
文档的上下文部分解释了规范的版本管理。从0.13版到1.0版的更新主要包含三个方面:错误修复、不兼容变更和次要变更。错误修复旨在解决已知问题,提高系统稳定性。不兼容变更可能涉及调试接口的结构或命令集,这些更改可能要求已有的实现进行调整以适应新规范。次要变更则通常涉及边缘情况的改进或文档清晰度的提升,它们不会破坏现有的调试功能。
在从0.13版到1.0版的bugfixes中,可能包括对特定调试事件处理的优化、断点机制的改进或者内存访问错误的修复等。不兼容的改变可能涉及到调试协议的命令格式、响应格式或者调试状态机的改变,这可能需要开发者更新他们的硬件或软件调试工具。而那些次要的改变可能是对某些特殊情况的处理方式进行了调整,或者是对原有规范的澄清,以减少误解。
此外,该文档还列出了众多对规范作出贡献的人员名单,显示出这个项目广泛的社区参与和支持。随着RISC-V架构的不断发展和应用,调试规范的稳定性和完善性对于确保不同实现间的互操作性至关重要。因此,对于任何实现RISC-V处理器或者开发相关工具的人来说,理解和遵循这个调试规范都是必要的。
RISC-V Debug Specification Version 1.0-STABLE不仅提供了调试协议的详细描述,还包括了如何与RISC-V处理器进行交互的指导,例如如何设置和清除断点、如何捕获和恢复程序状态、如何进行单步执行以及如何处理异常和中断等。同时,它还涵盖了调试数据模型、调试事件的触发和处理,以及调试信息的表示方式等核心内容。
这份文档是RISC-V生态系统中不可或缺的一部分,它为开发者提供了实现高效、可靠调试功能的基础,并确保了RISC-V处理器的调试一致性,从而促进了整个RISC-V社区的协作和发展。
RISC-V Debug Specification
Version 1.0-STABLE
f5b2ed3bb0eefcca075e99f3a8eece06e8d60063
Editors:
Paul Donahue <pdonahue@ventanamicro.com>, Ventana Micro Systems
Tim Newsome <tim@sifive.com>, SiFive, Inc.
Thu Oct 12 12:59:10 2023 -0700
Preface
This stable specification might change before being accepted as standard. We’re trying
to only make backwards-compatible changes, but sometimes it’s unavoidable to change
a corner case. If you implement this document, please keep an eye on the github
repository for changes that might affect your implementation.
Contributors to all versions of the spec in alphabetical order (please contact editors to suggest
corrections): Bruce Ableidinger, Krste Asanovi´c, Peter Ashenden, Allen Baum, Mark Beal, Alex
Bradbury, Chuanhua Chang, Yen Hao Chen, Zhong-Ho Chen, Monte Dalrymple, Paul Donahue,
Vyacheslav Dyachenko, Ernie Edgar, Peter Egold, Marc Gauthier, Markus Goehrle, Robert Golla,
John Hauser, Richard Herveille, Yung-ching Hsiao, Po-wei Huang, Scott Johnson, L. J. Madar,
Grigorios Magklis, Daniel Mangum, Alexis Marquet, Jan Matyas, Kai Meinhard, Jean-Luc Nagel,
Aram Nahidipour, Rishiyur Nikhil, Gajinder Panesar, Deepak Panwar, Antony Pavlov, Klaus Kruse
Pedersen, Ken Pettit, Darius Rad, Joe Rahmeh, Josh Scheid, Vedvyas Shanbhogue, Gavin Stark,
Ben Staveley, Wesley Terpstra, Tommy Thorn, Megan Wachs, Jan-Willem van de Waerdt, Philipp
Wagner, Stefan Wallentowitz, Ray Van De Walker, Andrew Waterman, Thomas Wicki, Andy
Wright, Bryan Wyatt, and Florian Zaruba.
i
Contents
Preface i
1 Introduction 1
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1.1 Bugfixes from 0.13 to 1.0 . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1.2 Incompatible Changes from 0.13 to 1.0 . . . . . . . . . . . . . . . . 4
1.2.1.3 Minor Changes from 0.13 to 1.0 . . . . . . . . . . . . . . . . . . . . 4
1.2.1.4 New Features from 0.13 to 1.0 . . . . . . . . . . . . . . . . . . . . . 5
1.2.1.5 Incompatible Changes During 1.0 Stable . . . . . . . . . . . . . . . 5
1.3 About This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 ISA vs. non-ISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 Register Definition Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3.1 Long Name (shortname, at 0x123) . . . . . . . . . . . . . . . . . . . 7
1.4 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Supported Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 System Overview 9
3 Debug Module (DM) (non-ISA extension) 11
ii
RISC-V Debug Specification Version 1.0-STABLE iii
3.1 Debug Module Interface (DMI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Reset Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Selecting Harts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 Selecting a Single Hart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.2 Selecting Multiple Harts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 Hart DM States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 Run Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6 Halt Groups, Resume Groups, and External Triggers . . . . . . . . . . . . . . . . . . 15
3.7 Abstract Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7.1 Abstract Command Listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7.1.1 Access Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7.1.2 Quick Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.7.1.3 Access Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.8 Program Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.9 Overview of Hart Debug States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.10 System Bus Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.11 Minimally Intrusive Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.12 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.13 Version Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.14 Debug Module Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.14.1 Debug Module Status (dmstatus, at 0x11) . . . . . . . . . . . . . . . . . . . 28
3.14.2 Debug Module Control (dmcontrol, at 0x10) . . . . . . . . . . . . . . . . . . 30
3.14.3 Hart Info (hartinfo, at 0x12) . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.14.4 Hart Array Window Select (hawindowsel, at 0x14) . . . . . . . . . . . . . . . 34
3.14.5 Hart Array Window (hawindow, at 0x15) . . . . . . . . . . . . . . . . . . . . 35
3.14.6 Abstract Control and Status (abstractcs, at 0x16) . . . . . . . . . . . . . . 35
3.14.7 Abstract Command (command, at 0x17) . . . . . . . . . . . . . . . . . . . . . 36
3.14.8 Abstract Command Autoexec (abstractauto, at 0x18) . . . . . . . . . . . . 37
剩余157页未读,继续阅读
资源推荐
资源评论
5星 · 资源好评率100%
182 浏览量
2024-03-11 上传
176 浏览量
5星 · 资源好评率100%
119 浏览量
162 浏览量
159 浏览量
143 浏览量
189 浏览量
2024-11-27 上传
182 浏览量
152 浏览量
179 浏览量
2020-01-09 上传
192 浏览量
5星 · 资源好评率100%
117 浏览量
5星 · 资源好评率100%
125 浏览量
RISC-V调试与追踪连接器标准详解(RISC-V Trace Connectors Specification,Version 1.0-rc50, Aug 14, 2024: Frozen sta)
147 浏览量
5星 · 资源好评率100%
2022-08-03 上传
116 浏览量
5星 · 资源好评率100%
140 浏览量
2023-11-01 上传
资源评论
a401183680
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 6.1随机密码生成.py
- putty,linux客户端工具
- 丹佛丝堆垛机变频器参数配置起升、运行、货叉
- redhat-lsb-core,安装磐维数据库,安装oracle数据库等常用的依赖包
- lsb-release,安装磐维数据库,安装oracle数据库等常用的依赖包
- glibc-devel,安装磐维数据库,安装oracle数据库等常用的依赖包
- redhat-lsb-submit-security,安装磐维数据库,安装oracle数据库等常用的依赖包
- 可以在mac下开发的微雪esp32触摸屏开发板的支持包
- redhat-lsb-core,安装磐维数据库,安装oracle数据库等常用的依赖包
- redhat-lsb-core,安装磐维数据库,安装oracle数据库等常用的依赖包
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功