`
dato0123
  • 浏览: 923156 次
文章分类
社区版块
存档分类
最新评论

简单说说NVIC

 
阅读更多

//=====================================================================
//TITLE:
// 简单说说NVIC
//AUTHOR:
// norains
//DATE:
// Tuesday 20-October-2010
//Environment:
// KEIL MDK 4.0
// STM32F103ZE
//=====================================================================

对于CORTEX-ME而言,NVIC的重要性不言而喻。只不过对于初学者,可能刚开始调试时会遇到一些问题,本篇就简单就几个问题说一说。

1.如何查看NVIC寄存器

如果使用的是MDK,那么查看向量表的地址很简单,只需要查看NVIC_VT0的数值即可。因为NVIC_VTO存储的是中断向量的内存地址,例如,CPU重启之后,其复位后的数值为0x00000000,如图:


当然,也可以重新定位向量表的地址,这个可以简单通过汇编代码实现,如:

LDR R0,= 0x20000000
LDR R1,= 0xE000ED08
STR R0,[R1]

执行完毕之后,NVIC_VT0就指向内存地址0x2000 0000了,如图:


2.如何确定向量表的地址

假如我们的向量表有48个向量,那么对于其所存放的地址有什么特殊要求么?答案自然是有的。我们就以这48个向量为例子。

因为现在向量是48个,和2的整次幂不符合,所以要向上圆整到64。而每一个向量,都是32bit,也就是4Byte,所以整个向量表的大小就是64 * 4 = 256Byte。而对于内存地址来说,地址数值每增加1,其实就是增加一个1Byte。所以,对于这个向量表的起始地址来说,除非是0x00000000,否则一定要能够被256整除。因此可以合法的起始地址可以是0x0000 0000,0x0000 0100,0x0000 0200等。

可能说明有点复杂,起始我们只要抓住一个原则,就是向量表的起始地址一定要能够被向量表的大小整除即可。

分享到:
评论

相关推荐

    STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解

    STM32 的 NVIC_PriorityGroupConfig 使用及优先级分组方式理解 STM32 的 NVIC(Nested Vectored Interrupt Controller)中的 NVIC_PriorityGroupConfig 是一个关键的配置项,它决定了中断的优先级和分组方式。在 ...

    NVIC的应用 基于stm32

    基于stm32 的 NVIC的应用 适合于初学者

    stm32中的nvic

    stm32中的nvic介绍,供初学者理解使用

    STM32NVIC中断

    中断简单明了,有51基础一定能看懂,方便简洁,不会就多看几遍

    基于STM32CubeMX的NVIC中断及异常处理20180705

    在这里简单介绍一下NVIC(嵌套向量中断控制器)。NVIC就是控制中断响应的。主要由三个参数,一个是中断使能,一个是抢占优先级,还有一个就是响应优先级。(优先级数值越小,优先级别越高) 中断使能很好理解,就是是否...

    代码_单片机_NVIC_Init_

    NVIC_Configuration函数用于配置中断源,本例中用到了 RTC秒中断;GPIO_Configuration函数用于配置 PB5口线,作为每秒控制 LED亮灭的控制线; Usart1_Init函数用于配置串口 1,设置了通信速率等;Clock_ini函数用于...

    NVIC.rar_NVIC

    基于STM32芯片,NVIC嵌套中断向量列表控制器的程序,最好在keil环境下结合STM32开发板硬件调试

    void_NVIC_Init--详细分析

    对ST官方最新固件库中NVIC-Init函数的详细分析,有中文注释,帮助初学者迅速了解整个函数功能和执行流程

    NVIC.rar_NVIC实例

    LPC中NVIC的使用实例,经测试准确无误

    STM32中NVIC的总结

    STM32中NVIC的总结,stm32,f10x

    STM32实例程序 3.NVIC_test优先级抢占

    STM32实例程序 3.NVIC_test优先级抢占STM32实例程序 3.NVIC_test优先级抢占STM32实例程序 3.NVIC_test优先级抢占STM32实例程序 3.NVIC_test优先级抢占STM32实例程序 3.NVIC_test优先级抢占STM32实例程序 3.NVIC_test...

    NVIC_test.rar_NVIC

    STM103V100的嵌套向量中断控制器NVIC例程

    K60芯片NVIC

    K60芯片NVIC模块中断相关寄存器配置以及应用举例

    电子-STM32中的NVIC.pdf

    电子-STM32中的NVIC.pdf,单片机/嵌入式STM32-F0/F1/F2

    STM32 NVIC程序源代码

    曾经开发STM32用过的一些基本应用的源代码,希望对学习嵌入式的同学们有所用处

    STM32的NVIC个人理解

    #define NVIC_PriorityGroup_0 ((u32)0x700) /* 0 bits for pre-emption priority 4 bits for subpriority */ #define NVIC_PriorityGroup_1 ((u32)0x600) /* 1 bits for pre-emption priority 3 bits for ...

    STM32F10X系例 NVIC及寄存器记录.docx

    重新加深STM32F103系列NVIC中断向量控制器,结合“正点原子”相关教材和《STM32中文参考手册》,写了这篇关于NVIC的总结文档,防止自己忘记后有迹可查。

    NVIC_test.rar_STM32 nvic

    MDK环境下stm32的NVIC改变中断级别的使用实例

    stm32.zip_NVIC_test优先级抢占_STM32 nvic

    stm32的NVIC_test优先级抢占

Global site tag (gtag.js) - Google Analytics