1.前言

2.The system address map

3.System Control Space (SCS)

4.The system timer, SysTick

5. Nested Vectored Interrupt Controller, NVIC

与中断异常相关的寄存器主要包含在如下几个部分:

1.位于SCS.system control and ID.no SCB下的的中断相关寄存器

  • Interrupt Controller Type Register, ICTR

主要提供了关于中断控制器相关的信息,此处给出了MCU厂商所支持的中断线的总数

  • Software Triggered Interrupt Register, STIR

提供了一个机制,让软件来触发产生一个中断,需要在bit0~bit8写入一个(ExceptionNumber - 16)值来触发对应中断线产生中断

2.位于SCS.system control and ID. SCB下的的中断相关寄存器

  • Interrupt Control and State Register, ICSR

提供NMI, PendSV, and SysTick exceptions的软件控制和中断状态信息

主要包括 PendSV和SysTick的手动pending和清pending;

是否有外部中断产生;

是否有更高优先级的中断pending产生

除了当前中断异常处于活跃状态,是否还有其他异常处于活跃状态

显示当前异常的异常号

  • Application Interrupt and Reset Control Register, AIRCR

设置返回中断控制数据,通过向bit1写入1来清空所有中断异常的活跃状态信息

  • Vector Table Offset Register, VTOR

向量表地址,bi7~bit31

  • System Handler Priority Register 1, SHPR1

设置返回系统handler4~7的异常优先级

  • System Handler Priority Register 1, SHPR2

设置返回系统handler8~11的异常优先级

  • System Handler Priority Register 1, SHPR3

设置返回系统handler12~15的异常优先级

3.位于SCS的NVIC区域内的中断相关寄存器

  • Interrupt Set-Enable Registers, NVIC_ISER0-NVIC_ISER15

使能或读每组中断的使能状态

  • Interrupt Clear-Enable Registers, NVIC_ICER0-NVIC_ICER15

清空或读每组中断的使能状态

  • Interrupt Set-Pending Registers, NVIC_ISPR0-NVIC_ISPR15

设置每个中断的pending

  • Interrupt Clear-Pending Registers, NVIC_ICPR0-NVIC_ICPR15

清空每个中断的pending

  • Interrupt Active Bit Registers, NVIC_IABR0-NVIC_IABR15

每组32个中断,显示是否处于活跃状态

  • Interrupt Priority Registers, NVIC_IPR0-NVIC_IPR123

每个寄存器设置4个中断的优先级,每个优先级占8位

6. Protected Memory System Architecture, PMSAv7

ARMV7-M数据手册---Part B :System Level Architecture---B3 System Address Map的更多相关文章

  1. System Address Map Initialization in x86/x64 Architecture Part 2: PCI Express-Based Systems

      原文  http://resources.infosecinstitute.com/system-address-map-initialization-x86x64-architecture-pa ...

  2. Android File Hierarchy : System Structure Architecture Layout

    Most of the Android user are using their Android phone just for calls, SMS, browsing and basic apps, ...

  3. Linux/Unix System Level Attack、Privilege Escalation(undone)

    目录 . How To Start A System Level Attack . Remote Access Attack . Local Access Attack . After Get Roo ...

  4. Java I/O theory in system level

    参考文章: JAVA NIO之浅谈内存映射文件原理与DirectMemory Java NIO 2.0 : Memory-Mapped Files | MappedByteBuffer Tutoria ...

  5. [转] 检查更新时出错:无法启动更新检查(错误代码为 4: 0x80070005 — system level)

    Google浏览器Chrome更新到时候提示错误:检查更新时出错:无法启动更新检查(错误代码为 4: 0x80070005 -- system level),很有可能是Chrome更新服务被禁用了,我 ...

  6. DASH----Desktop and mobile Architecture for System Hardware----桌面和移动系统硬件架构(DASH)计划

    http://baike.baidu.com/subview/813787/11301142.htm http://sites.amd.com/cn/business/it-solutions/man ...

  7. 错误描述:请求“System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限已失败

    错误描述:请求“System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, Pu ...

  8. System and method for critical address space protection in a hypervisor environment

    A system and method in one embodiment includes modules for detecting an access attempt to a critical ...

  9. 对于System.exit(0)和System.exit(1)的一般理解

    public static void exit(int status) 终止当前正在运行的 Java 虚拟机.参数用作状态码:根据惯例,非 0 的状态码表示异常终止. 该方法调用 Runtime 类中 ...

随机推荐

  1. Mysql连接查询、子查询、联合查询 整理

    连接查询 连接语法的基本形式 from 表1  [连接方式]  join 表2  [on 连接条件]: 交叉连接 语法: from  表1  [cross]  join  表2  ;      //可 ...

  2. HTML常用提交按钮

    1. 标签=元素 disabled(不可操作)  readonly(只读)  placeholder(提示文本) autofocus(自动获焦)  autocomplete=”on(默认.规定启用自动 ...

  3. 【SqlServer】SqlServer中的计算列

    计算列区别于需要我们手动或者程序给予赋值的列,它的值来源于该表中其它列的计算值.比如,一个表中包含有数量列Number与单价列Price,我们就可以创建计算列金额Amount来表示数量*单价的结果值, ...

  4. 开源实时消息推送系统 MPush

    系统介绍 mpush,是一款开源的实时消息推送系统,采用java语言开发,服务端采用模块化设计,具有协议简洁,传输安全,接口流畅,实时高效,扩展性强,可配置化,部署方便,监控完善等特点.同时也是少有的 ...

  5. python第一次周末大作业

    #############################作业############################# 1. 三次登录验证 完成用户登录验证 要求: 1. 系统自动生成4位随机数. ...

  6. SpringMVC+Shiro不拦截静态资源配置

    最近在弄SpringMVC与Shiro整合,发现如果将DispatcherServlet拦截 *.do这样的URL,就不存在访问不到静态资源的问题.如果DispatcherServlet改为拦截“/” ...

  7. HDU - 4553 约会安排(区间合并)

    https://cn.vjudge.net/problem/HDU-4553 Description 寒假来了,又到了小明和女神们约会的季节.  小明虽为屌丝级码农,但非常活跃,女神们常常在小明网上的 ...

  8. Spark源码剖析 - SparkContext的初始化(九)_启动测量系统MetricsSystem

    9. 启动测量系统MetricsSystem MetricsSystem使用codahale提供的第三方测量仓库Metrics.MetricsSystem中有三个概念: Instance:指定了谁在使 ...

  9. vee-validate表单验证组件

    vee-validate是VUE的基于模板的验证框架,允许您验证输入并显示错误 安装 npm i vee-validate --save 引入 import Vue from 'vue'; impor ...

  10. SecureCRT通过拷贝配置文件登陆

    不知道是不是SecureCRT有问题,有时候会出现配置丢失的情况,而自己又找不到密码了,于是从同事拷贝配置文件,发现可以成功复制服务器登陆信息 1.option -> global option ...