ADS异常处理.ppt

ADS异常处理.ppt

ID:48732370

大小:314.00 KB

页数:39页

时间:2020-01-20

ADS异常处理.ppt_第1页
ADS异常处理.ppt_第2页
ADS异常处理.ppt_第3页
ADS异常处理.ppt_第4页
ADS异常处理.ppt_第5页
资源描述:

《ADS异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、异常处理Agenda序言中断处理软中断(SWI)处理其它异常处理VectorTableVectortablecanbeat 0xFFFF0000onARM720T andonARM9/10familydevicesFIQIRQ(Reserved)DataAbortPrefetchAbortSoftwareInterruptUndefinedInstructionReset0x1C0x180x140x100x0C0x080x040x00异常处理当异常产生时,ARMcore:拷贝CPSR到SPSR_设置适当的CPSR位:改变处理器状态进

2、入ARM状态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断(如果需要)保存返回地址到LR_设置PC位相应的异常向量返回时,异常处理需要:从SPSR_恢复CPSR从LR_恢复PCNote:这些操作只能在ARM态执行.从SWI和Undef异常返回MOVSpc,lr从FIQ,IRQ和预取异常(PrefectAbort)返回SUBSpc,lr,#4从数据异常(DataAbort)返回SUBSpc,lr,#8如果LR之前被压栈的话使用LDM“^”LDMFDsp!,{pc}^异常返回:使用一数据处理指令:相应

3、的指令取决于什么样的异常在特权模式不仅仅更新PC,而且拷贝SPSR到CPSR设置CPSR,“S”bitPC做为目的寄存器异常返回指令Seeendofpresentationforbackground informationontheseinstructions异常优先级异常在当前指令执行完成之后才被响应多个异常可以在同一时间产生异常指定了优先级和固定的服务顺序:ResetDataAbortFIQIRQPrefetchAbortSWIUndefinedinstruction向量表指令>32Mbytes<4KbytesLiteralpoolcont

4、ainingaddressofUndefHandlerIRQhandlerwithin32MBytesBranch instructionrangeSWIExceptionhandlerplacedonapplicableaddressboundaryFIQhandlerfollowsvectortableUndefhandleroutside32MBytes branchinstructionrange0x00x10000x20000000xFFC0x80x180x300000000xFFFFFFFF0x1C0x4MOVPC,#0x30000

5、000BIRQ_handler0x30008000IRQHandlerSWIHandlerFIQHandlerLDRPC,[PC,#+0xFF0]UndefHandler0x30008000ARMorThumb?Thumb/ARM混合应用程序ARMCodeARMCodeThumb CodeFIQIRQ(Reserved)DataAbortPrefetchAbortSoftwareInterruptUndefinedInstructionReset异常处理中的寄存器使用与异常发生相关的模式改变意味着所调用的异常处理程序至少要访问:私有的SP_

6、ode>(stackpointer).私有的LR_(linkregister).私有的SPSR_(savedprogramstatusregister).在FIQ异常处理中,另有5个私有的通用寄存器(r8_fiqtor12_fiq).其它的寄存器是所有模式公用的.异常处理程序必须确保其他的寄存器在退出前恢复到原来的状态这可以通过将任何正在使用的寄存器的内容保存在堆栈中,并在返回前恢复来实现任何所需寄存器的初始化要有应用程序的起始代码来完成,参阅:“EmbeddedSoftwareDevelopment”Agenda序言中

7、断处理软中断(SWI)处理其它异常处理中断处理ARM有两级外部中断FIQ,IRQ.可是大多数的基于ARM的系统有>2个的中断源!因此需要一个中断控制器(通常是地址映射的)来控制中断是怎样传递给ARM的。在许多系统中,一些中断的优先级比其它中断的优先级高,他们要抢先任何正在处理的低优先级中断。Note:通常中断处理程序总是应该包含清除中断源的代码。地址映射中断控制器nIRQnFIQARMMultiple Peripheral interrupt sourcesARM读控制器寄存器并找到IRQ/FIQ中断源ARM写外设寄存器清相应中断源FIQvsI

8、RQFIQ和IRQ提供了非常基本的优先级级别。在下边两种情况下,FIQs有高于IRQs的优先级:当多个中断产生时,FIQ高于IRQ.处理FIQ时禁止I

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。