ARM9和STM32什么关系?

news2024/9/22 6:14:33

已剪辑自: https://mp.weixin.qq.com/s/QHARY-D2SwFoQbFsJoCNlg

有小伙伴问:ARM9和STM32什么关系?如果时间倒退10年,ARM9、 s3c2410还算是比较流行的年代,但STM32这类“新时代”的ARM处理器也问世了。
ARM9是早期的ARM处理器,STM32算是这些年流行的处理器。

ARM的命名规则有点复杂,早期和现在的命名规则有点变化。对于普通人,只需要了解几个大的命名规则即可。

ARM的命名分为指令集架构、 处理器架构、 处理器型号三类命名规则:

图片

指令集架构命名格式:

Armv + [n] + [variants] + [x(variants)]

**Armv:**固定字符, 即ARM Version

**n:**指令集版本号, 迄今为之, ARM架构版本发布了9个系列, 所以n=[1~9]**variants:变种x(variants):**表示不支持x后指定的变种

**大版本:**ARMv1 ~ ARMv9然后可以进一步划分,比如:ARMv8-A、 ARMv8-R、 ARMv8-M
**2.处理器架构(系列)**自ARMv6架构开始,ARM根据处理器的性能和应用场景把处理器进一步划分为:Cortex-M、 Cortex-R、 Cortex-A三种不同类别的处理器系列。
早期的处理器其实没有进行这一步大分类。
3.处理器型号这里的处理器型号和我们直接的处理器型号(比如:STM32F103ZET6)有区别,这里是站在ARM的角度来说。
早期(ARMv6之前)的处理器型号命名规则:

ARM + [x][y][z] + [varians]

**x:处理器系列, 有6, 7, 9 , 11等多个系列y:存储管理/保护单元z:**cache
variants有以下字母可选:**T:支持Thumb指令集D:支持片上调试M:支持快速乘法器I:支持Embedded ICE, 支持嵌入式跟踪调试E:支持增强型DSP指令J:支持Jazelle(F):具备向量浮点单元VFP-S:**可综合版本

比如:ARM926, 属于ARMv5指令集架构的, CPU是ARM9系列的, 具备2个存储管理/保护单元, 6个 Cache。
ARMv6及之后的处理器型号就是现在大家比较熟悉的了,比如:

  • Cortex-M0、Cortex-M3、Cortex-M4
  • Cortex-R4、 Cortex-R5
  • Cortex-A55、 Cortex-A73

再放一张图:
图片**
**

了解ARM处理器命名规则之后,再来看ARM7、ARM9、s3c2410、STM32、Cortex-M3它们之间的区别。

ARM7是一个处理器系列(大版本,或者说ARM7家族),其中包含很多种类的处理器。

大多数都采用 ARMv4T核心架构,但也有部分处理器采取ARMv3或ARMv5TEJ核心。这个系列采用冯纽曼架构。

ARM7系列于1993年问世,经典的ARM7处理器有ARM7TDMI、 ARM7EJ-S等。(STM32早期的产品STM7,也是采用 ARM7TDMI 32位 RISC内核)

2.ARM9 和 s3c2410

ARM7之后就是ARM9,其实还有一个过渡产品ARM8(就像Win7直接跳到Win10一样)。

ARM9在我读书那会儿都还比较流行,包括现在还有很多关于 ARM9 的学习资料。

图片

经典的 s3c2410 其实就是一款基于 ARM920T 内核的处理器,继S3C2410之后的S3C2416、 S3C2440等可以说学习嵌入式Linux的同学都知道他们的存在,包括市面上很多Linux开发板和资料都是基于这几款处理器而设计。

目前嵌入式Linux开发板很多都是基于NXP 的iMX.6处理器(Cortex-A9)。

3.STM32 和 Cortex-M3

STM32可以说学习单片机和嵌入式开发的朋友都比较熟悉了,它是ST(意法半导体)公司基于 Cortex-M内核的处理器,包含多个系列(STM32F0、 F1、 F4、L0、 L1、 G0、 G4等)。

Cortex-M3只是一个ARM处理器的内核,很多半导体公司都基于Cortex-M3内核开发自己的产品。

最后,对于初学者,没有必要过多纠结这些处理器到底有什么关系,到底有什么区别。

在你不清楚的情况下,选在一款当下流行的处理器来学习就对了,买块开发板直接开学,多敲代码多思考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java+MySQL基于ssm的打车管理系统的设计与实现

随着时代的发展,交通也变的越来越便利,但是很多时候人们出行的时候因为各种原因还是会进行打车,因为一些地区比较偏远或者处于特殊的时间段而用户又急需用车等情况导致没办法及时的打到车,这种情况下就急需一套基于互联网的打车系统出现了。 本打车管理系统采用JAVA语言来进行开…

Vivado2019+Modelsim仿真环境搭建

目录 一、安装准备 二、安装与配置 2.1 Vivado安装 2.2 modelsim安装 2.3 Vivado设置modelsim仿真环境 1)仿真库生成设置 2)modelsim添加仿真库(逐个添加) 3)modelsim添加仿真库(批量添加&#xff…

Spring 中 @Value 注解使用和源码分析

1、Value 注解使用 先配置本地 application.properties 如下: apple.nameabc代码如下: PropertySource("application.properties") public class Apple {Value("${apple.name}")public String name; }ComponentScan public class …

非零基础自学Golang 第9章 结构体 9.7 匿名结构体 9.8 小结 9.9 知识拓展

非零基础自学Golang 文章目录非零基础自学Golang第9章 结构体9.7 匿名结构体9.7.1 匿名结构体定义与初始化9.7.2 匿名结构体的应用9.8 小结9.9 知识拓展9.9.1 使用结构体解析XML文件第9章 结构体 9.7 匿名结构体 9.7.1 匿名结构体定义与初始化 匿名结构体,顾名思…

blender源代码编译运行

其实在blender官网上已经给出了编译步骤https://wiki.blender.org/wiki/Building_Blender/Windows,由于在源码编译的过程中还遇到了很多问题,特此记录一下。 文章目录前提准备代码下载1. blender源码下载2. lib下载编译前提准备 Visual Studio2019或者2…

Innodb存储引擎-执行流程分析和二阶段提交分析

文章目录执行流程分析基本流程WAL(Write-Ahead Log)write和fsync区别innodb_flush_logs_at_trx_commit & sync_binlog二阶段提交执行流程分析 基本流程 (1)连接,分析,优化,执行 客户端与MySQL Server建立连接,发送语句给MySQL Server&a…

2022.12.18 学习周报

文章目录摘要文献阅读1.题目2.摘要3.介绍4.RNNConventional Recurrent Neural Networks5.Deep Recurrent Neural Networks5.1 Deep Transition RNN5.2 Deep Output5.3 Stacked RNN6.实验6.1 训练6.2 结果与分析7.讨论深度学习GRU公式推导1.GRU前向传播2.GRU反向传播GRU代码实现…

关于数学中“函数(function)”的含义

目录 1. 问题 2. “function”是如何翻译成“函数”的? 3. “function”是谁引入数学中的,其意义何在? 3.1 “function”的词源 3.2 “function”引入数学中 3.3 “function”的含义 4. 常见的函数(Common Functions) 4.1 线性函数(L…

word页码如何设置为章节加页码,例如第一章第一页1-1、第二章章第一页2-1

由于用到word页码分章节页码的形式,从网上查了一下,质量真的很差,没有一篇文章讲清楚的,有的所答非所问,一怒之下,利用几个小时的时间解决问题并写下这篇文章,以供大家学习参考!&…

【JSP】

文章目录简介Scriptlet脚本小程序JSP的指令标签include静态包含include动态包含不传参传参JSP的四大域对象四种属性范围验证属性范围的特点EL表达式操作字符串操作集合emptyJSTL条件动作标签if标签choose、when 和 otherwise 标签迭代标签foreach格式化动作标签formatNumber标签…

NProgress 进度条的使用方法

安装NProgress 进度条 npm install nprogress --save-dev 在vue项目中mian.js中或router.js或axios.js: import NProgress from nprogress import nprogress/nprogress.css 使用NProgress进度条 NProgress.start(); :进度条开始; NProgr…

GCD和LCM

目录 一 整除 定义 性质 二 GCD 1)定义 2)性质 3)GCD编程 ①暴力法 ②欧几里得算法 ③更相减损术 ④Stein算法 三 LCM ①暴力法 ②最大公约数法 四 裴蜀定理 例题:裴蜀定理 一 整除 定义 a 能整除b,记为 a|b。其…

你还会想起这道题吗

链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 原神是由米哈游自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「提瓦特」的幻想世界,在这里,被神选中的人将被授予「神之眼」,导引元…

m基于神经网络的气候预测matlab仿真,气候数据采用的BoM气候数据,神经网络为matlab编程实现不使用工具箱函数

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model&#xff09…

UICollectionView 实际使用

一. 使用UICollectionView制作书架 我想的书架是那种每一排都可以滑动的。暂时的想法是使用两个collectionView,第一个collectionView布置书架的每一排,第二个布置每一排内部的书。 布置外部的colletionView,这部分很简单,item的…

[ 数据结构 -- 手撕排序算法第五篇 ] 堆排序

文章目录前言一、常见的排序算法二、堆的概念及结构三、堆的实现3.1 堆的插入3.2 堆的删除四、堆排序4.1 向上调整建堆4.2 向下调整建堆4.3 建堆的时间复杂度4.4 堆排序五、堆排序的特性前言 手撕排序算法第五篇:堆排序! 从本篇文章开始,我会…

Java+JSP超市管理系统(含源码+论文+答辩PPT等)

项目功能简介: 该项目采用的技术后台框架:Servlet、JSP、JDBC、UI界面:BootStrap、jQuery、数据库:MySQL 系统功能 该系统共包含两种角色:员工和管理员。系统的主要功能模块如下: 1.系统管理 系统登陆、系统退出、修改…

《Mysql是怎样运行的》补充

19 第19章 从猫爷被杀说起-事务简介 19.1 事务的起源 19.1.1 原子性(Atomicity) 19.1.2 隔离性(Isolation) 其它的状态转换不会影响到本次状态转换,这个规则被称之为 隔离性 19.1.3 一致性(Consisten…

[ISITDTU 2019]EasyPHP rce替换字母

<?php highlight_file(__FILE__);$_ $_GET[_]; if ( preg_match(/[\x00- 0-9\"$&.,|[{_defgops\x7F]/i, $_) )die(ros will not do it);if ( strlen(count_chars(strtolower($_), 0x3)) > 0xd )die(you are so close, omg);eval($_); ?> 打开界面有两个i…

Mysql分布式锁(四)乐观锁实现并发

文章目录CAS - Compare And Swap业务改造1. 表结构新增version列2. 修改代码3. 测试问题1. 高并发情况下&#xff0c;性能极低2. ABA问题3. 读写分离情况下导致乐观锁不可靠CAS - Compare And Swap 先比较再交换&#xff0c;一般通过时间戳或者version版本号。 举例&#xff1…