第三讲_Cortex-M3基础
更新时间:2023-06-09 20:18:01 阅读量: 实用文档 文档下载
- 形势与政策第三讲推荐度:
- 相关推荐
Cortex M3
第三讲 Cortex-M3基础
Cortex M3
Cortex-M3基础Cortex‐M3是一个32位处理器内核。内部的数据是32位的,寄存器是32位的,存储器接口也是32位的。 CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行。这样一来数据访问不再占用指令总线,从而提升了性能。
Cortex M3
内容提要
寄存器组异常和中断操作模式和特权极别存储器映射总线接口指令集复位
Cortex M3
3.1寄存器组
Cortex‐M3处理器拥有R0‐R15的寄存器组。
Cortex M3
R0-R12:通用寄存器
R0‐R12都是32位通用寄存器,用于数据操作。但是注意:绝大多数Thumb指令只能访问R0‐R7。
Cortex M3
R13:堆栈指针
Cortex‐M3拥有两个堆栈指针,任一时刻只能使用其中的一个。 主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理。
进程堆栈指针(PSP):由用户的应用程序代码使用。
Cortex M3
R14:连接寄存器
当调用一个子程序时,为了减少访问内存的次数,由R14存储返回地址,把返回地址直接存储在寄存器中,这与其他大多数其它处理器都不一样。只有1级子程序调用的代码无需访问内存,从而提高了子程序调用的效率。如果多于1级,则需要把前一级的R14值压到堆栈里。在ARM编程时,应尽量只使用寄存器保存中间结果,迫不得以时才访问内存。
Cortex M3
R15:程序计数寄存器(PC)
指向当前的程序地址。如果修改它的值,就能改变程序的执行。
Cortex M3
寄存器
Cortex M3
特殊功能寄存器Cortex‐M3还在内核上搭载了若干特殊功能寄存器,包括: 程序状态字寄存器组PSRs;
中断屏蔽寄存器组PRIMASK, FAULTMASK, BASEPRI;控制寄存器CONTROL。
Cortex M3
程序状态寄存器(PSRs或xPSR)
程序状态寄存器在其内部又被分为三个子状态寄存器: 应用程序 PSR(APSR) 中断号 PSR(IPSR) 执行 PSR(EPSR)这3个寄存器即可以单独访问,也可以组合访问(2个组合,3个组合都可以),当使用三合一的方式访问时,应使用名字“xPSR”或者“PSRs”。
Cortex M3
Cortex M3
中断屏蔽寄存器组PRIMASK:屏蔽所有的中断——当然了,不可屏蔽NMI。 FAULTMASK:屏蔽所有的fault——NMI依然不受影响 BASEPRI:屏蔽所有优先级不高于某个具体数值的中断。
Cortex M3
控制寄存器(CONTROL)
控制寄存器用于还用于定义特权级别和堆栈指针的选择。
Cortex M3
特殊功能寄存器操作指令只能被专用的MSR和MRS指令访问。MRS<gp_reg>,<special_reg>功能:读特殊功能寄存器的值到通用寄存器。 MSR<special_reg>,<gp_reg>功能:写通用寄存器的值到特殊功能寄存器。
Cortex M3
3.2异常与中
断
在ARM编程领域中,凡是打断程序顺序执行的事件,都被称为异常(exception)。除了外部中断外,当有指令执行了“非法操作”,或者访问被禁的内存区间,因各种错误产生的fault,以及不可屏蔽中断发生时,都会打断程序的执行,这些情况统称为异常。在不严格的情况下,异常与中断也可以混用。程序代码也可以主动请求进入异常状态的(常用于系统调用)。
Cortex M3
Cortex M3
CM3的所有中断机制都由NVIC实现。除了支持240个外中断之外,NVIC还支持16‐4‐1=11个内部异常源。
虽然CM3是支持240个外中断的,但具体使用了多少个是由芯片生产商决定。
Cortex M3
NMI
CM3还有一个NMI(不可屏蔽中断)输入脚。当它被置为有效时,NMI服务程序会无条件地执行,NMI究竟被拿去做什么,还要视处理器的设计而定。在多数情况下,NMI会被连接到一个看门狗定时器,有时也会是电压监视功能块,以便在电压掉至危险级别后警告处理器。NMI可以在任何时间被激活。
Cortex M3
向量表
当一个发生的异常被CM3内核接受,对应的异常handler (处理程序)就会执行。为了决定handler(程序)的入口地址,CM3使用了“向量表机制”。这里使用一张向量表。向量表其实是一个WORD(32位整数)数组,每个下标对应一种异常,该下标元素的值则是该异常handler的入口地址。在复位后,该寄存器的值为0。因此,在地址0处必须包含一张向量表,用于初始时的异常分配。
Cortex M3
正在阅读:
第三讲_Cortex-M3基础06-09
北京燕京啤酒厂参观实习报告04-17
水电工程施工协议书07-07
和平中学教学水平评估校长演讲稿06-09
Tutorial 3 Matlab M文件编辑调试器的使用02-03
山西旅游业发展成就10-23
镇党委书记在2022年教师节暨表彰大会上的讲话范文03-23
主板 - 图文09-18
一分耕耘,一分收获作文450字02-04
论历史教学中的德育教育12-23
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 三讲
- 基础
- Cortex
- 2010年9月计算机等考二级VB真题及答案
- 2009年重庆专升本《大学语文》现代应用文的语言特点
- 大学班级干部职务
- 电大英语(2) 选择题
- 长郡中学国际预科班
- 热心公益金,做青春的代言人
- 降低企业成本费用的措施及意义
- 2013年宁夏普通高等学校招生全国统一考试(新课标Ⅱ卷) 化学部分
- 《地图的基本要素》教学设计
- 建筑“五大员”法律法规知识考试题及答案
- 结构力学第五版 李廉锟版 10矩阵位移法
- 浅析社会主义核心价值体系在农民思想政治教育中的运用——以闽南三角洲为例
- 高级卷烟商品营销员理论知识试卷
- 中国五星级酒店名单大全2012
- 《活出最乐观的自己》读后感
- 青岛版三年级下册数学第五单元《年月日》专项练习题
- 《数学模型》模拟试题1
- 平方差公式导学案
- 软件测试网上购物系统的测试
- 最新湘鲁版三年级下英语Unit4 教案