草庐IT

flutterBuildDebugandroid-arm

全部标签

Ubuntu20.4配置arm交叉编译环境

Ubuntu20.4配置arm交叉编译环境我是在虚拟机中配置的,如果你的嵌入式设备足够完成自己的编译,可以不考虑虚拟机的。新安装的Ubuntu20.04系统请先执行以下代码sudoaptupdatesudoaptupgrade到aarch64下载对应的aarch64的base镜像。之后执行如下命令,创建armsys文件夹,之后将刚下载的镜像拷贝到该文件夹下并且解压cd/mkdir/armsys安装一些必要的软件sudoaptinstallqemuqemu-user-staticbinfmt-supportdebootstrap注册aarch64的运行环境sudoupdate-binfmts--

linux - arm-linux-gnueabi 工具链与 arm-linux-androideabi 工具链。

我可以使用arm-linux-gnueabi-*工具链为我的android设备编译文件(例如C或C++源代码)吗?我的问题可能看起来有点傻,但我会得到与使用arm-linux-androideabi-*工具链编译相同的结果吗? 最佳答案 编译可能不仅仅意味着将源代码转换为二进制文件。像GCC这样的编译器也提供某些库,在本例中为libgcc用于处理硬件无法处理的问题。当编译器成为工具链时,它还提供与目标系统中提供的类似的编程语言标准化的运行时库。在arm-linux-gnueabi-的情况下可能是libc对于arm-linux-and

linux - arm-linux-gnueabi 工具链与 arm-linux-androideabi 工具链。

我可以使用arm-linux-gnueabi-*工具链为我的android设备编译文件(例如C或C++源代码)吗?我的问题可能看起来有点傻,但我会得到与使用arm-linux-androideabi-*工具链编译相同的结果吗? 最佳答案 编译可能不仅仅意味着将源代码转换为二进制文件。像GCC这样的编译器也提供某些库,在本例中为libgcc用于处理硬件无法处理的问题。当编译器成为工具链时,它还提供与目标系统中提供的类似的编程语言标准化的运行时库。在arm-linux-gnueabi-的情况下可能是libc对于arm-linux-and

android - arm-linux-androideabi编译器使用方法

我想知道如何使用arm-linux-androideabi编译器。该编译器在android-ndk工具上。android-ndk工具上有ndk-build工具。要编译ethercat堆栈,我只需要arm-linux-androideabi编译器。但是,我看到了这条消息。root@ubuntu:/opt/android/android-ndk-r9c/jni#arm-linux-androideabi-gcc-otesttest.c/opt/android/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linu

android - arm-linux-androideabi编译器使用方法

我想知道如何使用arm-linux-androideabi编译器。该编译器在android-ndk工具上。android-ndk工具上有ndk-build工具。要编译ethercat堆栈,我只需要arm-linux-androideabi编译器。但是,我看到了这条消息。root@ubuntu:/opt/android/android-ndk-r9c/jni#arm-linux-androideabi-gcc-otesttest.c/opt/android/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linu

c - 为什么在编译 Linux 内核和 uBoot 时使用 arm-linux-gnueabi-gcc 而不是 arm-none-eabi-gcc?

我在为ARMcortex-m设备以及Linux内核、uBoot和BeagleboneBlack(BBB)的应用程序编译裸机代码方面有一些经验(更多功能的ARM和MMU,适合那些生活在岩石下的人)。对我来说,应该使用arm-none-eabi-gcc编译cortex-m代码(因为没有操作系统)并且BBB的应用程序代码应该使用arm-linux-gnueabi-gcc编译(因为有是一个操作系统,可以对其进行系统调用,并可以使用程序加载器和共享对象。我不明白的是为什么uBoot和内核也应该用arm-linux-gnueabi-gcc编译。在我看来,uBoot至少是一个裸机程序,没有花哨的操作

c - 为什么在编译 Linux 内核和 uBoot 时使用 arm-linux-gnueabi-gcc 而不是 arm-none-eabi-gcc?

我在为ARMcortex-m设备以及Linux内核、uBoot和BeagleboneBlack(BBB)的应用程序编译裸机代码方面有一些经验(更多功能的ARM和MMU,适合那些生活在岩石下的人)。对我来说,应该使用arm-none-eabi-gcc编译cortex-m代码(因为没有操作系统)并且BBB的应用程序代码应该使用arm-linux-gnueabi-gcc编译(因为有是一个操作系统,可以对其进行系统调用,并可以使用程序加载器和共享对象。我不明白的是为什么uBoot和内核也应该用arm-linux-gnueabi-gcc编译。在我看来,uBoot至少是一个裸机程序,没有花哨的操作

linux - ARM汇编 "retne"指令

我目前正在了解Linux内核启动需要什么。我正在浏览Linux内核源代码树,特别是ARM架构,直到我在arch/arm/kernel/hyp-stub.S中偶然发现这条汇编指令retnelr从概念上讲,很容易理解,如果Z标志为0,则指令应该返回存储在链接寄存器中的地址。我正在寻找的是实际记录此ARM汇编指令的位置。我在ARMArchitectureReferenceManualARMv7-AandARMv7-Redition中搜索sectionA8.8找不到指令的描述。Grep源并查看它是否是ARMspecificGNUASextension没有发现任何特别的东西。谷歌搜索查询“arm

linux - ARM汇编 "retne"指令

我目前正在了解Linux内核启动需要什么。我正在浏览Linux内核源代码树,特别是ARM架构,直到我在arch/arm/kernel/hyp-stub.S中偶然发现这条汇编指令retnelr从概念上讲,很容易理解,如果Z标志为0,则指令应该返回存储在链接寄存器中的地址。我正在寻找的是实际记录此ARM汇编指令的位置。我在ARMArchitectureReferenceManualARMv7-AandARMv7-Redition中搜索sectionA8.8找不到指令的描述。Grep源并查看它是否是ARMspecificGNUASextension没有发现任何特别的东西。谷歌搜索查询“arm

使用arm-none-eabi-gcc编译和链接库liba.a报错

我正在64位Linux机器上用C编译一个helloworld程序。我正在使用GCCARM嵌入式工具链在配备ATMELAT91SAM9G20处理器的FOXG20V板上交叉编译我的程序。第一次编译时,我遇到了一些错误,因为程序无法识别printf、return等函数(标准C函数)。所以我决定通过执行arm-none-eabi-gcc-ohellohello.c来建立函数之间的链接,我认为这些函数是在libc.a库中定义的(如果我错了请纠正我)libc.a但是结果还是报错:libc.a(lib_a-exit.o):Infunction`exit':exit.c:(.text.exit+0x1