目前RISC-V的官方调试上位机是openocd,调试工具可以是JLink或者CMSIS-DAP,RISC-V调试系统框架如图3所示。 图3 RISC-V调试系统框架 可以看到主要分为3个部分,分别是Debug Host,可以理解为PC;Debug Hardware,可以理解为JLink或者CMSIS-DAP这样的调试工具;第三部分就是嵌入在芯片内部的调试模块。在调试模块内部,与调试...
此时这个外部硬件被称作调试适配器。 图45 硬件调试适配器 不论是调试控制器还是调试适配器,整个调试系统的本质都是通过 GDB 服务 器将 GDB 的命令转换为相应的 JTAG 操作,并通过独立于处理器的外部硬件来实 现这些 JTAG 操作。在实践中,许多 RISC-V 处理器都会采用 Open OCD(Open OnChip Debugger,开源片上调...
【启动调试】以CH32V103C8T6的芯片工程为例来说,首先保证工程可以编译通过,然后点击菜单栏 按钮,开始进入调试模式,正常进入调试模式会停在如图所示的位置,此位置有一个临时断点:【更改默认断点位置】当然如果希望工程可以直接停在main函数起始地方,也可以去手动更改此断点的位置,点击调试图标旁的下拉按钮,选择”...
该套件可以为嵌入式开发者提供C/C+ +程序的编辑、编译、运行及本地调试等功能[1]作为利用机器接口(MI,Machine Interface)支持C/C++源码调试最好的开源工具,采用CDT套件作 为交叉调试的前端,通过MI接口使CDT和GDB相互通信,构建了可视化的嵌入式远程调试软件,提高了开发效率。 1.1.2调试器选型 GDB是GNU工具集中的...
【创建调试配置】MRS调试配置可以由以下几种方式创建:A. MRS模板创建的工程自带.launch配置文件。B. 点击工具栏Debug Configurations选项打开调试配置页,双击GDB OpenOCD Debugging菜单项,创建调试配置。C. 选中工程后直接点击右键菜单”Debug As->OpenOCD Debug”,MRS会根据对应的目标芯片内核创建默认调试...
调试模块(debug module)是risc-v内核设计的比较独立也比较重要的一块,虽然0.13.2是risc-v debug的draft版本,但目前市面上risc-v处理器的调试模块几乎都是基于这个spec设计,在risc-v处理器设计中添加调试模块(电路)的目的是在设计固化后,用户仍能获取当前系统状态(通过访问各种资源信息)。所以调试(debug),也可以简...
RISC-V使用ripes进行可视化仿真调试 前言 在学习RISC-V时往往需要有一些工具进行汇编级别的代码仿真调试,或者进行一些可视化的仿真,一般使用qemu,但是其对于新手来说稍微显得有点复杂。ripes则是一个非常不错的项目可以满足这种需求,并且其提供一些可视化的模块,可以进行仿真测试,很方便。
图2.2 RISC-V调试框架总览 玄铁CPU中的调试模块,是基于《RISC-V Debug Spec v0.13.2》实现的,实现的功能包括:复位及调试控制、寄存器访问、内存访问、断点等功能。 关于调试模块中具体的功能及其操作接口,请查阅《RISC-V Debug Spec v0.13.2》,附链接:https://github.com/riscv/riscv-debug-spec ...
本文将详细介绍RISC-V CPU调试机制的设计原理,架构如下图: 如胡振波老师所说,CPU调试机制可能比CPU core本身的调试还要费时间,cpu进入debug模式,此时pc应指向debug rom,在debug rom内,cpu会根据当前状态执行一段固定程序,程序入口包括entry、resume或exception。
硬件调试器和RISC‑V芯片组,调试主机与硬件调试器通过USB方式通信连接,硬件调试器与RISC‑V芯片组通过串行线调试协议通信连接,且,RISC‑V芯片组包含至少一个RISC‑V芯片;在调试过程中,可以支持RISC‑V芯片组中多芯片、多核或多线程的调试模式,以提高时效性,并且,由于应用了串行线调试协议,可以节约调试接口...