armv6, armv7, armv7s, arm64 的区别

【ARM Cortex-M 系列 3 番外篇 -- ARMv6, ARMv7, ARMv8, ARMv9 架构差异及精简指令集 与 复杂指令集 介绍】 属于这两种类中的各种架构之间最大的区别,在于它们的设计者考虑问题方式的不同。指令集:CISC的指令集更复杂,包含大量的复杂和专门的指令,例如,一条指令可能就能完成数据的加载、运算和存储等多个操作。而RISC的每条指令设计为在一个时钟周期内完成,这样可以简化硬件设计,提高指令的执行效率。浮点和 SIMD 支持:ARMv8 改进了浮点和 SIMD 的支持,它包括新的浮点运算指令和为多媒体和数据处理优化的新 SIMD 指令。,例如,它支持更多的物理地址和更大的虚拟地址空间。,提高了在虚拟环境中运行应用的性能。 阅读详情




这两天遇到静态库不支持armv7s的问题,所以顺道了解和总结一下几个arm架构的一些基本区别。

 

ARM是微处理器行业的一家知名企业,arm处理器以体积小和高性能的优势在嵌入式设备中广泛使用,几乎所有手机都是使用它的。

armv6, armv7, armv7s, arm64 是ARM CPU的不同指令集,原则上是向下兼容的。如iPhone4S CPU支持armv7, 但它同时兼容armv6,只是使用armv6指令可能无法充分发挥它的特性。同理iPhone5 CPU支持armv7s,它虽然也兼容armv7,但是却无法进行相关的优化。

 

armv6设备:iPhone, iPhone2, iPhone 3G,第一代、第二代iPod Touch

armv7设备:iPhone 3GS, iPhone 4, iPhone 4S

                    iPad , iPad 2,  the new iPad

                    iPod Touch 3G, iPod Touch 4

armv7s设备:iPhone 5 iphone 5c

arm64设备:iPhone 5s iphone 6 iphone 6s

 

只有在目标设备上,才会执行设备对应的指令集。

如果在工程Build Setting的Architectures 中的“Build Active Architecture Only”选择为YES,则即使你设置成armv7 , armv7s同时支持,也只会编译对应指令集的包;若选择NO,则编译器会整合两个指令集到一起,此时的包比较大,但是能在iPhone5上使用armv7s的优化,同时也能适配老的设备。一般都是Debug时“Build Active Architecture Only”选择YES,用当前的架构看代码逻辑是否有问题;而在Release时选择NO,来适配不同的设备。

此外,模拟器并不运行arm代码,软件会被编译成x86可以运行的指令。所以生成静态库时都是会先生成两个.a,一个是i386的用于在模拟器运行,另一个是在真实设备上运行的,然后再用命令将两个.a合并成一个。

 

因此如果一些程序中使用的静态库不支持armv7s,而你的工程支持armv7s时,就会出现“xxxx does not contain a(n) armv7s slice:xxxxx for architecture armv7s"的编译错误,想要解决这个问题,有两个方法:

1.如果是开源的,能够找到源代码,则可以用源代码重新打一个支持armv7s的libaray, 或者在工程中直接使用源代码,而不是静态库。

2.如果不是开源的,要么就坐等第三方库的支持,要么就暂时让你的工程不支持armv7s。


ARM架构指令集详解:从armv6到arm64的ABI兼容与部署选择 指令集架构(ISA)是CPU与软件之间的二进制契约,决定了机器指令的编码规则与执行方式。不同ISA版本在寄存器数量、位宽、指令编码上存在差异,直接影响ABI兼容性。理解这些底层原理,能帮助开发者在Android打包、Linux服务器部署、交叉编译等场景中正确选择目标架构,避免非法指令或性能损失。armv7与arm64的ABI不兼容,而armv8同时支持AArch32和AArch64执行状态。本文深入拆解armv6、armv7、armv7s、armv8、arm64的核心区别,并提供从指令集到实际部署的决策逻辑 阅读详情

相关推荐

15、 ARM架构的未来:探索ARMv6及其后续发展

本文深入探讨了ARMv6架构的关键特性,包括高级DSP和SIMD支持、Load-Link/Store-Conditional机制以及ARM1136J核心的具体实现。同时展望了未来技术发展趋势,如TrustZone和Thumb-2等,这些创新将进一步提升ARM架构的性能、安全性和代码密度,满足现代消费电子设备的需求。

weixin_30633869的博客 142

armv6、armv7、armv7s、armv8、arm64是什么意思,它们之间有什么区别?

上面我们提到armv6、armv7、armv7s、armv8、arm64都是ARM处理器的指令集。原则上,指令集都是向下兼容的,如armv7指令集,它同时兼容armv6指令集,只是使用armv6指令集时无法充分发挥其性能,无法使用armv7指令集中的新特性。我们知道,日常使用的电脑一般都是Intel或者AMD的处理器,但在手机和一些移动设备上,几乎使用的都是ARM处理器。简言之,armv6、armv7、armv7s、armv8、arm64都是ARM处理器的指令集。armv8是一个指令集版本。

qq_45797625的博客 1万+

告别串口升级!手把手教你为STM32H750的W25Q32制作MDK下载算法(QSPI篇)

本文详细介绍了为STM32H750的W25Q32制作MDK下载算法(QSPI篇)的完整流程,帮助开发者告别低效的串口烧录方式。通过定制下载算法,可实现20倍以上的烧录速度提升,支持完整的调试功能,显著提高开发效率。文章涵盖环境准备、核心算法实现、性能优化及常见问题解决方案,适合嵌入式开发者参考。

weixin_30735745的博客 403

armv6, armv7, armv7s的区别

这两天遇到静态库不支持armv7s的问题,所以顺道了解和总结一下几个arm架构的一些基本区别。 ARM是微处理器行业的一家知名企业,arm处理器以体积小和高性能的优势在嵌入式设备中广泛使用,几乎所有手机都是使用它的。 armv6, armv7, armv7s是ARM CPU的不同指令集,原则上是向下兼容的。如iPhone4S CPU支持armv7, 但它同时兼容armv6,只是使用arm...

weixin_30332241的博客 719

如何更好的理解PFC(功率因数校正)

此电路虽然简单,可以在前期设计的无PFC功能的设备上,简单的增加一个合适的电感(适当的选取L和C的值),从而达到具有PFC的作用,但是这种简单的、低成本的无源PFC输出纹波较大,滤波电容两端的直流电压也较低,电流畸变的校正及功率因数补偿的能力都很差,而且L的绕制及铁芯的质量控制不好,会对图像及伴音产生严重的干扰,只能是对于前期无PFC设备使之能进入市场的临时措施。)在t4~t5期间尽管二极管左边电压在逐步上升,但是由于二极管右边的Uc放电缓慢右边的电压Uc仍旧大于左边,二极管仍旧反偏截止。

U_YAO的博客 948

PointPainting 复现

三维目标检测

weixin_58207716的博客 4532

armv6、armv7、armv7s、arm64这样四种的区别

对于iOS设备来说iOS的指令集有armv6、armv7、armv7s、arm64这样四种,不同型号的iOS设备使用不同的指令集,下面是各自的区别: armv6 iPhone、iPhone 3G iPod 1G、iPod 2G armv7 iPhone 3GS、iPhone 4 iPod 3G、iPod 4G、iPod 5G iPad、iPad 2、iPa

applexiaozhu的博客 2万+

IOS开发之----armv6 armv7 armv7s arm64架构的区别

arm结构处理器,几乎所有的手机都基于arm,其在嵌入式系统中应用非常广泛。 ARM AMD Intel就是手机CPU   ARM 处理器因为低功耗和小尺寸而闻名,它的性能在同等功耗的产品中也很出色。这里我们注意一点,模拟器并不运行arm代码,软件会被编译成x86可以运行的指令。只有在目标设备上,才会执行设备对应的指令集。   ARMv6设备包括 iPhon

a1152024140的专栏 3095

用一台笔记本跑起 SAP HANA:从 express edition 的定位,到本地硬件门槛与安装实操

SAP HANA是面向个人开发者、初创团队与教学科研场景的精简发行版,保留了in-memory列存引擎、SQLScriptAFLGraphSpatial等核心能力,可免费用于开发与一定规模的生产用途(上限为 32 GB RAM)。它最大的特征,是能在资源受限的laptop或上快速落地,让你在本地完成从建模、开发到测试的完整闭环。SAP在交付形态上,提供了多种安装包:预配置的VM OVA、面向Linux的二进制安装包,以及历史上出现过的容器化方案;你可以按现有设备与熟悉的运维方式择优选择。官方文档把VM。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 534

解锁机器人逆运动学算法:从理论到实战

机器人逆运动学,简单来说,就是已知机器人末端执行器(如机械臂的手部、工具等)期望达到的位置和姿态,求解机器人各个关节需要达到的角度或位移的过程。在机器人的实际应用场景中,逆运动学起着不可或缺的作用。以工业制造中的焊接机器人为例,为了完成复杂的焊接任务,焊接头(末端执行器)需要精准地到达工件上的各个焊接点,并保持合适的姿态以确保焊接质量。这时,逆运动学算法就根据焊接点的三维坐标以及焊接头应有的姿态(如角度等),计算出机械臂各个关节的转动角度,从而控制机械臂带动焊接头准确地运动到目标位置。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2052

IOS设备之armv6,armv7,armv7s,arm64

http://ksnowlv.blog.163.com/blog/static/218467056201310910192972/ 详细说了armv6,armv7,armv7s,arm64  的区别 http://justsee.iteye.com/blog/2009954 翻译苹果官网的文档

记录成长、分享心得 2053

ICC2: pin shape不在track上引起的drc如何解决?

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 433

iOS 指令集架构Architectures armv6、armv7、armv7s、arm64、arm64e、x86_64、i386

1. ARM架构 ARM架构过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,ARM处理器非常适用于移动通讯领域,符合其主要设计目标为低耗电的特性。 ARM和Intel处理器的第一个区别是,前者使用精简指令集(RISC),而后者使用复杂指令集(CISC)。 2. ARM处理器指令集...

AI架构师易筋 7414

YOLOv13改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 91

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64

1、Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64 http://blog.youkuaiyun.com/hxl188/article/details/39291159

Jacob_chen的专栏 574

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

iOS ARM处理器指令集 、i386、Architectures设置

//联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄 一、概念   i386是代表模拟器:显示i386错误说明静态库不支持模拟器,只支持真机。  1、ARM     ARM处理器,特点是体积小、低功耗、低成本、高性能,所以几乎所有手机处理器都基于ARM,在嵌入式系统中应用广泛。  2、ARM处理器指令集     a

石虎 871

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

iOS_Apple 指令集

Apple 指令集 iOS测试分为模拟器测试和真机测试,处理器分为32位和64位。 ARM架构 ​ ARM架构,过去称作高级精简指令集机器(英语:Advanced RISC Machine,更早称作艾康精简指令集机器,Acorn RISC Machine),是一个精简指令集(RISC)处理器架构家族,其广泛地使用在许多嵌入式系统设计。由于节能的特点,其在其他领域上也有很多作为。ARM处理器非常适用于移动通信领域,符合其主要设计目标为低成本、高性能、低耗电的特性。

mikimo的博客 1427

【转】Xcode打AppStore包踩过的那些坑

文章来自http://www.cnblogs.com/meteoric_cry/p/3720831.html 一、file was built for archive which is not the architecture being linked (armv7s) 项目是基于cocos2d-x绑定lua进行开发的,需要引用liblua.a静态库,编译的时候报上面的错。...

dawu9085的博客 210

unity打包ios ipa 过大,ios压缩技巧

之前每个版本的ipa包打出来都才20M出头,后来不知道从哪个版本起打的包每次都将近40M,但是工程中也没有明显的增加很大第三方类或者图 片、静态文件。于是就开始了各种瘦身计划:压缩图片,删除不必要静态库。做了一番改动后发现包只比原来小了1M多,收效甚微。后来听同事说了 armv6 armv7 armv7s arm64引起编译包翻倍增大的问题,于是就试了一下,果然ipa包又回到了以前的大小。下边

唐僧的专栏 3699

iOS证书安装与更新

一、 armv6, armv7, armv7s, arm64 的区别 armv6设备 iPhone, iPhone2, iPhone 3G,第一代、第二代iPod Touch armv7设备 iPhone 3GS, iPhone 4, iPhone 4S iPad , iPad 2, the new iPad iPod Touch 3G, iPod Touch 4 armv7s设备...

weixin_30321449的博客 697

Xcode target build settings Architectures

先介绍一下 armArm处理器,因为其低功耗和小尺寸而闻名,几乎所有的手机处理器都基于arm,其在嵌入式系统中的应用非常广泛,它的性能在同等功耗产品中也很出色。Armv6、armv7、armv7s、arm64都是arm处理器的指令集,所有指令集原则上都是向下兼容的,如iPhone4S的CPU默认指令集为armv7指令集,但它同时也兼容armv6指令集,只是使用armv6指令集时无法充分发挥其性能,即

比上不足 1504

XCode中Architecturs配置及常见问题

http://lanvige.github.io/2014/03/19/architecturs-in-xcode/ XCode 5.1升级后因arm64和CocoaPods的原因,痛了一天,终于解决了问题,同时也记录下这次的学习成果。 ARMv6/7/7s & ARM64 在了解Architecture之前,先来认识这几个名字。armv6, armv7, armv7...

weixin_34124939的博客 323
上一篇: iOS中Bitcode的介绍及配置
下一篇: webrtc sip html5
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值