无法运行GNU ARM Hello世界

时间:2015-04-08 23:16:00

标签: c arm gnu

我试图按照本教程进行操作 http://gnuarmeclipse.livius.net/blog/test-project/

运行GNU ARM hello world。

我在Windows 8.1 x64上使用eclipse luna。

我已经安装了GNU ARM工具链,以及教程所说的其他内容。

构建通过,并提供教程

中指定的结果
> 02:15:01 **** Build of configuration Debug for project ARMTest4 ****
> make all  Building file: ../src/main.c Invoking: Cross ARM C Compiler
> arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb -O0 -fmessage-length=0
> -fsigned-char -ffunction-sections -fdata-sections  -g3 -std=gnu11 -MMD -MP -MF"src/main.d" -MT"src/main.o" -c -o "src/main.o" "../src/main.c" Finished building: ../src/main.c   Building target: ARMTest4.elf
> Invoking: Cross ARM C Linker arm-none-eabi-gcc -mcpu=cortex-m3 -mthumb
> -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections  -g3 -Xlinker --gc-sections -Wl,-Map,"ARMTest4.map" --specs=rdimon.specs -Wl,--start-group -lgcc -lc -lc -lm -lrdimon -Wl,--end-group -o "ARMTest4.elf"  ./src/main.o    Finished building target: ARMTest4.elf   Invoking: Cross ARM GNU Create Flash Image
> arm-none-eabi-objcopy -O ihex "ARMTest4.elf"  "ARMTest4.hex" Finished
> building: ARMTest4.hex   Invoking: Cross ARM GNU Print Size
> arm-none-eabi-size --format=berkeley "ARMTest4.elf"    text      data   
> bss       dec     hex filename    8256       2396     260   10912   
> 2aa0  ARMTest4.elf Finished building: ARMTest4.siz  
> 
> 02:15:06 Build Finished (took 5s.110ms)

然后,我试着跑,但它失败了,我不明白为什么。它说"错误启动过程"

错误框状态中的详细信息

> Error starting process. Cannot run program
> "C:\Users\Noam\workspace\cpp\ARMTest3\Debug\ARMTest3.elf": Launching
> failed Cannot run program
> "C:\Users\Noam\workspace\cpp\ARMTest3\Debug\ARMTest3.elf": Launching
> failed Cannot run program
> "C:\Users\Noam\workspace\cpp\ARMTest3\Debug\ARMTest3.elf": Launching
> failed

我唯一能想到的是代码应该在某个模拟器而不是我的PC上运行,我不知道该怎么做。 如果这不是问题,请告诉我是什么。

我还为hello world项目尝试了许多其他配置,但没有成功。

我对工作结果的预期输出:某些控制台说" Hello ARM world"对我来说。

感谢。

3 个答案:

答案 0 :(得分:2)

您无法在x64处理器上运行ARM可执行文件。本教程希望您有一个可用的ARM系统,如模拟器或Raspberry Pi。

答案 1 :(得分:2)

我还无法发表评论,所以这实际上是浪漫模式的回答:

设置模拟器的最快方法是使用(取决于您的平台)VirtualBox或QEMU。将Linux(或支持ARM二进制文件的其他操作系统)安装到映像中并从中启动。您需要将二进制文件传输到模拟系统,例如通过SSH或HTTP传输。

查找ARM映像相对简单,Debian,Fedora,ArchLinux等都提供预制图像。

答案 2 :(得分:-1)

正如其他人所说,GNU ARM工具旨在针对外部ARM微处理器或微控制器,并且编译后的程序不会在您的工作站上运行。

许多制造商都有大量基于ARM的芯片和开发板可以与GNU ARM工具一起使用,而这个想法通常是用嵌入式微控制器创建自己的系统。该程序需要针对您正在使用的特定微控制器和电路板进行调整。

教程不清楚,但是"先决条件"从教程链接的页面有一个部分"将设备分配给项目",屏幕截图显示STM32F4-Discovery / STM32F407VG圈出 - 我认为作者正在使用该板。

STM32 Discovery板是低成本的(一些低于20美元),包括一个ST-Link编程器/调试器和有趣的外围设备供学习。其他制造商通常有类似的开发板,其中包括其部件。

相关问题