【问题标题】:Create a Hello World Executable for BeagleBoard为 BeagleBoard 创建一个 Hello World 可执行文件
【发布时间】:2012-01-02 07:20:02
【问题描述】:

我正在尝试在 BeagleBoard 上运行 HelloWorld 项目。为此,我使用 RVDS 创建库,然后使用 CodeSourcery 为 BeagleBoard 创建可执行文件。

要通过 RVDS 创建库,我使用以下命令行:

armcc --cpu cortex-a8 -c hello_world.c --c99 --apcs=/fpic --no_hide_all -O3 -Otime --vectorize --no_unaligned_access -I"D:\RVDS\hello_world" -I"C:\Program Files\ARM\RVCT\Data\4.1\713\include\windows"

但是这个命令行只创建目标文件而不是库。为了创建库,我使用了armar 命令,但我不确定这是否正确。 因此,我的第一个问题是如何使用 RVDS 命令行创建库。

我还尝试通过选择一个新的静态库项目来使用 RVDS eclipse 环境创建库。创建库后,我使用 CodeSourcery 创建可执行文件:

arm-none-linux-gnueabi-gcc -Wall -I. -L. test_hello_world.c -lhello_world -o test_hello_world

但是如果我尝试在 BeagleBoard 上运行这个可执行文件,它就不起作用。因此,我认为我创建库的方式有问题。

如果有人尝试结合使用 RVDS 和 CodeSourcery 来为 BeagleBoard 创建可执行文件,请告诉我。

感谢您的帮助。

【问题讨论】:

    标签: beagleboard codesourcery rvds


    【解决方案1】:

    如果 beagle 板运行 Linux,您可以使用设备版本的 gcc 来编译您的 hello world。这样您就不必在桌面上设置交叉编译器。

    【讨论】:

    • 感谢您的回复内森。 BeagleBoard 通过 SD 卡运行 Linux。我在 Win7 上编译我的源代码,然后将可执行文件复制到 SD 卡上。然后通过 TeraTerm 运行它。有没有办法在 Win7 上交叉编译我的代码,然后在 BeagleBoard 上使用它?如果没有,我可以使用 TeraTerm 在 Beagle Board 上编译源代码,然后在 Beagle Board 上运行吗?
    • 如果您的 Linux 发行版安装了 GCC(我们安装了),那么可以,您可以在 Beagle Board 上编译和运行您的源代码,而无需在 Windows 上安装 ARM GCC 工具链。事实上,我认为这会容易得多。
    • 我检查过,我的没有安装 GCC。有没有办法在 Windows 上进行交叉编译。我将在我未来的项目中需要它,在这些项目中我使用 NEON 指令进行优化,因此使用 RVDS 进行编译。
    • 我已经为 AT91SAM9261 成功设置了 CodeSourcery,但 Beagle 没有。如果您在 Beagle 上运行 Angstrom Linux,那么您应该能够通过“opkg install gcc”或类似的方式安装 gcc。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多