uboot学习笔记之异常向量表(二)

1、异常向量表

异常向量表的实质是一段固定位置(内存地址固定)、固定结构(大小和内容固定)的内存空间:

2、uboot启动

在uboot启动过程中的第一段程序就是对异常向量表的实现,而在启动过程中,先是将uboot代码(BL1)从外存搬移到iRAM,但是三星公司的地址映射表中,iROM的起始地址才是0x00,那么如果将异常向量表从片外ROM拷贝到iRAM后,异常向量表的首地址就不再是0x00了,而是iRAM的首地址了,这个时候一旦产生了异常,就无法跳转到对应异常向量表项。不仅是在iRAM中,uboot拷贝到片外RAM中也是一样。因此三星公司提供的解决方案是:

在iRAM中,专门为异常向量表开辟了专门的区域,如果是运行在iRAM的时候,需要将自身写的异常向量表拷贝到这个特殊区域:

如果是在片外RAM中,则是借助于CP15协处理器中的特殊寄存器,将异常向量表在片外RAM中的地址保存在该寄存器中,当有异常产生需要跳转的时候,作为基地址参与跳转地址计算。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值