arm64相关内容

arm64 和 armhf 有什么区别?

Raspberry Pi Type 3 有 64 位 CPU,但它的架构不是 arm64 而是 armhf.arm64 和 armhf 有什么区别? 解决方案 armhf 代表“arm hard float",是给 一个 debian 端口,用于具有硬件浮点支持的 arm 处理器 (armv7+). 以beaglebone black为例: :~$ dpkg --print-arc ..
发布时间:2021-11-17 22:44:52 服务器开发

Apple Clang12 LLVM - 未知的 AArch64 修复类型

我正在尝试将一些 Linux C 代码移植到 Apple M1 Mac,并且遇到了一些内联汇编的问题.这让我很难过. 我有以下内联汇编块: #define TEST asm volatile(\“adr x0,标签9 \n"\:::“x0"); 并且遇到了以下错误: test.c:73:5: error: unknown AArch64 fixup kind!测试^./ARM_bran ..
发布时间:2021-11-17 22:44:46 其他开发

ARMv8 浮点输出内联汇编

对于两个整数相加,我写: int sum;asm volatile("add %0, x3, x4" : "=r"(sum) : :); 我怎样才能用两个浮点数来做到这一点?我试过了: 浮点数;asm volatile("fadd %0, s3, s4" : "=r"(sum) : :); 但它给了我一个错误: 错误:操作数 1 应该是 SIMD 向量寄存器 -- `fadd x0, ..
发布时间:2021-11-17 22:44:41 其他开发

判断设备是否为ARM64

我正在尝试对 iOS 7 进行调整,以便当设备是 ARM64 时它运行一个版本,当它不是时运行另一个版本(因为 float 用于 32 位,double 用于 64(如果你有解决方案让我知道.) 应该是这样的 if ARM64 {\\运行双重代码}别的 {\\运行浮动代码} 解决方案 您将执行以下操作 #if __LP64__\\您在 64 位上运行#别的\\您在 32 位上运行#万 ..
发布时间:2021-11-17 22:44:38 移动开发

ARM Arch64 中的 PUSH {lr} 和 POP {lr}

ARM Arch64指令集中PUSH{lr}和POP{lr}的等价指令是什么 STR X30, [SP, #8] 正确吗?你能解释一下保持堆栈对齐的概念吗?我对 ARMv8 比较陌生,所以请原谅. 解决方案 如果您要求 C 编译器从源代码生成汇编语言列表,您将看到它如何处理 ARMv8 堆栈上的数据推送.这可能不是唯一的方法,但 GCC 是这样做的: sub sp, sp, #3 ..
发布时间:2021-11-17 22:44:35 其他开发

GoogleMobileAds 的未定义符号问题

我正在构建动态框架,我将在其中导入 GoogleMobileAds 框架(我没有将其链接为二进制文件) 我只是在类代码中导入它,同时将框架保留在项目路径上,而没有在构建阶段的“链接二进制文件"中链接它 导入 GoogleMobileAds 我在尝试构建项目时收到此错误: 架构 arm64 的未定义符号:“_OBJC_CLASS_$_GADInterstitial",引用自:静态 Vee ..
发布时间:2021-11-17 22:44:32 移动开发

架构 arm64 的重复符号(Xcode 错误)

我从我的项目中删除了对 GoogleMobileAdsSDKiOS-7.1 的所有引用并添加了 7.4.1.当我在模拟器上运行应用程序时一切正常,但在设备上运行时出现应用程序 Mach-O 链接器错误. 重复符号 l017 在:/Users/ib/Desktop/Monster GoogleAds7.4.1/GoogleMobileAdsSdkiOS- 7.4.1/GoogleMobileAd ..
发布时间:2021-11-17 22:44:26 移动开发

如何防止“main.o:(.eh_frame+0x1c): relocation truncated to fit: R_AARCH64_PREL32 against `.text'";创建 aarch64 裸机程序时?

在创建裸机可执行文件时,我遇到了这个错误: main.o:(.eh_frame+0x1c): 重定位被截断以适应:R_AARCH64_PREL32 对 `.text'collect2:错误:ld 返回 1 个退出状态 然后我设法创建了一个最小的复制示例: main.c void _start(void) {} notmain.S .skip 32 link.ld ENTRY(_ ..
发布时间:2021-11-17 22:44:23 其他开发

ARM64 在 iOS 上使用gas?

我有一些已移植到 64 位 ARM 的汇编函数,它们在 Android 上运行良好,但是当我尝试在 Xcode 中编译相同的文件时,我发现 clang 使用了不同的语法(不同于ARM 官方文档). 我发现了一些将源文件从一种格式转换为另一种格式的脚本,但这不是理想的解决方案(当源文件包含预处理器定义时,这些脚本似乎不起作用). 我可以在 Xcode 中简单地使用 gas,或者配置 cl ..
发布时间:2021-11-17 22:44:21 移动开发

arm64上的Linux:sendto导致“未处理的错误:对齐错误(0x96000021)"当从 mmapped 相干 DMA 缓冲区发送数据时

我正在构建一个基于配备 arm64 CPU 的 UltraScale+ FPGA 的数据采集系统.数据通过 DMA 传输到 RAM.驱动程序中的 DMA 缓冲区保留如下: virt_buf[i] = dma_zalloc_coherent(&pdev->dev, BUF_SIZE, &phys_buf[i],GFP_KERNEL); 在驱动的mmap函数中,映射到用户空间的方式如下: #if ..
发布时间:2021-11-17 22:44:15 服务器开发

在 armv8 架构中将半字值存储到堆栈内存中时出现总线错误?

我有两个寄存器 w1 和 w2,我想将它们存储在堆栈中.我想将完整的单词 w1 和 w2 的一半存储到堆栈中.这是我的实现: STR w1, [sp, #-8]!STRH w2,[sp,#-8]! 在编译时,第一条指令运行良好,但第二条指令引发总线错误.我知道这是一些对齐问题,但我无法正确理解为什么会发生这种情况? 我正在为 ARMv8(64 位)架构编译. 解决方案 根据 AR ..
发布时间:2021-11-17 22:44:12 其他开发

ARMv8 A64 程序集中的立即数范围

我的理解是 ARMv8 A64 汇编中的立即数参数可以是 12 位长.如果是这样,那为什么会有这行汇编代码: AND X12, X10, 0xFEF 产生这个错误(当用gcc编译时) 错误:立即超出操作数 3 的范围 -- `AND X12, X10, 0xFEF' 有趣的是,这行汇编代码编译得很好: 添加 X12, X10, 0xFEF 我使用的是 aarch64-linux-gnu ..
发布时间:2021-11-17 22:44:09 其他开发

面向 ARM64 的 .NET Core 3.0 发布

有谁知道如何为 ARM64 发布 .NET Core 3.0 应用程序?我只能选择“linux-arm"而不能选择“linux-arm64".将 linux-arm 与 x64 结合设置也不起作用.它说设置不兼容. 正如此处所述,它应该已经得到支持:https://github.com/dotnet/core/blob/master/release-notes/3.0/3.0-support ..
发布时间:2021-11-17 22:44:06 其他开发

asm("trap") 在 64 位 iOS 设备上

在我自己开发的 assert 宏中,我一直在 iOS 设备上使用 asm("trap")(或在 iOS 模拟器上使用 asm("int3"))来中断调试器.但是,在设备的 64 位版本中,我得到了陷阱指令的“无法识别的指令助记符".arm64 有对应的吗? (__builtin_trap() 或 raise(SIGINT) 之类的替代方法确实有效,但有一些我不喜欢的行为;前者不会让您继续休息 ..
发布时间:2021-11-17 22:44:03 移动开发

ARM64:LDXR/STXR 与 LDAXR/STLXR

在 iOS 上,有两个类似的函数,OSAtomicAdd32 和 OSAtomicAdd32Barrier.我想知道您什么时候需要 Barrier 变体. 拆解后,它们是: _OSAtomicAdd32:ldxr w8, [x1]添加 w8, w8, w0stxr w9, w8, [x1]cbnz w9, _OSAtomicAdd32移动 x0, x8回复_OSAtomicAdd32Bar ..
发布时间:2021-11-17 22:44:00 其他开发

为什么在上传到 iTunes 连接时会发生缺少 64 位支持?

我尝试通过应用程序加载器上传文件.但是我收到了来自 iTunes 商店的邮件. 缺少 64 位支持 - 从 2015 年 2 月 1 日开始,提交到 App Store 的新 iOS 应用必须包含 64 位支持并使用 iOS 8 SDK 构建.从 2015 年 6 月 1 日开始,应用更新也需要遵循相同的要求.要在您的项目中启用 64 位,我们建议使用“标准架构"的默认 Xcode 构建设置 ..
发布时间:2021-11-17 22:43:57 移动开发