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. #1479 : 三等分(树形DP)

    http://hihocoder.com/problemset/problem/1479 #1479 : 三等分 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最 ...

  2. C++ cout格式化输出(转)

    C++ cout格式化输出(转) 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/pr ...

  3. python 计算机发展史,线程Process使用 for循环创建 2种传参方式 jion方法 __main__的解释

    ########################总结################## #一 操作系统的作用: 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理.调度进程,并且将多个进程对硬 ...

  4. TPS和QPS的区别和理解【转】

    QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. TPS:是Transactions ...

  5. 自学python 5.

    1.tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "na ...

  6. 谷歌地图,国内使用Google Maps JavaScript API,国外业务

    目前还是得墙 <!DOCTYPE html> <html> <head> <meta name="viewport" content=&q ...

  7. vue中异步函数async和await的用法

    整理的不错,收藏一下 http://blog.sina.com.cn/s/blog_13d06fc1f0102wzfr.html

  8. EFCodeFirst示例

    1.定义一个基础模板类 namespace WebApplication1.Models { /// <summary> /// 可持久到数据库的领域模型的基类. /// </sum ...

  9. Redis基础知识 之——发布/订阅

    一.说明: 订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者).而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅 ...

  10. bzoj 3620 暴力KMP

    十分暴力的KMP,枚举左端点,在向右侧推进的同时,取较小的la保证条件,n方暴力 #include<bits/stdc++.h> #define rep(i,j,k) for(int i= ...