查看: 994|回复: 0
收起左侧

RV-LINK:GDB 使用 RV-LINK 仿真器调试 RISC-V 程序

[复制链接]

  离线 

  • TA的每日心情
    奋斗
    2021-3-3 12:32
  • 签到天数: 10 天

    [LV.3]

    发表于 2020-8-23 22:02:23 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 皋陶 于 2020-8-26 17:42 编辑

    RV-LINK 项目主页:https://gitee.com/zoomdy/RV-LINK
    最新的文档请访问:https://gitee.com/zoomdy/RV-LINK/wikis,这里的内容可能没有及时更新。


    准备 RV-LINK

    首先将所支持的开发板烧入 RV-LINK 固件,然后开发板就变成 RISC-V 仿真器了,当前支持 Longan Nano 和 GD32VF103C-START 这两款开发板,请参考《将 Longan Nano 开发板变成 RISC-V 仿真器》《将 GD32VF103C-START 开发板变成 RISCV-V 仿真器》



    准备 RISC-V GDB

    如果已经安装了 RISC-V GCC 工具链,那么忽略该步骤,跳到 《安装 USB 串口驱动》。


    下载 GDB

    建议使用 GNU MCU Eclipse 项目发布的交叉工具链里的 GDB,下载地址:https://gnu-mcu-eclipse.github.io/toolchain/riscv/releases/

    也可以通过芯来科技的下载页面下载:https://www.nucleisys.com/download.php ,芯来科技网站下载会比较快一些。


    根据所使用的系统选择下载对应的版本,Ubuntu 下载 centos 版本,理论上 centos 版本适合所有 Linux 发行版。


    安装 GDB

    将下载好的压缩包解压即可,不需要安装。


    将 bin 目录加入 PATH 环境变量

    将 riscv-none-embed-gdb 所在的目录加入 PATH 环境变量。

    ...\GNU MCU Eclipse\RISC-V Embedded GCC\8.2.0-2.2-20190521-0004\bin


    安装 USB 转串口驱动

    RV-LINK 对上接口是一个 USB 串口,因此使用 RV-LINK 之前首先要配置好 USB 串口,RV-LINK 使用标准的 USB CDC ACM 串口,遵循《Universal Serial Bus Class Definitions for Communication Devices》(usbcdc11)规范。Linux 和 Windows 10 系统自动支持 CDC ACM 串口,Windows 7 需要安装驱动。


    Windows 7

    当前,RV-LINK 所使用的 Longan Nano 和 GD32VF103C-START 开发板均以 GD32VF103CB 为控制器,使用的是 GD 的 USB 串口 VID 和 PID,因此安装 GD 的 USB 串口驱动。


    在 GD 的下载页面 http://gd32mcu.21ic.com/documents/index/classify_id/7 下载 USB Virtual Com Port Driver,下载需要注册。


    根据自身系统是32位或64位选择x86或x64版。


    Nuclei Studio IDE-RV-LINK:GDB 使用 RV-LINK 仿真器调试 RISC-V 程序risc-v单片机中文社区(1)

    点击 Install 安装即可。



    Windows 10

    Windows 10 会自动安装 USB 串口驱动,只要将 RV-LINK 的 USB 口插入电脑,稍等片刻就可以了,打开设备管理器查看对应的串口号,以下假设串口号为 COM4。


    Linux

    这里假设使用 Ubuntu 发行版。Linux 自带 USB 串口驱动,只要将 RV-LINK 的 USB 口插入电脑,设备名称为:/dev/ttyACM0,如果有多个 USB 串口,那么也可能是 /dev/ttyACM1 等。


    GDB 连接 RV-LINK

    首先按照往常一样执行 GDB:


    1. riscv-none-embed-gdb xxx.elf
    复制代码


    接着连接 RV-LINK,使用 target remote ... 命令连接 RV-LINK 对应的串口号。不同的系统,使用的串口号不同。GDB 连接 OpenOCD 时,使用的是 TCP/IP,RV-LINK 使用的是串口,区别就在这。


    Windows:


    1. target remote com4
    复制代码


    Linux:


    1. target remote /dev/ttyACM0
    复制代码


    复位并halt:


    1. monitor reset halt
    复制代码


    其它就和平常使用 GDB 一样一样了:


    • load,下载程序
    • b main,设置断点
    • info registers,查看通用寄存器
    • info all-registers,查看包括 CSR 在内的所有寄存器
    • … 等等


    常见的问题
    xlen 不匹配

    如果 GDB 命令行参数没有指定程序,那么会报如下错误:


    1. bfd requires xlen 8, but target has xlen 4
    复制代码


    这只要在 GDB 中输入:


    1. set arch riscv:rv32
    复制代码


    告知 GDB,咱现在是 RV32,然后重新执行 target remote ... 就没有问题了。


    No such file or directory
    1. Error message from debugger back end:
    2. com3: No such file or directory.
    复制代码

    可能的原因有:


    • 串口号错误,通过设备管理器查看正确的串口号,如果设备管理器没有看到串口,那么检查 RV-LINK 是否正确连接,USB 串口驱动是否正确安装。
    • 串口被占用,串口被其它程序占用,比如已经打开了一个调试进程,又打开同样的调试进程就会报这个错误。
    • 如果在虚拟机里跑,检查一下有没有将 USB 串口映射到虚拟机里。



    the target is not connected

    1. Error message from debugger back end:
    2. Remote replied unexpectedly to 'vMustReplyEmpty':
    3. RV-LINK ERROR: the target is not connected!
    4. RV-LINK: Longan Nano, configed for GD32VF103 family.
    复制代码


    可能的原因有:


    • 目标板没有上电,检查目标板的电源。
    • JTAG 连线有问题,检查 JTAG 连线,任何一根线有短路或断路,都无法连接上。


    the target is not supported

    1. Error message from debugger back end:
    2. Remote replied unexpectedly to 'vMustReplyEmpty':
    3. RV-LINK ERROR: the target is not supported, upgrade RV-LINK firmware!
    4. RV-LINK: Longan Nano, configed for GD32VF103 family.
    复制代码

    可能的原因有:


    • 所连接的目标 MCU 不被当前的 RV-LINK 支持,例如当前 RV-LINK 配置成支持 GD32VF103,而实际连接的是 K210,就会报告这个错误。需要更换 RV-LINK 固件,如果目标 MCU 还没有被 RV-LINK 支持,那么需要在 RV-LINK 中添加对该 MCU 的支持。
    本篇完,感谢关注:RISC-V单片机中文网




    上一篇:RV-LINK:用RISC-V开发板做RISC-V仿真器
    下一篇:注意了!国产RISC-V IDE开发工具NucleiStudio_IDE(芯来科技)升级
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条


    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-3-29 23:03 , Processed in 0.417065 second(s), 47 queries .

    快速回复 返回顶部 返回列表