【发布时间】:2026-02-10 10:35:01
【问题描述】:
我正在尝试学习本教程 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”。
谢谢。
【问题讨论】:
-
您无法在 x64 上运行 ARM 可执行文件。我猜你应该有一个可用的 ARM 系统,比如模拟器或树莓派。
-
@wavemode 我认为你应该把它写成答案。
-
交叉编译的重点是为运行编译器的架构生成不同架构的代码,因此您永远不要期望在主机。如果没有任何东西可以运行,为什么要首先生成 ARM 代码?
-
我还没有我的芯片。但是还是想开始开发。谢谢。