- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在minGW中使用arm-none-eabi-gcc编译HELLOWORLD.c,命令如下:
D:\code>arm-none-eabi-gcc hello.c -o hello -shared
它成功了,并生成一个“hello”,其详细信息如下:(我将其放入 Ubuntu 并归档):
gec@ubuntu:/mnt/hgfs/code$ file hello
hello: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped
然后我将其放入我的目标平台(Cortex-A53)并运行,结果是:
[root@GEC6818:~]# ./a
Segmentation fault
然后,我注意到我应该在编译命令中指定CPU或架构,所以我像这样编译:
D:\code>arm-none-eabi-gcc hello.c -o a -mcpu=cortex-a53 --specs=nosys.specs
但是不行,运行结果是这样的:
[root@GEC6818:~]# ./a
Killed
那么,有人可以帮助我吗?发自内心的感谢
最佳答案
从您帖子中可见的命令提示符来看,您似乎正在尝试在 Linux 系统上执行您的程序:
[root@GEC6818:~]# ./a
Killed
如果是这种情况,您不应使用 arm-none-eabi-gcc
工具链,该工具链针对的是裸机(非 Linux)目标平台 - 请参阅 here有关 gcc 工具链名称与其目标系统之间关系的说明。
更具体地说,应该使用 --specs=nosys.specs
选项当为不运行通用操作系统(即 Linux)的系统进行编译时。
您应该使用 arm-linux-gnueabihf 之一或aarch64-linux-gnu反而。如果您运行的是 32 位 ARM Linux,则应使用第一个工具链;如果您运行的是 64 位 Linux,则应使用第二个工具链。
您可以使用原始 ARM 系统中可用的可执行文件(例如 /bin/sh
)上的 file
命令来确定您正在运行的版本。如果 /bin/sh
是 ELF 32 位可执行文件,请使用 arm-linux-gnueabihf
。如果是 ELF 64 位可执行文件,请使用 aarch64-linux-gnu
。
关于c - 如何在arm-none-eabi-gcc中指定Cortex-A53?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56058269/
这里有两个问题: 将共享库移植到许多 Linux-or-Android-on-ARM 系统时,需要知道 GCC 交叉编译器支持的确切 EABI 版本以及默认的 EABI 版本。怎么做? 如何调查哪个
我正在使用 Launchpad Arm 编译器工具。具体来说, arm-none-eabi-g++ 和 arm-none-eabi-gcc 来自: (ARM 嵌入式处理器的 GNU 工具)5.2.1
我正在使用下面的 gcc 工具链。gcc 版本 5.4.1 20160919(发布)[ARM/embedded-5-branch 修订版 240496](用于 ARM 嵌入式处理器的 GNU 工具)
我正在尝试使用arm-none-eabi-gcc为STM32编译一个USB环回示例,但遇到了bool变量的编译器错误。错误为错误:“_Bool”之前应有“;”、标识符或“(”,违规行为 typedef
如果一个 Android 应用程序最初只支持 armeabi-v7a 和 x86,并且在未来它增加了对 arm64-v8a 的支持,设备(主要和次要 ABI 分别是 arm64-v8a 和 armea
我有一个复杂的开源库需要移植到安卓NDK。首先,我需要配置 (./Configure)。我明白:我必须使用/home/user/android-ndk/build/prebuilt/进行交叉编译lin
我们在Android开发中需要ARM EABI v7a系统镜像做什么?该特定图像的目的是什么? 最佳答案 如果您使用 NativeDK,没有该图像,模拟器将无法模拟 ARMv7 代码的执行(如多核指令
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我在 Linux 机器上用 C 语言编写了一个 hello world 程序。编译是使用工具链 arm-none-eabi-gcc 完成的(稍后我将使用它进行交叉编译)。但我想在进一步推进之前在同一台
我有一个视频模块,我正在使用 arm-eabi-gcc 交叉编译器进行编译。我使用以下命令进行编译$ arm-eabi-gcc -O2 -DMODULE -D__KERNEL__ -W -Wall -
我正在为我的 Android 项目运行 arm-eabi-addr2line,我的命令是 /Applications/android-sdk-mac_86/android-ndk-r5b/toolch
我正在尝试在树莓派上安装用于汇编代码的工具链。我使用以下过程来安装包文件: $ wget http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/
我正在通过 arm-unknown-linux-gnueabi 交叉编译我的代码,在编译期间可以看到很多以下警告 Unknown EABI object attribute 44 上面的警告是可以忽略
我正在 64 位 Linux 机器上用 C 编译一个 hello world 程序。我正在使用 GCC ARM 嵌入式工具链在配备 ATMEL AT91SAM9G20 处理器的 FOX G20 V 板
arm-eabi-gcc和arm-elf-gcc有什么区别? 他们可以为cortex-m3 arch编译相同的源代码吗? 最佳答案 arm-elf-gcc是支持旧版浮点加速器(FPA)和混合字节序浮点
我越看这个 PDF ( Application Binary Interface forthe ARM Architecture: The Base Standard ),我就越不明白它的意思。我还想
我正在尝试将“眨眼”示例上载到我的MKR1000。但是,我一直收到相同的错误: fork/exec /Users/username/Library/Arduino15/packages/arduino
我正在尝试在minGW中使用arm-none-eabi-gcc编译HELLOWORLD.c,命令如下: D:\code>arm-none-eabi-gcc hello.c -o hello -shar
我正在尝试为 STM32L030x6 MCU 制作固件。 我编写了一个简单的代码,似乎可以在具有 STM32L030x8 MCU 的评估板上运行。我所说的“似乎有效”是指我能够访问主 fct 并切换
我在库中有一个头文件,其中包括 inttypes.h (使用 PRIu8 等所需)。我将库头文件包含到我自己的应用程序文件中。 当我尝试在lpcxpresso(基于eclipse)中使用arm-non
我是一名优秀的程序员,十分优秀!