44B0 中断分析(二)_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、44b0 中断分析(二) 本文将试图叙述44b0x处理器处理中断的详细过程,假如读者的中断执行不正常,请确保 flash 中烧录了立宇泰 sys's bootloader for v1.2,同时ads开发环境中的ro base为0x0c0008000,rw base为0xc5f0000。 本文采纳的44binit.s的自叙为: 本程序以系统的timer0中断为例,中断初始化程序如下:2调试程序装载后axd装载axf调试文件后,临时不运行,pc指针指示在b resethandler处,用右键菜单中的disassembly,可以看出初始地址事实上指示在0x0c008000,即ads中设置的

2、ro base,表示程序即将从0x0c008000开头运行。3非矢量模式下的执行过程经过以上预备工作,单击【运行】两次后 timer0 中断发生,通过事先设置好的断点捕获中断,全部图中的红点即为运行前设置的断点:pc-0x0c008000 转到 pc-0x00000018 处,即转到 flash 中执行bootloader的代码。 pc-0x00000018 转到 pc-0x0c000018处,即又跳回到sdram中。 pc-0x0c000080处执行的是isrirq中断识别程序。 识别程序段执行完后,转到用户的中断服务程序timer_isr( )入口。4矢量模式下的执行过程option.s中

3、有_irq_baseaddress equ 0xc000000;在44binit中有如下定义: (_irq_baseaddress+0x100) handletimer0 4猜想地址handletimer0_irq_baseaddress+0x1340x0c000134,下面来看看猜测对不对。 改rintcon=0x1举行矢量中断过程的观看,重新装载程序,再单击【运行】两次后,time0中断产生: timer0 中断产生,跳转到中断矢量地址 0x00000060,而不是跳转到 irq中断入口0x00000018,这就是非矢量中断和矢量中断的本质区分。 再跳转到0x00000334,注重还是在f

4、lash中,因此还得归功于bootloader 黑体所选程序是类似宏调用handlertimer0 handler handletimer0产生的代码,因为这是在 flash 中,所以不行能是调试时下载进去的。(不信任可以把44binit.s中的宏handlertimer0 handler handletimer0注释掉试试。) 执行完0x00000348处的命令后,执行步骤。 好,bootloader完成使命后,跳转到用户的timer_isr( ),入口地址为0x0c0087d4,在44b.h中有定义:define pisr_timer0 (*(unsigned *)(_irq_baseaddress+0x134)/0x54),可看出pisr_timer0和44b0init.h中定义的handletimer0指向地址是一样的,都指向0x0c000134。 下图即pisr_timer0=(int)timer_isr;已经生效的明证。【心得】不管是何种中断模式,假如中断总是没有执行,则可以在flash中的中断分支表的相应项目上设置断点,再然后灵便运用stepin、stepout、step等控制程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论