arm64相关内容
Raspberry Pi Type 3 有 64 位 CPU,但它的架构不是 arm64 而是 armhf.arm64 和 armhf 有什么区别? 解决方案 armhf 代表“arm hard float",是给 一个 debian 端口,用于具有硬件浮点支持的 arm 处理器 (armv7+). 以beaglebone black为例: :~$ dpkg --print-arc
..
这是我的汇编代码和我的主要子程序.这是我的宏和常量: .textfmt: .string "x \t\t ln(x)\n"sfmt: .string "%.10lf \t %.10lf\n"错误:.string“错误"文件名:.string "input.bin".数据LIM:.double 0r1.0E-13零:.double 0r0.0一:.double 0r1.0一半:.double 0
..
我正在尝试将一些 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
..
来自 android 开发者网站,https://developer.android.com/distribute/best-practices/develop/64-bit 很明显,从 2019 年 8 月 1 日起,Google Play 上发布的应用将需要支持 64 位架构. 我们当前的应用具有适用于 armeabi-v7a、arm64-v8a、x86 ABI 的本机库,但没有适用于
..
对于两个整数相加,我写: int sum;asm volatile("add %0, x3, x4" : "=r"(sum) : :); 我怎样才能用两个浮点数来做到这一点?我试过了: 浮点数;asm volatile("fadd %0, s3, s4" : "=r"(sum) : :); 但它给了我一个错误: 错误:操作数 1 应该是 SIMD 向量寄存器 -- `fadd x0,
..
我正在尝试对 iOS 7 进行调整,以便当设备是 ARM64 时它运行一个版本,当它不是时运行另一个版本(因为 float 用于 32 位,double 用于 64(如果你有解决方案让我知道.) 应该是这样的 if ARM64 {\\运行双重代码}别的 {\\运行浮动代码} 解决方案 您将执行以下操作 #if __LP64__\\您在 64 位上运行#别的\\您在 32 位上运行#万
..
ARM Arch64指令集中PUSH{lr}和POP{lr}的等价指令是什么 STR X30, [SP, #8] 正确吗?你能解释一下保持堆栈对齐的概念吗?我对 ARMv8 比较陌生,所以请原谅. 解决方案 如果您要求 C 编译器从源代码生成汇编语言列表,您将看到它如何处理 ARMv8 堆栈上的数据推送.这可能不是唯一的方法,但 GCC 是这样做的: sub sp, sp, #3
..
我正在构建动态框架,我将在其中导入 GoogleMobileAds 框架(我没有将其链接为二进制文件) 我只是在类代码中导入它,同时将框架保留在项目路径上,而没有在构建阶段的“链接二进制文件"中链接它 导入 GoogleMobileAds 我在尝试构建项目时收到此错误: 架构 arm64 的未定义符号:“_OBJC_CLASS_$_GADInterstitial",引用自:静态 Vee
..
我有两个文件被组装/编译/链接到简约内核中. start.s: .set CPACR_EL1_FPEN, 0b11 boot.rs: #[no_mangle]酒吧外部 fn __boot() {不安全{让 ptr = 0x9000000 作为 *mut u8;*ptr = '!'作为 u8;}} 对于 opt-level=3,结果代码输出单个 '!'到串行端口(如预期的那样).对
..
我从我的项目中删除了对 GoogleMobileAdsSDKiOS-7.1 的所有引用并添加了 7.4.1.当我在模拟器上运行应用程序时一切正常,但在设备上运行时出现应用程序 Mach-O 链接器错误. 重复符号 l017 在:/Users/ib/Desktop/Monster GoogleAds7.4.1/GoogleMobileAdsSdkiOS- 7.4.1/GoogleMobileAd
..
在创建裸机可执行文件时,我遇到了这个错误: main.o:(.eh_frame+0x1c): 重定位被截断以适应:R_AARCH64_PREL32 对 `.text'collect2:错误:ld 返回 1 个退出状态 然后我设法创建了一个最小的复制示例: main.c void _start(void) {} notmain.S .skip 32 link.ld ENTRY(_
..
我有一些已移植到 64 位 ARM 的汇编函数,它们在 Android 上运行良好,但是当我尝试在 Xcode 中编译相同的文件时,我发现 clang 使用了不同的语法(不同于ARM 官方文档). 我发现了一些将源文件从一种格式转换为另一种格式的脚本,但这不是理想的解决方案(当源文件包含预处理器定义时,这些脚本似乎不起作用). 我可以在 Xcode 中简单地使用 gas,或者配置 cl
..
我很好奇在 AARCH64-Linux 机器上运行旧的 ARM32-Linux 程序的可行性,并进行了一些实验: 编写一个程序“你好,世界!"并使用 arm-none-linux-gnueabi-gcc 和 aarch64-linux-gnu-gcc 静态编译它. 使用 busybox 和 aarch64 编译器静态构建和创建 ramdisk. 输入 2 “Hello, World!"程
..
我正在构建一个基于配备 arm64 CPU 的 UltraScale+ FPGA 的数据采集系统.数据通过 DMA 传输到 RAM.驱动程序中的 DMA 缓冲区保留如下: virt_buf[i] = dma_zalloc_coherent(&pdev->dev, BUF_SIZE, &phys_buf[i],GFP_KERNEL); 在驱动的mmap函数中,映射到用户空间的方式如下: #if
..
我有两个寄存器 w1 和 w2,我想将它们存储在堆栈中.我想将完整的单词 w1 和 w2 的一半存储到堆栈中.这是我的实现: STR w1, [sp, #-8]!STRH w2,[sp,#-8]! 在编译时,第一条指令运行良好,但第二条指令引发总线错误.我知道这是一些对齐问题,但我无法正确理解为什么会发生这种情况? 我正在为 ARMv8(64 位)架构编译. 解决方案 根据 AR
..
我的理解是 ARMv8 A64 汇编中的立即数参数可以是 12 位长.如果是这样,那为什么会有这行汇编代码: AND X12, X10, 0xFEF 产生这个错误(当用gcc编译时) 错误:立即超出操作数 3 的范围 -- `AND X12, X10, 0xFEF' 有趣的是,这行汇编代码编译得很好: 添加 X12, X10, 0xFEF 我使用的是 aarch64-linux-gnu
..
有谁知道如何为 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
..
在我自己开发的 assert 宏中,我一直在 iOS 设备上使用 asm("trap")(或在 iOS 模拟器上使用 asm("int3"))来中断调试器.但是,在设备的 64 位版本中,我得到了陷阱指令的“无法识别的指令助记符".arm64 有对应的吗? (__builtin_trap() 或 raise(SIGINT) 之类的替代方法确实有效,但有一些我不喜欢的行为;前者不会让您继续休息
..
在 iOS 上,有两个类似的函数,OSAtomicAdd32 和 OSAtomicAdd32Barrier.我想知道您什么时候需要 Barrier 变体. 拆解后,它们是: _OSAtomicAdd32:ldxr w8, [x1]添加 w8, w8, w0stxr w9, w8, [x1]cbnz w9, _OSAtomicAdd32移动 x0, x8回复_OSAtomicAdd32Bar
..
我尝试通过应用程序加载器上传文件.但是我收到了来自 iTunes 商店的邮件. 缺少 64 位支持 - 从 2015 年 2 月 1 日开始,提交到 App Store 的新 iOS 应用必须包含 64 位支持并使用 iOS 8 SDK 构建.从 2015 年 6 月 1 日开始,应用更新也需要遵循相同的要求.要在您的项目中启用 64 位,我们建议使用“标准架构"的默认 Xcode 构建设置
..