Cortex-M3是一个32位处理器内核,采用的是哈佛结构。
在CM3中小端模式和大端模式都是支持的。
Banked R13:两个堆栈寄存器。任意时刻只能使用其中的一个。
堆栈指针的最低两位永远是0,这就意味着堆栈总是4字节对齐的。
凡是打断程序执行的事件,都被称为异常(exception)。
除了外部中断外,因各种错误产生的fault,以及不可屏蔽中断发生时,都会打断程序的执行,这些情况都称为异常。
(在不严格的上下文中,异常和中断可以混用)

Cortex-M3支持两种处理器的操作模式,还支持两级特权操作
handler mode 和 thread mode
正两个模式是用于区别普通应用程序和异常应用程序(包括异常服务例程)的代码
特权级和用户级,提供一种存储器访问的保护机制,这是一个基本的安全模型
thread mode可以使用特权级,也可以使用用户级
handler mode只能使用特权级
复位后,处理器默认进入thread mode,特权级访问    p15
用户级到特权级的唯一途径就是异常

中断控制器--嵌套向量中断控制器NVIC(Nested Vectored Interrupt Controller)

R15程序计数器PC
因为CM3内部使用连指令流水线,读PC时返回的值是当前指令的地址+4K
优先级号越大,优先级越低

屏蔽效果:FAULTMASK>PRIMASK>BASEPRI    (在特权级下才允许被改)

控制寄存器(CONTROL)
有两个用途,一是用于定义特权级别,二是选择当前使用的堆栈指针K

Cortex-M3使用的是“向下生长的满栈”模型

P17 图2.6 存储器映射分成若干区域
P41 图3.15 初始MSP及PC初始化的一个范例

AHB内部私有外设总线,NVIC、FPB、DWT、ITM
APB外部私有外设总线,制造商添加的片上APB外设等等

NVIC所处的区域叫SCS(系统控制空间),它还包括SysTick、MPU以及代码调试用的寄存器
P83 图5.1 Cortex-M3预订义的存储器映射
P84 图5.2 系统控制空间(SCS)

P98 M3中的大端模式和ARM7相比在AHB上的数据处理有差别、
CM3是在复位的时候确定用哪种端模式,在运行中不能更改。
指令预取永远使用小端模式,在配置控制存储器空间的访问也永远使用小端模式(包括NVIC、FPB等)
外部私有总线地址区0xE0000000~0xE00FFFFF也永远使用小端模式。

P110
在Cortex-M3中编号1~15的是系统异常,大于等于16的都是外部中断,除连异常的优先级被定死了之外,其他异常的优先级都是可编程的。
NVIC的挂起状态寄存器可以保存中断请求信号,这样即使等到响应该中断的时候请求信号没有连,还是会执行这个中断的,这样就不会错失中断请求。
由于芯片厂商会在设计时对优先级进行裁减,生活衣优先级都是以MSB对齐的,即高位对齐。
P113 图7.2 使用4个位来表达优先级的情况(图有误,注意)

向量表是可以重定位的。但是,必须先求出系统中共有多少个向量,再把这个数字向上“圆整”到2的整数次幂,而且起始地址必须对齐到后者的边界上
例如:一共有32个中断,则共有32+16=48个向量,圆整后为64,因此向量表定位的地址必须被64*4=256整除。

转载于:https://www.cnblogs.com/shouchengcheng/p/3491598.html

《ARM Cortex-M3权威指南》--语句摘要相关推荐

  1. ARM Cortex M0权威指南_PDF电子书下载 带书签目录 高清完整版 http://pan.baidu.com/s/1jGKQSwY MariaDB入门很简单_PDF电子书下载 带

    ARM  Cortex  M0权威指南_PDF电子书下载 带书签目录 高清完整版   http://pan.baidu.com/s/1jGKQSwY   MariaDB入门很简单_PDF电子书下载 带 ...

  2. IDA Pro 权威指南阅读摘要1

    IDA Pro 权威指南阅读摘要1 文件加载 使用File->Open命令打开一个新文件时,会看到加载对话框. Binary File (二进制文件)是加载类型列表的最后一个选项,它是IDA加载 ...

  3. 《HTTP权威指南》摘要

    目录 前言 第一章 HTTP 概述 第二章 URL 与资源 第三章 HTTP 报文 报文流 状态码 100~199:信息提示 200~299:成功 300~399:重定向 400~499:客户端错误 ...

  4. ARM Cortex M3指令集

    一.跳转指令 跳转指令用于实现程序流程的跳转,在ARM 程序中有两种方法可以实现程序流程的跳转: Ⅰ.使用专门的跳转指令. Ⅱ.直接向程序计数器PC 写入跳转地址值. 通过向程序计数器PC 写入跳转地 ...

  5. Tomcat权威指南-读书摘要系列6

    6. Tomcat 安全防护 使用SecurityManager 在Tomcat中,决定安全策略的配置文件是$CATALINA_HOME/conf/catalina.policy,在用-securit ...

  6. The Definitive Guide to ARM Cortex M3 and Cortex M4 Processors, 3rd Edition.pdf

    在网上找不到可以直接下载的直链,要不是要登录就是要付费,挺麻烦的,百度都搜不到什么好东西,谷歌一下发现了可以直接下载的连接如下 https://www.academia.edu/35524606/ 直 ...

  7. ARM Cortex -M 体系结构————————ARM微控制器与嵌入式系统(清华大学慕课记录)

    ARM的发展过程 对于ARM公司来讲,ARM公司只做CPU设计,采用出售IP的方式运营,半导体产商无需自己设计CPU,是生产关系的革命,提高了生产力.下面这张图ARM核的多个系列,我们可以看到ARM从 ...

  8. ausam3x 嵌入式linux,ATSAM3X8EA-AU - 微控制器, 32位, SAM3X系列, ARM 皮质-M3, 84nb

    ATSAM3X8EA-AU - 微控制器, 32位, SAM3X系列, ARM 皮质-M3, 84 MHz, 512 KB, 96 KB, 144 引脚, LQFP The ATSAM3X8EA-AU ...

  9. ARM® Cortex®-M内核单片机STM32家族介绍,覆盖STM32F、STM32H、STM32L全系列

     STM32是ARM®Cortex®-M内核单片机.目前提供10大产品线(F0, F1, F2, F3, F4, F7, H7, L0, L1, L4),超过700个型号.STM32产品广泛应用于 ...

  10. 姚文详(Joseph Yiu):《ARM Cortex-M0权威指南》中文版目录

    JosephYiu是英国ARM公司微控制器系统级设计专家,是ARMCortex-M3和Cortex-M0设计者,作者高屋建瓴,创作了基于Cortex-M0的重量级作品--<ARMCortex-M ...

最新文章

  1. k8s系列----一个简单的例子
  2. 2、HTML <img>标签(插入图片)
  3. windows使用WSL安装linux子系统
  4. 教研教改课题 php,乘课题研究东风,掀教研教改高潮
  5. 简单电子相册视频制作的步骤和要点
  6. win11网络配置文件类型怎么更改 Windows11更改网络配置文件类型的步骤教程
  7. 数据结构上机实践第13周项目1 - 验证Prim算法的验证
  8. 190515每日一句
  9. mysql悲观锁和乐观使用实例_MySQL 悲观锁和乐观锁
  10. MapGis:mapgis设置中配置好系统库后仍报错不能打开子图库等错误
  11. 应用系统开发--银行系统
  12. 自动控制原理7.1---离散系统的基本概念
  13. python朋友圈头像_Python之微信-微信好友头像合成
  14. 面试官:如何设计群聊消息的已读未读功能?
  15. 分分钟上手 VS Code
  16. 证明:DES解密算法是DES加密算法的逆
  17. angular primeng table 非sortIcon排序
  18. 如何考上复旦大学研究生
  19. 用机械键盘敲代码会不会更带感 ?送 9 套雷柏机械键盘
  20. 微信支付快速生成签名sign

热门文章

  1. ant java任务_Ant War任务
  2. 恢复oracle数据步骤,通过数据泵expdp、impdp方式备份与还原/恢复 Oracle数据库(详细过程)-Oracle...
  3. java es score_elasticsearch系列(七)java定义score(示例代码)
  4. siteservercms 缺点_SiteServer CMS 术语大全
  5. 阿里云云计算助理工程师认证(ACA)50个资源合集和备考题库
  6. 2021-08-25剑指 Offer 13. 机器人的运动范围
  7. 430.扁平化多级双向链表
  8. 树中两个节点的最低公共祖先
  9. 简述deque容器的插入删除原理
  10. php laravel 面试,当面试关问你Laravel Facade,说出这几个关键词就可以