RISC-V MCU中文社区

【求助】 软硬件协同仿真报错:undefined reference to `custom_sbuf'

发表于 全国大学生集成电路创新创业大赛 2021-04-11 00:06:10
2
325
3

开发环境信息:

  1. 操作系统版本:WIndows 10

  1. IDE 版本: NucleiStudio_IDE_202102-win64

问题简述:

我按照本社区的另一篇分享贴:技术分享——利用 NucleiStudio IDE 和 vivado 进行软硬件联合仿真(链接:https://rvmcu.com/community-topic-id-386.html)中所述的内容一步步操作,但是在项目 Build 的时候遇到了这样的报错信息:

操作过程:

1、建立项目:“File” → “New” → “C/C++ Project” → “C Managed Build”,选项及配置如下图


其实在这里我就有一个疑问:为什么这里 DOWNLOAD 选项应该选 ILM ?它和其他两个选项(FLASH、FLASHXIP)又有什么区别呢?

因为在项目中添加文件似乎不能直接把 demo_nice 中的 insn.c 和 insn.h 复制粘贴到我项目中的 application 文件夹(因为 NucleiStudio 上并没有显示 application 文件夹下多了这两个文件),所以我右击新建了 .c 和 .h 文件,然后把 insn.c 和 insn.h 中的代码复制粘贴了过来。main.c 的代码也是由 demo_nice.c 复制粘贴过来。文件结构如下


 2、项目配置,帖子的原文如下

选择当前项目的properties->C/C++ Build->Settings->Build Steps->Post-build steps 增加如下命令:

riscv-nuclei-elf-objcopy -O verilog "${BuildArtifactFileBaseName}.elf" "${BuildArtifactFileBaseName}.verilog";sed -i 's/@800/@000/g' "${BuildArtifactFileBaseName}.verilog"; sed -i 's/@00002FB8/@00002000/g' "${BuildArtifactFileBaseName}.verilog";

使编译之后能生成.verilog文件。

我把上面这段复制粘贴到相应的配置项,点击“Apply” → “Apply and Close”,


最后点左上角锤子的图标运行项目,就看到了前面所说的报错消息。


根据原文评论区的建议,我将项目的编译优化更改为 O2,但还是没有解决这个报错的问题。不知道具体问题是出在哪里,希望各路大神指点。

喜欢3
用户评论 (2)
  • 许震宇

    2021-04-11 19:09:50 许震宇 1#

    胡灿

    用下github里面今天我更新的demo nice的C代码再试试看吧。

    PS:在nuclei studio里面添加文件需要用import的方式,或者直接拖拽过去的方式

    问题解决了,十分感谢!

  • 胡灿

    2021-04-11 17:57:26 胡灿 2#

    用下github里面今天我更新的demo nice的C代码再试试看吧。

    PS:在nuclei studio里面添加文件需要用import的方式,或者直接拖拽过去的方式

关于作者
许震宇

许震宇 未通过人工认证

懒的都不写签名

问答
粉丝
0
关注
0
  • 早春营|RISC-V处理器嵌入式开发
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
早春营|RISC-V处理器嵌入式开发