RISC-V技术论坛
直播中

张艳

8年用户 1704经验值
私信 关注
[问答]

蜂鸟E203 Eclipse工程无法调试怎么解决?

我使用git  hbird-e-sdk中指向的  https://pan.baidu.com/s/1eUbBlVc  
HBird-Eclipse_2018_09.rar ,按照书中的步骤创建项目,一步步操作完毕,运行成功,得到提示:


  • (3292) hpmcounter27h (/32)


  • (3293) hpmcounter28h (/32)


  • (3294) hpmcounter29h (/32)


  • (3295) hpmcounter30h (/32)


  • (3296) hpmcounter31h (/32)


  • (3922) mvendorid (/32)


  • (3923) marchid (/32)


  • (3924) mimpid (/32)


  • (3925) mhartid (/32)


  • (4161) priv (/8)
按照书中的说法,这个就是正确的。
但是,程序却并没有被下载到蜂鸟FPGA板中;点击Debug也无法在main函数那里停下来,点击暂停调试会停在其他的地方。
开发板中还是以前写入的其他程序,按下Reset按钮里面会自动运行上次写入的程序、输出内容;这次想调试的程序却没有在板中)


请问这是怎么回事儿?   Nuclei Studio IDE能够用来调试蜂鸟FPGA板吗?

回帖(1)

李芳

2025-11-14 17:35:22

针对蜂鸟E203 Eclipse工程无法调试的问题,以下是系统化的解决方案,请逐步排查:




1. 确认调试环境配置




  • OpenOCD配置检查



    • 确保 hbird-e-sdk 中的OpenOCD配置文件路径正确(通常位于 board/openocd 目录)。

    • 在Eclipse的 Debug ConfigurationsOpenOCD Setup 中:

    • 配置文件路径:${workspace_loc:/your_project_name/board/openocd/hbird-e203.cfg}

    • 勾选 Start OpenOCD locally

    • 若使用J-Link,替换为 hbird-e203-jlink.cfg




  • GDB配置



    • Debugger 选项卡中:

    • GDB路径:指向RISC-V工具链的 riscv-none-embed-gdb

    • 命令:set arch riscv:rv32set remotetimeout 250






2. 硬件连接与驱动



  • 调试器连接

    • 确认JTAG调试器(如J-Link、FT2232)与开发板连接稳固。

    • 检查USB线是否正常(尝试更换接口或线缆)。


  • 驱动安装




3. 工程配置修正




  • 项目属性设置



    • 右键项目 → C/C++ BuildSettings

    • Target Processorrv32imac

    • ABIilp32

    • 优化级别:-O0(调试时禁用优化)。

    • Linker Script:确认链接脚本路径正确(如 hbird-e-sdk/board/linker_scripts/ram.ld)。




  • 启动OpenOCD



    • 在终端手动启动OpenOCD,验证是否能识别芯片:
      openocd -f board/openocd/hbird-e203.cfg

    • 若提示 Error: unable to find ...,检查配置文件路径或芯片型号。






4. 调试流程关键点



  • 复位与暂停

    • Debug ConfigurationsStartup 中:

    • 勾选 Halt after reset

    • 设置 Reset Typehardware reset

    • 添加初始化命令:monitor reset halt


  • 避免程序提前运行

    • 在GDB初始化命令中加入:
      set arch riscv:rv32
      set remotetimeout 250
      monitor reset halt   # 确保芯片在调试前暂停





5. 常见错误处理



  • 权限问题(Linux/Mac):

    • 将用户加入 dialout 组:
      sudo usermod -a -G dialout $USER

    • 重启系统生效。


  • OpenOCD版本兼容性

    • 使用 hbird-e-sdk 指定的OpenOCD版本(通常需 v0.10.0+)。

    • OpenOCD官方下载或通过包管理器安装。


  • Eclipse插件更新

    • 检查 GNU MCU Eclipse 插件是否为最新版(Help → Eclipse Marketplace → 搜索更新)。





6. 验证步骤




  1. 独立测试OpenOCD


    openocd -f board/openocd/hbird-e203.cfg

    正常输出应包含 Info : hbird-e203.cpu: Hardware has 4 breakpoints




  2. 手动GDB连接


    riscv-none-embed-gdb your_project.elf
    (gdb) target remote :3333
    (gdb) load   # 下载程序

    若成功下载,则问题在Eclipse配置;若失败,检查硬件/OpenOCD。






7. 其他建议



  • 重新生成工程

    • 删除项目(不删源码),重新导入并配置。


  • 参考官方示例

    • 运行 hbird-e-sdk/example 中的简单程序(如GPIO闪烁),验证基础功能。


  • 调试串口输出

    • 确认程序是否通过串口输出日志(如UART初始化成功)。



通过以上步骤,90%的调试问题可解决。若仍失败,请提供:



  • OpenOCD启动日志

  • Eclipse调试控制台错误信息

  • 开发板型号(如Nuclei Hummingbird EVAL)

举报

更多回帖

发帖
×
20
完善资料,
赚取积分