Uboot移植 3:异常向量处理和用objdump反汇编查看uboot代码

如果希望bootloader在片内RAM运行的时候能够运行自定义异常处理程序,则需要将ldr 如

一、异常向量处理

1、 如果bootloader是在片内RAM中运行,你想在发生异常的时候,能够运行自定义的异常处理程序,需要将ldr pc,_undefinedinstruction等那部分指令拷贝到Exception  Vector Table中,如下图

2、如果bootloader是在片外的DDR运行的时候,由于在DDR当中一般会启用MMU,也就是内存映射,在cp15协处理器里面开辟了一个VBAR寄存器,可以把程序开头的地址拷贝到VBAR中,当程序发生异常的时候就会跳转到VBAR指定的地址运行中断向量表。

二、用objdump反汇编查看uboot代码

1、先在uboot根目录下 make s5p_goni_config,之后再输入make

2、生成一系列文件

3、

4、技巧:用管道可以更方便看代码

三、start.S .c最终会生成.o文件,这些文件最终会链接成u-boot文件,u-boot文件包含很多调试信息,烧到板子的是u-boot.bin文件

四、

 

五、

代码运行经过三个步骤:取址、译码、执行

所以当运行某一行代码,pc指针已经指向当前位置+8的地方,超前两条指令

六、

七、

八、

九、

十、

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值