2012-01-02 66 views
1

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

要通过创建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的可执行文件。

感谢您的帮助。

回答

0

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

+0

感谢您的回复弥敦道。 BeagleBoard通过SD卡运行Linux。我正在Win7上编译我的源代码,然后将可执行文件复制到SD卡上。然后通过TeraTerm运行。有没有办法在Win7上交叉编译我的代码,然后在BeagleBoard上使用它?如果不是的话,我可以使用TeraTerm编译Beagle Board上的源代码,然后在Beagle Board上运行它? – user1116700 2012-01-03 20:11:03

+0

如果您的Linux发行版带有GCC(我们已经安装),那么可以,您可以在Beagle Board上编译和运行源代码,而无需在Windows上安装ARM GCC工具链。事实上,我认为这会容易得多。 – nathan 2012-01-03 20:22:29

+0

我检查过,我的没有安装GCC。有没有办法在Windows上进行交叉编译。我将在未来使用NEON指令进行优化并因此使用RVDS进行编译的项目中使用它。 – user1116700 2012-01-03 21:52:36