【ARM入门】ARM、SOC、ARM授权 概念篇

什么是ARM

ARM前身是Acorn公司设计的第一款微处理器,叫ARM:Acorn RISC Machine

ARM公司的名字叫ARM:Advanced RISC Machines

ARM内核

包括了寄存器组、指令集、总线、存储器映射规则、中断逻辑和调试组件等

内核是有ARM公司设计并以销售方式授权给芯片厂商使用的

比如Cortex A8、A9都是ARMv7a架构,Cortex M3、M4都是ARMv7m架构(Cortex A8、A9和Cortex M3、M4都是处理器(就是内核),ARMv7a和ARMv7m是指令集的架构(简称架构))

命名的改变

以前叫ARM9、ARM11

ARM11芯片之后,即ARMv7架构开始,ARM的命名方式有所改变

Cortex系列

新的处理器家族,改以Cortex命名

分为三个系列:

  • Cortex-A(A:Applications,面向手持终端。用于具有高计算要求、运行丰富操作系统及提供交互媒体和图形体验的应用系统,如导航仪、手机、数字电视、家用网络、家用网关等)
  • Cortex-R(R:REAL-TIME,面向对实时要求高的设备,如摄像机、打印机、动力传动解决方案、大容量存储控制器等嵌入式实时应用)
  • Cortex-M(M:MCU,单片机领域,不需要处理手机那种复杂应用,主要针对成本和功耗敏感的应用,如单片机、玩具、家用电器、医疗器械、人机接口设备、智能测量等)

ARM指令集架构

ARM指令集,就是ARM架构,比如ARMv8,每个处理器都需要以来一定的ARM架构来设计

从1985年ARMv1架构诞生起,到2021年,ARM架构已经发展到了ARMv9

Cortex-A53、CortexA57两款处理器输入Cortex-A50系列,首次采用64为ARMv8架构

2020年ARM发布了一款全新的CPU架构Cortex-A78,是基于ARMv8.2指令集

2021年Cortex-X2、Cortex-A710、Cortex-A510基于ARMv9架构

什么是SoC

SoC:System-on-a-Chip,把系统都做到一个芯片上

  • 一个SOC实例

什么是ARM授权

就比如制造汽车,ARM公司相当于拥有最先进的'大动机'设计方案,但是他不'生产发动机',而是把设计方案授权给各大'汽车厂商'生产,赚来的钱继续研发更先进的'发动机'

  • 架构层级授权
    指可以对ARM架构进行大幅度改造,甚至可以对ARM指令集进行扩展或缩减
    比如苹果,在使用ARMv7-A架构基础上,扩展出来自己的苹果swift架构
  • 内核层级授权
    指可以以一个内核为基础,然后再加上自己的外设,比如usart、GPIO、SPI、ADC等,最后形成自己的MCU
    这种公司很多, 如三星、TI
  • 使用层级授权
    想要使用一款处理器,得到使用层级的授权是最基本的,这就意味着只能na别人提供的定义好的ip来嵌入在你的设计中,不能更改人家的ip,也不能借助人家的ip创造自己的基于该ip的风扎u那个产品

以写文章为例:我写了一篇文章

架构层级授权:可以拿去修改后使用

内核层级授权:我告诉乙,你可以在你的文章中引用我的文章

使用层级授权:只能对我的文章进行转发,不能修改

相关推荐
小尧嵌入式4 小时前
基于HAL库实现F407的基本外设GPIO输入输出USART收发RTC时钟I2CEEPROM和SPIW25Q128读写及CAN通信
arm开发·单片机·嵌入式硬件
楼兰公子10 小时前
arm-linux 系统allwinner R528 外挂的sd卡片为什么只能传输189.54M文件
linux·arm开发·sd卡
北京盛世宏博1 天前
《Modbus RTU 与 TCP/IP:RS485 与 RJ45 温湿度传感器协议适配选型》
arm开发·传感器·温湿度
wa的一声哭了1 天前
WeBASE管理平台部署-WeBASE-Web
linux·前端·网络·arm开发·spring boot·架构·区块链
Shylock_Mister1 天前
ARM与x86交叉编译实战排错指南
linux·c语言·arm开发
ai_xiaogui2 天前
Mac苹果版Krita AI一键安装教程:AIStarter+ComfyUI零基础部署全流程(X86/ARM双架构)
arm开发·人工智能·macos·comfyui·一键部署·ai绘画教程·kritaai
brave and determined2 天前
可编程逻辑器件学习(day22):“让ARM穿上FPGA的马甲“:赛灵思Zynq的命名哲学与技术革命
arm开发·嵌入式硬件·fpga开发·zynq·fpga设计·嵌入式设计·fpga开发流程
wa的一声哭了3 天前
Linux服务器配置ssh免密登陆多台服务器、服务器别名配置
linux·运维·服务器·网络·arm开发·python·ssh
蓁蓁啊3 天前
ARM交叉编译中编译与链接参数不一致导致的问题
开发语言·arm开发·嵌入式硬件
青柚~4 天前
【鲲鹏服务器麒麟系统arm架构部署docker】
服务器·arm开发·docker·架构