zoukankan      html  css  js  c++  java
  • 第六课 中断控制器

    第六课 中断体系结构

    <1>ARM中断体系结构

    (1)7种工作模式

    (2)异常

    <2>S3C2440中断体系结构

           (1)中断处理过程

           (2)相关寄存器

    <3>源码分析

    1.EINT0~3是无需在EINTMASK寄存器(外部中断屏蔽寄存器)中使能的,但是EINT4~24就需要在加一条语句了,如: EINTMASK &= ~(1<<11);

    2.head.S步骤:

    写reset函数:栈指针,关看门狗;设置中断模式,设置栈指针;设置管理模式,设置栈指针;初始化外设为中断配置(init.c里面,还要设置优先级,并且把中断屏蔽关掉);开总中断;跳到main函数;

    写中断函数:保存现场;调到中断服务函数;写返回地址(现场返回)

    3.写IRQ函数:

    计算中断偏移量,根据偏移量判断哪个中断,并对该中断进行相应的处理程序;

    注意:EINTPEND寄存器(外部中断挂机寄存器),EINT4~24外部中断不用了需要对该寄存器相应的位写1禁止。

    最后清除中断:从源头开始,包括SRCPND,INTPND等(往相应的位写1即可)。

      

  • 相关阅读:
    Light Bulb(三分)
    Turn the corner (三分)
    xmu1214: 购物
    Tempter of the Bone(dfs奇偶剪枝)
    Oh, my goddess(bfs)
    nyoj三个水杯(bfs)
    组合数(dfs)
    吝啬的国度(dfs+vector)
    Cube Stacking(并差集深度+结点个数)
    python之socketserver实现并发
  • 原文地址:https://www.cnblogs.com/AcmenLiang/p/6782477.html
Copyright © 2011-2022 走看看