ARM单片机的中断详细过程(重要)

ARM单片机的中断详细过程(重要)

一、ARM异常中断

ARM的异常(中断源)总共分为三类(八种):

  • 三类:
    • (1)执行指令引起的直接异常:软件中断,未定义的指令和预取指令终止(地址无效、权限问题、内存故障、缓冲一致性)等。
    • (2)指令执行引起的间接异常:读取和存储数据时的数据终止。
    • (3)外部产生的异常(与指令流无关):复位,IRQ,FIQ(快速中断)。
  • 在8种异常中断中,向量中断控制器VIC仅仅控制外部中断源,然后将其输出为FIQ和IRQ!!!"向量中断控制器VIC"的作用就是控制允许哪些中断源可以产生中断 、可以产生那类中断 、产生中断后执行哪段服务程序 。

二、关于中断向量表(多级中断向量表)

异常有四种:中断、陷阱、故障、终止。每一种异常都有对应的处理子程序,所以系统启动时初始化有一个中断向量表在从地址0开始的32个字节的空间内。

  • 异常细分下来总共有8种:复位 ,未定义指令 ,软件中断SWI ,指令预取终止 ,数据访问终止 ,保留 ,IRQ ,FIQ。其中FIQ和IRQ是由向量中断控制器(VIC)来进行管理的外部中断,细分下来总共有大概30种左右的中断源。这些中断也对应一个中断向量表,大概是从0x0000020-0x000000c0。也就是说,由于IRQ数量众多,所以还需要一个二级普通中断向量表!这些中断源经由VIC之后可以由VIC自由决定其属于那一种中断。
相关推荐
Zwawa3 小时前
把按键和 LED 状态显示出来:第一次看见程序到底在干什么
单片机·嵌入式
小程序设计4 小时前
基于STM32的办公室智能空气净化系统设计
stm32·单片机
不悔哥6 天前
开源OV-Watch:怎么做一个智能手表
单片机·开源·嵌入式
XiHongShi20166 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
深圳老胡6 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
女神下凡6 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件
梅梅9666 天前
一款mipi转lvds的lcd调试(LT8912B)
单片机·计算机外设·电脑·显示器·pd芯片
开发笔记-阿牛6 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
CHENKONG_CK6 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
三佛科技-187366133976 天前
128KB~512KB Flash车规级MCU选型指南(FT32A072 / FT32A103 系列)
单片机·嵌入式硬件