我试图按照本教程进行操作 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"对我来说。
感谢。
答案 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编程器/调试器和有趣的外围设备供学习。其他制造商通常有类似的开发板,其中包括其部件。