arm64相关内容

可以从EL0刷新arm64缓存吗?

我正在阅读一篇学术论文,其中指出:"ARM体系结构还包括退出高速缓存行的指令.但是,这些指令仅在处理器处于提升特权模式时才可以使用." 是真的吗?我一直在搜索ARM文档,但在"ARM Cortex-A系列ARMv8-A系列程序员指南"第11.5章中,没有看到任何暗示我无法从EL0执行此操作的信息.解决方案 这是可配置的. 摘自《 ARMv8体系结构参考手册》 ,第D3-1988页: ..
发布时间:2020-09-07 03:01:56 其他开发

ARMv8-在64位OS上运行旧版32位应用程序

通过ARMv8手册,我有以下问题可以帮助您了解全局. 可以使用旧版32位应用程序. (ARMv7或更早版本)是否可以在ARMv8操作系统上运行? 如果需要为ARMv8重建旧版应用程序,并假设我将其重建为32位(Aarch32),那么是否需要32位OS基础支持? (很有趣的是,这里知道寻址机制是如何工作的.) 请尽可能提供参考. PS:我的目标是支持Aarch64(3.7和更 ..
发布时间:2020-09-07 02:58:22 服务器开发

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

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

Playstore是否会拒绝具有armeabi-v7a,arm64-v8a,x86但不支持x86-64的应用程序?

在android开发人员网站上, https://developer.android. com/distribute/best-practices/develop/64位,很明显,从2019年8月1日开始,在Google Play上发布的应用将需要支持64位体系结构. 我们当前的应用程序具有armeabi-v7a,arm64-v8a,x86 ABI的本机库,但没有x86-64.这是因为我们正 ..
发布时间:2020-09-07 02:34:58 移动开发

ARM64:LDXR/STXR与LDAXR/STLXR

在iOS上,有两个相似的功能,OSAtomicAdd32和OSAtomicAdd32Barrier.我想知道您何时需要Barrier变体. 拆卸后,它们是: _OSAtomicAdd32: ldxr w8, [x1] add w8, w8, w0 stxr w9, w8, [x1] cbnz w9, _OSAtomicAdd32 mov x0, x8 ..
发布时间:2020-09-07 02:29:49 其他开发

如何在ARM64中实现系统调用?

我正在使用arm64汇编代码,并且我想使用svc指令实现系统调用.我找不到在线可用的arm64系统调用实现,也找不到arm64的系统调用列表.还要解释实现方法. 解决方案 您可以将x0中的六个参数传递给x5,返回值保存在x0中. 要给出汇编代码段,这是来自writesyscall. ="noreferrer"> Android Bionic的libc实现. write的三个参数已经在 ..
发布时间:2020-09-07 02:24:52 其他开发

qemu-system-aarch64在模拟a53通电时进入el1

我已经下载了最新的qemu Windows版本,然后在下面的行中运行 qemu-system-aarch64 -M virt,gic_version=3 -cpu cortex-a53 -smp 2 -nographic -m 2048 -kernel mybaremetal.axf -s -S 模拟一个双核cortex-a53,我可以使用aarch64 gdb客户端连接到它,在myb ..
发布时间:2020-09-07 02:21:23 其他开发

在AOSP引导时运行shell脚本

我正在为我的项目使用iMX 8 Mini EVK.我为此板从AOSP构建Android 9.0. 现在,我想在启动时运行脚本. 我做了以下文件更改,但仍然遇到问题. 文件:Android_AOSP_build/device/fsl/imx8m/evk_8mm/init.rc service gea3appservice /vendor/bin/sh /vendor/bin/run.sh ..
发布时间:2020-08-28 19:06:39 移动开发

无法在我的项目中生成x64版本的apk

根据新的Play商店政策*将于8月生效*我需要确保我的应用不仅提供32位版本,而且还提供64位版本,但当我尝试生成该版本时通过NDK,我总是得到相同的库.经过反复尝试,我刚收到一个没有任何"lib"文件夹的apk. 我尝试在gradle上设置带有abiFilters的NDK,但没有任何更改... defaultConfig { applicationId "com.myproj ..
发布时间:2020-08-26 22:31:55 移动开发

在aarch64上未对齐的SIMD加载/存储的性能

旧答案表示aarch64支持未对齐的读/写并提到了性能成本,但是目前尚不清楚答案是否仅涵盖ALU或SIMD(128位寄存器)操作. 相对于对齐的128位NEON加载和存储,未对齐的128位NEON加载和存储在aarch64上速度要慢多少(如果有的话)? 是否有针对未对齐的SIMD加载和存储的单独说明(如SSE2的情况),或者已知对齐的加载/存储的指令与潜在未对齐的加载/存储的指令相同? ..
发布时间:2020-08-22 21:29:10 其他开发

在iOS上使用tgmath我需要怎么做?

我正在编译启用了64位支持的第一个项目.我遇到一堆有关隐式转换为浮动的编译器警告.之所以发生这种情况,是因为我正在使用fabsf()并将结果分配给CGFloat(这是两倍,而不是在新的64位体系结构上浮动). 根据该问题的答案: 基于CGFloat的数学函数? 我只需要#include 即可解决此问题,并且可能将fabsf更改为fabs.我至少有一个文件似乎没 ..
发布时间:2020-08-15 19:37:13 移动开发

如何删除100个警告“隐式转换将失去整数精度:将'NSInteger'(aka'long')转换为'int'''.我更新到arm64后得到了吗?

问题: 昨天,我转换了一个大型项目来支持 arm64 ,此后,我立即收到了500多个警告.其中大约70%是将NSInteger分配给int的位置,反之亦然,其余的是NSUInteger用NSString格式化的位置,如下所示: NSInteger a = 123; NSString *str = [NSString stringWithFormat:@"Int:%d", a]; //w ..

Unity vuforia xcode(iOS:armv7,arm64)

如果您最近使用这些软件为iOS(armv7,arm64)构建了一个应用程序,请注意共享:您使用的unity,vuforia,xcode版本是什么. 解决方案 注意:该答案基于问题注释中的信息. iOS 64位要求 自2015年2月1日起,Apple强迫iOS开发人员在向App Store提交新应用时提供64位二进制文​​件. 来源: https://developer.a ..
发布时间:2020-07-13 01:25:41 移动开发

当前的执行模式/异常级别等是什么?

我是ARMv8架构的新手。我心中有以下基本问题: 我如何知道当前的执行模式AArch32或AArch64是什么?我应该阅读CPSR还是SPSR来确定这一点? 当前的异常级别EL0 / 1/2/3是什么? 一旦出现异常,我可以读取任何寄存器以确定我是否处于Serror / Synchronous / IRQ / FIQ异常处理程序中。 TIA。 解决方案 程序集3 ..
发布时间:2020-06-10 22:40:39 其他开发

AArch64是否支持不对齐访问?

AArch64是否原生支持不对齐访问?我问是因为当前 ocamlopt 假定为“否”。 解决方案 提供严格对齐检查的硬件位未打开(与在x86上一样,实际上没有通用OS可用),AArch64允许使用常规加载/存储指令对常规(非设备)内存进行未对齐的数据访问 但是,编译器仍然希望保持对齐的数据有几个原因: 读写原子:保证自然对齐的加载和存储是原子的,即,如果一个线程同时读取对齐的内 ..
发布时间:2020-06-03 22:19:25 其他开发

GoogleMobileAds出现未定义的符号问题

我正在建立动态框架,在其中我要导入GoogleMobileAds框架(我没有将其链接为二进制文件) 我只是在将其保持在类代码中的同时将其导入项目路径中的框架,而无需在构建阶段将其链接到“链接二进制文件”中 import GoogleMobileAds 尝试构建项目时出现此错误: 架构arm64的未定义符号: “ _OBJC_CLASS _ $ _ GADIn ..
发布时间:2020-06-02 19:02:25 移动开发