armv7 cortex a系列编程手册_STM32、Cortex-M3和ARMv8-M之间的关联

大家都应该知道STM32、Cortex-M3、ARMv8-M与ARM有关,但可能分不清他们是什么关系,或者具体是什么东西。

嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室​www.makeru.com.cn

一、总述ARMv8-M:是一款ARM架构。ARM架构分为:ARMv1、 ARMv2 ··· ARMv8。而ARMv8分为:ARMv8-A、 ARMv8-R、 ARMv8-M。

Cortex-M3:是一款ARM处理器内核,也可以理解为ARM处理器家族之中的一个成员。ARM处理器内核分为:经典核心和Cortex核心。传统的核心:ARM7、ARM9等。Cortex核心:Cortex-A、Cortex-R、Cortex-M等。

STM32:是一款ARM内核的处理器芯片。STM32绝大部分是Cortex-M内核,也有少部分包含Cortex-A7(比如:STM32MP)。

如图:

b44a7399b5e7cc1387f8a3b9500529e0.png

其实还可以细分很多内容,除了这些,还有一些我们常见的内容,比如ARM指令集、Thumb-2指令集等。

以上是总述的内容,下面再进一步描述其中的一些细节。

二、架构

从1995年开始,《ARM体系结构参考手册》是ARM文档的主要来源,提供了关于ARM处理器架构和指令集,区分接口,所有的ARM处理器的支持(如指令语义)的实现细节可能会有所不同。该体系结构随着时间的演变,并与Cortex系列的核心开始,存在三个“配置”的定义如下:

"应用"配置: Cortex-A 系列

"嵌入式"配置: Cortex-R 系列

"微处理器"配置: ARM Cortex-M 系列。

每个配置允许有其子集的架构。例如,用于ARMv6-M配置(所使用的Cortex M0 / M0+/ M1)的一个子集ARMv7-M架构(支持较少的指令)。

三、CPU模式

在任何时刻,CPU只可处于某一种模式,但可由于外部事件(中断)或编程方式进行模式切换。

用户模式:仅非特权模式。

系统模式:仅无需例外进入的特权模式。仅以执行明确写入CPSR的模式位的指令进入。

(svc) 模式:在CPU被重置或者SWI指令被执行时进入的特权模式。

Abort 模式:预读取中断或数据中断异常发生时进入的特权模式。

未定义模式:未定义指令异常发生时进入的特权模式。

干预模式:处理器接受一条IRQ干预时进入的特权模式。

快速干预模式:处理器接受一条IRQ干预时进入的特权模式。

Hyp 模式:armv-7a为cortex-A15处理器提供硬件虚拟化引进的管理模式。

四、ARM授权方式

ARM公司本身并不靠自有的设计来制造或出售CPU,而是将处理器架构授权给有兴趣的厂家。

标题中的STM32就是属于ARM公司授权Cortex-M内核给ST公司生产的一款处理器。

ARM提供了多样的授权条款,包括售价与散播性等项目。对于授权方来说,ARM提供了ARM内核的集成硬件叙述,包含完整的软件开发工具(编译器、debugger、SDK),以及针对内含ARM CPU硅芯片的销售权。

许多半导体公司持有ARM授权:Atmel、 ST、NXP、 TI、 IBM等。

在知识产权工业,ARM是广为人知最昂贵的CPU内核之一。单一的客户产品包含一个基本的ARM内核可能就需索取一次高达美金20万的授权费用。而若是牵涉到大量架构上修改,则费用就可能超过千万美元。

五、ARM核心时间线

早在1993年,经典的ARM7就问世了,直到现在大家看到的Cortex-A系列处理器。

1c3c24c939a1d92c1678def2d1f33745.png
物联网开发入门直播课 - 走进ARM-ARM开发环境搭建 - 创客学院直播室​www.makeru.com.cn

其实,在ARM7之前,都还有一些相关的处理器,感兴趣的朋友可以上网了解。

906f3d7ac116ce85d65aab486296c7ed.png

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

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

相关文章

IDEA如何显示类的所有方法

ALT7(数字7) 例如在Thread类下(Thread.java)按ALT7,就能左下角显示这个类的所有方法,点击相应方法会跳到那个方法中

5G只是小儿科?任正非对话人工智能专家2万字实录

9月26日,深圳,华为公司创始人任正非对话两位人工智能专家杰里卡普兰和彼得柯克伦。来源:澎湃新闻9月26日下午,深圳,华为公司创始人任正非对话两位人工智能专家杰里卡普兰和彼得柯克伦,三人围绕“创新”&…

loading 遮罩demo

之前项目手写loading加载ingdemo&#xff0c; 其中涉及图片是项目中用到&#xff0c; 注意&#xff1a; loadingBar div需要放到页面内容最前面; 至于何时出现或者控制隐藏显示 可使用js灵活控制即可。 <!doctype html> <html> <head> <meta charset&quo…

centos jupyter 安装_centos7安装 jupyter

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本&#xff0c;支持运行 40 多种编程语言。Jupyter Notebook 的本质是一个 Web 应用程序&#xff0c;便于创建和共享文学化程序文档&#xff0c;支持实时代码&#xff0c;数学方程&#xff0c;可视化和 markdown…

IDEA自动生成try catch异常处理语句

在写Java程序时&#xff0c;有些方法需要我们对其进行异常处理&#xff0c;例如线程的join方法&#xff0c;IDEA可以自动帮我们生成try catch语句 现在写一个join方法&#xff0c;发现下划线报错&#xff0c;因为需要对其异常处理 我们将鼠标放到报错处&#xff0c;按下altent…

c++ map 获取key列表_好未来Golang源码系列一:Map实现原理分析

分享老师&#xff1a;学而思网校 郭雨田一、map的结构与设计原理golang中map是一个kv对集合。底层使用hash table&#xff0c;用链表来解决冲突 &#xff0c;出现冲突时&#xff0c;不是每一个key都申请一个结构通过链表串起来&#xff0c;而是以bmap为最小粒度挂载&#xff0c…

windows使用python3.4生成二维码

1.首先下载qrcode库 使用pip命令&#xff1a; pip install qrcode python3.x以上的版本默认是安装好pip的&#xff0c;如果出现无法找到pip指令的信息的话&#xff0c;则需要首先安装pip。 2.然后安装PIL库 二维码的生成需要生成图像文件&#xff0c;PIL&#xff08;Python Ima…

Gartner 2019 年 BI 炒作周期五大趋势:增强分析、数字文化、关系分析、决策智能、实施和扩展...

来源&#xff1a;云头条Gartner研究副总裁Jim Hare声称&#xff1a;“由于智能/情报是所有数字化业务的核心&#xff0c;IT和业务负责人继续将分析和商业智能&#xff08;BI&#xff09;视为创新投资方面的重中之重。该炒作周期帮助数据和分析负责人过渡到增强分析&#xff0c;…

swift 选中长按项_Swift下使用UICollectionView 实现长按拖拽功能

导读简单用Swift写了一个collectionview的拖拽点击排序效果;拖拽排序是新闻类的App可以说是必有的交互设计&#xff0c;如今日头条&#xff0c;网易新闻等。GitHub地址&#xff1a;https://github.com/wangliujiayou/Swift-dragLabel 欢迎Star.效果主要代码手势长按移动1.给Col…

IDEA实现类自动输出需要实现的方法

在IDEA中写实现类时可以自动输出需要实现的方法&#xff0c;具体见下 首先定义一个实现Runnable接口的类 发现报错了&#xff0c;接着把鼠标放置报错的地方&#xff0c;按下altenter&#xff0c;选择下面红框 此时就会出现需要我们实现的接口中方法&#xff0c;点击ok

字典的数据怎么转变为excel_Excel小技巧——快速为多行数据排列名次

大家好&#xff0c;上一期我们介绍了合并单元格的自动排序小技巧&#xff0c;今天&#xff0c;再为大家准备一个排名表&#xff0c;下面我们就利用这个表格&#xff0c;来了解一下快速排名的方法吧。首先&#xff0c;我们在第一行排名单元格中输入今天要学习的公式前半部分。公…

GIt 从入门到放弃

一、注册github账号 github网址https://github.com/ 下一步 然后&#xff0c;你的邮箱会收到一封邮件&#xff0c;进行邮箱验证就行了 二、创建github仓库 登录你的github&#xff0c;在首页的右方可以看到下图所示&#xff08;我已经创建过项目了&#xff0c;没有创建过项目的…

麻省理工牛人解说数学体系

来源&#xff1a;P.Linux‘s blog与 ima一、为什么要深入数学的世界作为计算机的学生&#xff0c;我没有任何企图要成为一个数学家。我学习数学的目的&#xff0c;是要想爬上巨人的肩膀&#xff0c;希望站在更高的高度&#xff0c;能把我自己研究的东西看得更深广一些。说起来&…

programing python_Programing in Python3(Second Edition)_实例

Programming in Python3 (Second Edition)实例前言&#xff1a;在学习Python的过程中推荐一本书&#xff0c;《Programming in Python3 》也就是我以前用过的。推荐理由是这本书讲的很全面很详细&#xff0c;有一些非常实用的实例可以提供给读者学习&#xff0c;学完以后不仅知…

IDEA提示方法参数的快捷键

在写Java方法的时候有时想让软件提示一下方法的参数&#xff0c;解决方法是将鼠标放置到方法括号里&#xff0c;按下ctrlp&#xff0c;即可显示方法参数

docker常用命令_docker常用命令整理

docker常用命令整理代码狂魔 • 5 天前 • 技术积累 • 14 • 0前面已经把docker是什么和 docker怎么安装已经写了&#xff0c;现在我将常用命令做一个整理&#xff0c;方便日后查阅常用命令docker pull ${CONTAINER NAME} #拉取镜像 docker images …

cuda矩阵相乘_cuda初学(1):稀疏矩阵向量乘法(单精度)

初步学习CUDA编程&#xff0c;实现简单稀疏矩阵向量乘法运算&#xff0c;由于硬件限制&#xff0c;目前只测试了单精度程序GPU计算子程序gpu_fmmv.cu&#xff1a;#include #include // CUDA-C includes#include#ifdef __cplusplusextern "C" {#endif// For Fortran…

素数问题是物质的几何学问题

来源&#xff1a;知乎大家知道&#xff0c;黎曼猜想、孪生素数猜想、哥德巴赫猜想中皆涉及素数&#xff08;质数&#xff09;。关于黎曼猜想&#xff0c;黄逸文说“这是1900年希尔伯特提出的23个唯一未被解决的问题&#xff0c;也是数学中最重大的未解决的难题。1859年&#xf…

IEEE期刊LaTeX模板

https://template-selector.ieee.org/secure/templateSelector/publicationType

shell sort 最后一列排序_没想到 Shell 命令竟然还能这么玩?| Shell 玩转大数据分析...

关于作者&#xff1a;程序猿石头(ID: tangleithu)&#xff0c;现任阿里巴巴技术专家&#xff0c;清华学渣&#xff0c;前大疆后端 Leader。正文开始本文是一个命令行工具的综合应用&#xff0c;将用一个具体的例子来阐述如何用 Shell 来进行高效地数据统计和分析。最近北京又开…