ARM裸机开发222440中断原理

发布者:MagicGarden最新更新时间:2016-06-06 来源: eefocus关键字:ARM  裸机开发  中断原理 手机看文章 扫描二维码
随时随地手机看文章
1CPU与外设之间的数据传送控制方式(I/O控制方式)

通常有以下三种方式

1.查询方式

2.中断方式

3.DMA方式(在独立开辟的一个空间不由CPU控制,有DMA自己进行管理。实现存储器与外设的高速的数据传输方式)

 

主要讲中断:

中断请求---->中断仲裁---->中断响应---->中断处理---->中断返回(要保存现场)

 

中断处理流程:

1.中断控制器捕获当前外设发出的中断信号,通知SOC(中央处理芯片:片上系统)

2.SOC保存当前程序的运行环境,调用中断服务程序(ISR:一小段代码)进行处理中断

3.在ISR中通过读取中断控制寄存器、外设的相关寄存器来识别那一个中断触发,获取硬件中断号IRQ,跳转到相应的处理程序(详细完整的处理程序)来完成中断处理

4.清除中断:通过读写相关寄存器

5.恢复被中断的环境,继续执行(现场)

 

 

2440有60个中断源

一级中断源,二级中断源等的概念

ARM裸机开发222440中断原理
 

图片中的所指示的单元为相应的寄存器

悬挂寄存器source pending(SUBSRCPND、SRCPND)清零方式为向相应的位写1.与 常规的清零方式不同。INTPND也是通过写1进行清0操作

 

INTOFFSET:这个寄存器用来表示INTPND寄存器中哪位被置1了,即INTPND寄存器中位为1时,INTOFFSET寄存器的值为x(x为0~31)

在清除SRCPND、INTPND寄存器时,INTOFFSET寄存器被自动清除。

具体内容详见芯片手册S3C2440

 

外部中断:

外部中断也有相关的寄存器EXTINTx,EINTMASK,EINTPEND三个寄存器

EXTINTx设置中断的触发方式低电平,高电平,上升沿,下降沿,边沿触发

 

ARM裸机开发222440中断原理
 

EINTMASK

ARM裸机开发222440中断原理
 

EINTPEND中断悬挂寄存器(相应中断触发,相应的位置1)读取此寄存器可以知道是那一个寄存器被触发了

ARM裸机开发222440中断原理
 

 

 

 

关键字:ARM  裸机开发  中断原理 引用地址:ARM裸机开发222440中断原理

上一篇:ARM9启动分析存储器区分和启动流程解析
下一篇:ARM裸机程序设计—按键中断程序设计

推荐阅读最新更新时间:2024-03-16 14:56

ARM 非对齐的数据访问操作
非对齐的数据访问操作 对于Load/Store操作,如果是非对齐的数据访问操作,系统定义了下面3种可能的结果. 执行的结果不可预知. 忽略字单元地址的低两位,即访问地址为(address _and 0xffffffc)的字单元;忽略半字单元地址的最低位的值,即访问地址位(address _and 0xffffffe)的半字单元. 忽略字单元地址值种的低两位的值;忽略半字单元地址的最低位的值.有存储体统实现这种 忽略 .也就是说,这时该地址值原封不动的送到存储系统. 当发生非对齐的数据访问时,到底采用上述3种处理方法种的哪一种,是有各指令指定的.
[单片机]
第1天-ARM汇编指令BIC
BIC : 位清除 (Bit Clear) BIC{条件}{S} , , dest = op_1 AND (!op_2) BIC 是在一个字中清除位的一种方法,与 OR 位设置是相反的操作。操作数 2 是一个 32 位位掩码(mask)。如果如果在掩码中设置了某一位,则清除这一位。未设置的掩码位指示此位保持不变。 BIC R0, R0, #11 ; 清除 R0 中的位 0、1、和 3。保持其余的不变。 BIC 真值表 : Op_1 Op_2 结果 0 0 0 0 1 0 1 0 1 1 1 0 译注:逻辑表达式为 Op_1 AND NOT Op_2
[单片机]
GNU ARM汇编--(十九)u-boot-nand-spl启动过程分析
在理解bootloader后,花些时间重新学习了开源软件的makefile和相关脚本之后,自己的u-boot移植工作也比较顺利的完成了: 移植环境: ubuntu 12.04 U-Boot 2012.07 (Nov 28 2012 - 20:05:48) arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2009q1-203) 4.3.3 GNU ld (Sourcery G++ Lite 2009q1-203) 2.19.51.20090205 我移植的uboot只支持nand flash,原因是手头没办法烧写nor flash
[单片机]
解读ARM7内核微控制器LPC2148以太网接口电路
  嵌入式主控模块采用了基于ARM7TDMI-S内核的微控制器LPC2148,集成度非常高。内嵌40kB的片内静态RAM和512kB的片内 Flash存储器,片内集成ADC、DAC转换器,看门狗,实时时钟RTC,2个UART,2个I2C还有SPI等多个总线接口,及USB2.0全速接口。方便扩展USB接口、JTAG调试接口、触摸屏,外扩芯片少,而且采用超小的LQFP64封装,使得仪器的微型化得到了保证。而且电路相对简单,降低了开发和生产的成本。芯片可以实现最高60MHz的工作频率,有着较强的功能,能够满足嵌入式系统μC/OS—II及人性化的人机界面的要求。本设计中 LPC2148所有的接口都有使用。   以太网接口部分采用了具有
[单片机]
解读<font color='red'>ARM</font>7内核微控制器LPC2148以太网接口电路
英特尔与ARM掀起芯片市场圈地战
   导语:国外媒体撰文称,随着Windows 8的发布临近,英特尔和ARM之间的芯片大战也逐渐升温,双方都希望借助这款系统入侵对方的领地。   以下为文章全文:   正当PC厂商争相开发Windows 8平板电脑和PC之际,另外一场大战也在处理器市场悄悄点燃:一方是美国的英特尔,一方是英国的ARM,前者长期占据PC和服务器市场的霸主地位,后者则主导了智能手机和平板电脑市场。   随着微软新一代操作系统Windows 8的发布日渐临近,这两家芯片企业的斗争可能会继续升温:因为Windows将首次兼容ARM,帮助ARM进军英特尔的老巢;而由于该系统针对触摸屏进行了优化,也有望助力英特尔夺取更多平板电脑市场份额。   ARM和英特尔一直
[手机便携]
基于ARM和μC/OS的在线磷酸根离子监测仪设计
  火力发电厂和大型工业锅炉,通常采用向炉水中添加少量磷酸盐以防止钙、镁水垢的生成,磷酸根浓度不够,不能有效防止结垢,磷酸根离子含量过高,会导致炉水的pH值变高。因此磷酸根离子浓度是炉水检测的重要参数。ARM处理器具备高性能、低功耗、低成本等优点,将其应用于在线磷酸根离子分析仪的管理控制系统,可以提高磷酸根分析仪的处理速度和精度。   1 结构及测量原理简介   磷酸根离子分析仪整体结构包括光路系统、水路系统和管理控制系统三个部分。   光路系统主要包括:专用的单色LED冷光源、比色皿和光电传感器。   水路系统由比色皿、柱塞泵、多通道切换阀、流通池、样水/标液切换阀、流量计、排污阀、溢流管等组成。   利用化
[嵌入式]
单片机p0口的工作原理解析
学习ARM嵌入式的时候,发现自己对以前学过的数模器件的知识遗忘了不少,按照我的进度本来应该继续学习ARM微处理器控制的课程,但想着后来势必还会遇到相同的问题所以就准备中断一下,杀回来把汇编和一些电路知识再总结一下,查漏补缺。如果有写的不合理的地方,还请多多指教。言归正传,先来一幅图片来引入今天要讲述的三个知识点: 锁存器(由一个D触发器构成) D:数据输入端; CP/CLK:时序信号输入端; Q:输出端; ~Q:反向输出端; 工作原理: 当D端输入数据信号,CP/CLK端没有时序信号时,Q和~Q端将不会有信号输出; 当D端输入数据信号,CP/CLK端有时序信号时,Q和~Q端有信号输出; 当D端和CP/CLK端同时有信号输
[单片机]
单片机p0口的工作<font color='red'>原理</font>解析
爱特梅尔基于ARM9产品支持Android操作系统
微控制器及触摸解决方案的领导厂商爱特梅尔公司(Atmel® Corporation)宣布其基于ARM®的产品SAM9G45和SAM9M10将支持Android™ 操作系统 ,应用于消费、工业和计算市场。爱特梅尔以32位ARM926处理器为基础的SAM9G45和SAM9M10 ARM9™器件现可兼容Android操作系统,为运行Android操作系统的SAM9M10-G45-EK板提供完整的板级支持包(board support package, BSP)。 Android操作系统正在成为嵌入式开发人员的首选操作系统,不仅用于手机和平板电脑市场,也包括家用电器、工业设备监视器和医疗设备等垂直市场。相比传统Linux®版本,
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved