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

posted @ 2018-01-02 19:15  jasonactions  阅读(361)  评论(0编辑  收藏  举报