8.ARM电源管理和中断机制.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.ARM电源管理和中断机制

SL空闲模式下只有LCD控制器工作, 在这种情况下, 除了LCD控制器外CPU和其他所有外设时钟都停止, 因此SL空闲模式的功耗小于空闲模式. 中断挂起寄存器 INTPND 中断挂起寄存器INTPND中,每一个中断源对应着一位。只有未被屏蔽且具有最高优先级、在源挂起寄存器中等待处理的中断请求,其对应的中断挂起位被置1。S3C44B0在中断服务程序中必须加入对I_ISPC和F_ISPC写1的操作来清除挂起条件,准备接收下一次中断。S3C2410在中断服务程序中可以直接对INTPND进行清除操作 中断模式寄存器INTMOD ARM处理器的中断模式有两种:IRQ模式和FIQ模式。中断模式寄存器INTMOD中,每一个中断源对应着一位。当中断源的模式位设置为0时,中断会按IRQ模式来处理;当模式位设置为1时,对应的中断会按FIQ模式来处理。 中断屏蔽寄存器INTMSK 在中断屏蔽寄存器INTMSK中,除了全局屏蔽位外,每一个中断源对应着一位。 如果某位设置为1,则该位所对应的中断请求不会被处理;如果某位设置为0,则该位所对应的中断请求才会被处理。如果全局屏蔽位被设置为1,则所有的中断请求都不会被处理理。 S3C44B0向量模式相关寄存器 对S3C44B0中的优先级产生模块的设置通过对寄存器I_PSLV、I_PMST、I_CSLV、C_CMST的设置来完成。 如果几个中断源同时发出中断请求,则可通过读I_IPSR寄存器可获知前具有最高优先级的中断源。 思考与练习题 三星公司两款流行的ARM处理器芯片S3C44B0和S3C2410各是基于什么结构架构的,S3C2410与S3C44B0相比较具有哪些优势? ??进入中断后,程序状态寄存器如下: ...... I F T M4 M3 M2 M1 M0 ? 1 x 0 1 1 0 1 1 未定义异常中断返回时,使用下列指令返回到原中断处: MOVS PC,R14. ?软件中断异常 是由指令SWI引起的。程序在执行这一指令后,进入异常中断。处理器响应中断,硬件执行如下的操作: ●把下一条指令的地址拷贝给LR; ●把程序状态寄存器CPSR拷贝给SPSR_svc; ●强制进入管理模式; ●强制进入到ARM状态; ●跳转到绝对地址PC=0执行; ●禁止IRQ中断。 ?进入中断后的程序状态寄存器如下: ...... I F T M4 M3 M2 M1 M0 ? 1 x 0 1 0 0 1 1 软件中断处理程序完成后,使用下列指令返回到原中断处: MOVS PC,R14 ?预取指中止异常 程序存储器引起的中止异常叫做预取指中止异常;数据存储器引起的中止异常叫做数据中止异常。 有两种可能如下: ●当执行这条指令前程序发生跳转,则这条无效指令不引起异常中断; ●当执行到这条指令时,处理器会发生预取指中止异常,引起中断。 当进入预取指异常中断时,处理器硬件响应中断,执行以下的操作: ●把中断时PC的地址拷贝给LR; ●把程序状态寄存器CPSR拷贝给SPSR_abt; ●强制进入中止异常模式; ●强制进入到ARM状态; ●跳转到绝对地址PC=0x0000000C处执行; ●禁止IRQ中断。 进入中断后,程序状态寄存器如下: ...... I F T M4 M3 M2 M1 M0 ? 1 x 0 1 0 1 1 1 预取指中止异常中断返回时,应该执行下列指令: SUBS PC,R14,#4. 数据中止异常 ARM处理器访问数据存储器时,在读取数据的同时数据存储器发出了中止信号,引起数据中止异常。 数据中止异常中断服务程序返回时,用下列指令: ????SUBS PC,R14,#8 ?上述指令是返回到中断时所执行的指令,目的是再一次从数据存储器中读取数据。如果不再一次读取数据,则执行下一条指令,此时使用下列指令返回: ? SUBS PC,R14,#4 当进入数据中止异常中断时,处理器硬件响应中断,执行以下的操作: ●把中断时的PC的地址拷贝给LR; ●把程序状态寄存器CPSR拷贝给SPSR_abt; ●强制进入中止异常模式; ●强制进入到ARM状态; ●跳转到绝对地址PC=0执行; ●禁止IRQ中断。 ??进入中断后,程序状态寄存器如下: ...... I F T M4 M3 M2 M1 M0 ? 1 x 0 1 0 1 1 1 中断请求(IRQ)异常 当I=1时。则屏蔽IRQ中断,当I=0时,则允许中断。处理器复位后置I为1,关闭中断。 ARM系统中外设通过该异常中断请求处理服务。 例如:定时器中断、串行口通讯中断、外部信号中断和A/D处理中

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档