RISC-V技术论坛
直播中

study875

13年用户 1226经验值
私信 关注
[问答]

e203 make upload上传失败怎么解决?




回帖(1)

李梅

2025-11-14 17:34:57

当使用 make upload 命令上传 e203 项目失败时,通常与硬件连接、驱动、权限或配置问题相关。以下是系统化的解决方案:




1. 检查硬件连接



  • 确认调试器连接:确保 JTAG/SWD 调试器(如 J-Link、OpenOCD 兼容设备)正确连接到开发板,且开发板已供电。

  • 检查线缆状态:替换 USB 线或调试器线缆,排除物理损坏。




2. 验证设备驱动



  • Windows

    • 打开设备管理器,检查调试器是否被识别(如 J-LinkUSB Serial Device)。

    • 若出现黄色感叹号,下载官方驱动 并重新安装。


  • Linux/macOS

    • 终端执行 lsusb(Linux)或 system_profiler SPUSBDataType(macOS),确认设备是否列出。

    • 确保用户有访问权限(见下一步)。





3. 解决权限问题(Linux/macOS)



  • 将用户加入 dialoutplugdev 组:
    sudo usermod -a -G dialout $USER  # Linux
    sudo usermod -a -G plugdev $USER  # macOS/Linux

  • 重启或重新登录使配置生效。




4. 检查 OpenOCD 配置



  • 确认配置文件匹配

    • Makefile 或命令中检查 OpenOCD 调用的配置文件(如 interface/jlink.cfgtarget/hbird.cfg)。

    • 确保配置文件与你的调试器型号(如 J-Link、FTDI)和开发板(如 HiFive1、Nuclei 开发板)匹配。


  • 手动测试 OpenOCD
    openocd -f interface/jlink.cfg -f target/hbird.cfg

    若提示 Error: unable to open ftdi deviceNo target connected,说明配置或连接有误。





5. 检查 Makefile 设置



  • 打开项目 Makefile,检查 upload 目标中的关键参数:
    UPLOAD_CMD = openocd -f $(OPENOCD_CFG) -c "program $(TARGET) verify reset exit"


    • 确保 OPENOCD_CFG 路径正确。

    • 确认 TARGET 指向正确的固件文件(如 build/riscv.elf)。





6. 更新工具链




  • 升级 OpenOCD


    # Linux (apt)
    sudo apt update && sudo apt install openocd

    # macOS (Homebrew)
    brew update && brew upgrade openocd


  • 验证工具版本
    openocd -v  # 需 ≥ v0.11.0
    make --version




7. 查看详细错误日志



  • make upload 命令前添加 VERBOSE=1 显示完整输出:
    make upload VERBOSE=1

  • 根据错误关键词排查:

    • Can't find interface/jlink.cfg → 路径错误,检查文件是否存在。

    • No target connected → 检查 JTAG 连线或供电。

    • Permission denied → 修复设备权限(步骤 3)。





8. 尝试替代烧录方法



  • 使用 GDB 调试器
    make run  # 通常通过 GDB + OpenOCD 加载程序

  • 串口烧录(如果支持):
    make upload UPLOAD_PORT=/dev/ttyUSB0  # 指定串口设备




9. 其他注意事项



  • 复位开发板:在烧录前手动按下复位按钮。

  • 检查固件文件:确认编译成功(make 无报错),且路径正确。

  • 硬件兼容性:部分克隆调试器需特殊配置(如 interface/ftdi/xxx.cfg)。




通过逐步检查以上环节,90% 的上传失败问题可被解决。如问题仍存在,请提供 make upload VERBOSE=1 的输出日志以进一步分析。

举报

更多回帖

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