Chinaunix首页 | 论坛 | 博客
  • 博客访问: 216632
  • 博文数量: 30
  • 博客积分: 1308
  • 博客等级: 中尉
  • 技术积分: 279
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-20 22:12
文章分类

全部博文(30)

文章存档

2010年(1)

2008年(2)

2007年(8)

2006年(19)

分类:

2007-05-10 15:23:05

当发生相应的中断(异常)时, CPU会自动跳转到固定的位置, 固定的位置有两种可能, 一种为0x000x xxxx, 一种为0xfffx xxxx, 选择哪一种, 取决于MSR[IP], IP取决于硬件配置字IIP, IIP由系统启动时采样数据线LD_P1决定. IIP决定了MSR的IP位, IIP为1, IP为0, IIP为0(默认), IP为1. 而IP和中断向量表的物理地址的关系为: 当IP为0, CPU将寻址0x000x xxxx, 当IP为1, CPU将寻址0xfffx xxxx.
有了以上的知识, 我们将理解一下过程.
在这里我们假设IIP为1. bank0连接FLASH, bank1连接SDRAM
当系统上电时, BR0和OR0将复位为全0, 此时CPU发出的地址无论为什么, 都将因为BR0和OR0的关系, 选择到BANK0. 此时根据以上的知识, CPU可以找到位于0x000x xxxx的中断向量表. 当系统开始设置BR0, OR0, OR1, BR1时, bank0将被设置为基址为0xff00 0000, bank1将被设置为基址为0x0000 0000. 所以CPU再次发生中断时, 将寻址bank1. 因此我们推断在重新映射地址前, FLASH中的代码必须已经复制到SDRAM中, 或者此时系统不允许发生中断. 至此, 系统将在SDRAM中运行, 并且可以正常的处理中断事件.
阅读(1813) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~