【问题标题】:Running a program on riscv/Linux (spike)在 riscv/Linux (spike) 上运行程序
【发布时间】:2016-02-11 08:49:29
【问题描述】:

http://riscv.org/download.html#tab_linux 所述,我正在spike 上运行Linux。使用busybox,我有一个强大的工具来运行几个有用的工具。我想要实现的下一件事是在 riscv/Linux 上运行我自己的程序。于是我写了一个小程序:

#include <stdio.h>

int main(void) {

  printf("Hello world!\n"); 

return 0; }

用 riscv64-unknown-linux-gnu-gcc 编译它,并将二进制文件添加到 riscv/Linux 的 root.img 中。我现在遇到的问题是,如果我想在 riscv/Linux throw./hello 下执行程序,我的 shell 上会出现以下消息:

-/bin/ash: ./hello: not found

我现在的问题是 (1) 我做错了什么以及 (2) 是否有可能按照我尝试完成的方式在 riscv/Linux 上运行程序?

【问题讨论】:

    标签: linux riscv


    【解决方案1】:

    我的猜测是您的 hello 程序动态链接到根文件系统中缺少的运行时库。

    您可以使用 'ldd' 来查找您的应用程序所链接的动态库,并确保它们都存在于根文件系统中,或者只是静态编译 hello 程序。

    【讨论】:

    • 谢谢!那成功了。运行时库在 ($TOP)/riscv/sysroot/lib 中提供。
    • @Chris 我很高兴我的建议很有帮助。将答案标记为正确怎么样?
    猜你喜欢
    • 2015-05-03
    • 1970-01-01
    • 2011-10-20
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 2021-10-02
    • 2018-05-30
    • 1970-01-01
    相关资源
    最近更新 更多