ARMV7-M数据手册---Part B :System Level Architecture---B3 System Address Map
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的更多相关文章
- 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 ...
- 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, ...
- Linux/Unix System Level Attack、Privilege Escalation(undone)
目录 . How To Start A System Level Attack . Remote Access Attack . Local Access Attack . After Get Roo ...
- Java I/O theory in system level
参考文章: JAVA NIO之浅谈内存映射文件原理与DirectMemory Java NIO 2.0 : Memory-Mapped Files | MappedByteBuffer Tutoria ...
- [转] 检查更新时出错:无法启动更新检查(错误代码为 4: 0x80070005 — system level)
Google浏览器Chrome更新到时候提示错误:检查更新时出错:无法启动更新检查(错误代码为 4: 0x80070005 -- system level),很有可能是Chrome更新服务被禁用了,我 ...
- 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 ...
- 错误描述:请求“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 ...
- 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 ...
- 对于System.exit(0)和System.exit(1)的一般理解
public static void exit(int status) 终止当前正在运行的 Java 虚拟机.参数用作状态码:根据惯例,非 0 的状态码表示异常终止. 该方法调用 Runtime 类中 ...
随机推荐
- kettle连接mysql数据库并进行数据分析
1.数据库链接驱动 如果没有安装对应的数据库链接驱动,在数据库链接的过程中,可能会报某个数据库连接找不到的异常,因此需要下载对应驱动后(安装步骤可以参见“怎么在官网上下载java连接mysql的驱动j ...
- 《Apache kafka实战》读书笔记-管理Kafka集群安全之ACL篇
<Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kaf ...
- 记录一次php连接mssql的配置
记录一次php连接mssql的配置 在现有php环境中,php连接mssql数据库失败,tsql 连接正常. 确认问题在php环境上. 网上有个同仁总结的很好,https://blog.csdn.ne ...
- H5新属性FileReader实现选择图片后立即显示在页面上
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- zookeeper下的基本操作
安装好zk之后 启动服务端:在bin目录下 zkServer.sh restart 启动客户端 zkCli.sh 检查是否启动 直接输入jps命令,显示下面则表示启动成功 [root@iZbp12gg ...
- Hadoop记录-Linux Service
[Unit] Description=Datanode After=syslog.target network.target auditd.service sshd.service datanode_ ...
- ruby 中 手动执行job任务
step1:通过crtk客户端 进入项目主目录 step2:rails c step3:job类名.new.方法名 例:MonthWorkPlanJob.new.perform
- ibatis项目启动报错The string "--" is not permitted within comments【原】
该错误主要就是因为xml中<!-- [注释]--> 注释与-->之间没有空格造成xml解析错误 sqlMapConfig.xml内容如下 <?xml version=" ...
- mysql 批处理命令执行多个sql脚本
方法1 若有SQL脚本a.sql, b.sql, 其目录在f盘根目录下, 则可再写一个SQL脚本c.sql(假设其目录也在f盘根目录下, 也可以在其他路径下)如下: source f:/a.sql; ...
- Openresty 学习笔记(四)lualocks包管理器安装使用
Luarocks是一个Lua包管理器,基于Lua语言开发,提供一个命令行的方式来管理Lua包依赖.安装第三方Lua包等,社区比较流行的包管理器之一,另还有一个LuaDist,Luarocks的包数量比 ...