新ちゃん 发表于 2020-10-1 12:34:39

RV-LINK:Eclipse 使用 RV-LINK 调试 RISC-V 程序

本帖最后由 新ちゃん 于 2020-10-1 13:00 编辑

RV-LINK 项目主页:https://gitee.com/zoomdy/RV-LINK
最新的文档请访问:RV-LINK:用RISC-V开发板实现的RISC-V仿真器,这里的内容可能没有及时更新。
前期准备按照《GDB 使用 RV-LINK 仿真器调试 RISC-V 程序》准备好 RV-LINK,GDB,安装好 USB 驱动。
Eclipse
假设使用 Eclipse CDT + GNU MCU Eclipse 插件(可以通过 Eclipse Marketplace 安装),如果是 Windows,那么还需要 GNU MCU Eclipse Windows Build Tools。
创建调试配置


[*]新建 GDB Hardware Debugging 类调试配置,


[*]Debugger 标签页的 GDB Command 填入 riscv-none-embed-gdb -ex "set arch riscv:rv32",riscv-none-embed-gdb 所在的路径一定要加到 PATH 环境变量,否则找不到程序; -ex "set arch riscv:rv32"是必须设置的,否则报告错误bfd requires xlen 8, but target has xlen 4


[*]JTAG Device 选择 Generic Serial,


[*]GDB Connection String 填入 RV-LINK 串口号,Windows 填入 com3、com4 等,Linux 填入 /dev/ttyACM0、/dev/ttyACM1 等。




[*]Startup 标签页的 Reset and Delay 和 Halt 选项勾上,这两个选项没勾,可能会导致 Flash 下载失败。


[*]Set brekpoint at 选项勾上,输入框填入 main,将在 main 函数停下来。


[*]Resume 选项勾上。


以上是典型配置,可以按需求修改配置。
点击 Debug 按钮就可以开始调试了,下载程序时,进度停留在 94%,如下图所示:

其它 Eclipse 窗口可能处于卡顿状态,等程序下载完成后就会恢复正常,这确实不太友好。

注意:在进度停留在 94% ,即下载程序期间,不要去点击调试按钮。这段时间就静静地做个美男子(美女子)吧!不会很长,GD32VF103 的 Flash 下载速度约 4KB/s。

常见的错误

No such file or directory

Error message from debugger back end:
com3: No such file or directory.
可能的原因有:

[*]串口号错误,通过设备管理器查看正确的串口号,如果设备管理器没有看到串口,那么检查 RV-LINK 是否正确连接,USB 串口驱动是否正确安装。


[*]串口被占用,串口被其它程序占用,比如已经打开了一个调试进程,又打开同样的调试进程就会报这个错误。


[*]如果在虚拟机里跑,检查一下有没有将 USB 串口映射到虚拟机里。



the target is not connected



Error message from debugger back end:
Remote replied unexpectedly to 'vMustReplyEmpty':
RV-LINK ERROR: the target is not connected!
RV-LINK: Longan Nano, configed for GD32VF103 family.
可能的原因有:

[*]目标板没有上电,检查目标板的电源。


[*]JTAG 连线有问题,检查 JTAG 连线,任何一根线有短路或断路,都无法连接上。


the target is not supported
Error message from debugger back end:
Remote replied unexpectedly to 'vMustReplyEmpty':
RV-LINK ERROR: the target is not supported, upgrade RV-LINK firmware!
RV-LINK: Longan Nano, configed for GD32VF103 family.
可能的原因有:

[*]所连接的目标 MCU 不被当前的 RV-LINK 支持,例如当前 RV-LINK 配置成支持 GD32VF103,而实际连接的是 K210,就会报告这个错误。需要更换 RV-LINK 固件,如果目标 MCU 还没有被 RV-LINK 支持,那么需要在 RV-LINK 中添加对该 MCU 的支持。



页: [1]
查看完整版本: RV-LINK:Eclipse 使用 RV-LINK 调试 RISC-V 程序