【踩坑】参考官方文档 蜂鸟E203从运行自测样例到运行HelloWorld路上的坑

2023-12-20 20:30:16

【踩坑】参考官方文档 蜂鸟E203从运行自测样例到运行HelloWorld路上的坑

首先这里放出蜂鸟E203快速上手文档的链接,你也可以参考图书《手把手教你 RISC-V CPU工程与实践(上下册)》。

1. riscv-nuclei-elf-gcc: Command not found

如果第一步安装工具链时直接点击Centos/Ubuntu x86-64,会默认下载最新版本,也就是2023.10,但是由于官方对于工具链做出了一些修改,但教程没有跟上,当你运行

source regen.sh

时,会报错

make: Entering directory ‘/home/***/e203_hbirdv2/riscv-tools/riscv-tests/isa/generated’
/home/***/e203_hbirdv2/riscv-tools/riscv-tests/isa/…/…/prebuilt_tools/prefix/bin/riscv-nuclei-elf-gcc -march=rv32imafdc -mabi=ilp32 -static -mcmodel=medany -fvisibility=hidden -nostdlib -nostartfiles -I…//…/env/p -I…//macros/scalar -T…//…/env/p/link.ld …/rv32ui/simple.S -o rv32ui-p-simple
make: /home/***/e203_hbirdv2/riscv-tools/riscv-tests/isa/…/…/prebuilt_tools/prefix/bin/riscv-nuclei-elf-gcc: Command not found
…/Makefile:78: recipe for target ‘rv32ui-p-simple’ failed
make: *** [rv32ui-p-simple] Error 127
make: Leaving directory ‘/home/***/e203_hbirdv2/riscv-tools/riscv-tests/isa/generated’

这里参考了解决方法:解决:riscv-nuclei-elf-gcc: Command not found …/Makefile:78: recipe for target ‘rv32ui-p-simple‘ faile【分享】 Linux系统下各种工具链无法找到的解决方法都没有解决,于是我看了一下gcc里面的文件,里面的是riscv64-unknown-elf

其实感觉到这里就可以改改其他的东西用2023.10跑起来了,但刚入门的我不太会改,于是我选择重新安了2022.8版本的工具链覆盖它,虽然重装后就成功了,但为我下一个bug埋下了伏笔。

2. “monitor” command not supported by this target.

因为GNU工具链选择了2022.08的版本,所以我OpenOCD也选择了2022.08的版本。

结果在运行到

make upload SOC=hbirdv2 BOARD=ddr200t CORE=e203 DOWNLOAD=flash

时,出现报错

Remote communication error.  Target disconnected.: Connection reset by peer.
"monitor" command not supported by this target.
You can't do that when your target is `exec'
"monitor" command not supported by this target.

在这里插入图片描述大概是由于接触不良引起的,可以试着换几个插口,我是当天没解决第二天过来发现就好了。

3. Error finishing flash operation

好了之后变成了新的报错

Error finishing flash operation

2022.08版本
尝试了很多种办法都没有解决,最终在对比别人的版本和问询客服后觉得问题出现在OpenOCD上。于是我将对应的OpenOCD和工具链都换成了2022.12的版本,问题解决。
2022.12版本

运行成功

在这里插入图片描述

文章来源:https://blog.csdn.net/Dershy_/article/details/135115474
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。