Uboot之三 ~~~CPU的配置

预备知识:理解跳转指令b和ldr,其形式如下:

b step1              //B 是最简单的分支。一旦遇到一个 B 指令,ARM 处理器将立即跳转到给定的地址,从那里继续执行。

                            注意存储在分支指令中的实际的值是相对当前的 R15(PC) 的值的一个偏移量,而不是一个绝对地址。

                           它的值由汇编器来计算,它是 24 位有符号数,左移两位后有符号扩展为 32 位,表示的有效偏移为 26 位(+/- 32 M)。

ldr pc,step2  //使用LDR伪指令将一个常量读取到非PC的其他通用寄存器中可实现位置无关的常 量访问;

                             但将一个地址值读取到PC中进行程序跳转时,跳转目标则是位置相关的。

对汇编不是很了解,以上内容参看好多资料写的,也不知道对不对,期望大侠的指点。

 

 

找到文件的入口

# vi /arch/arm/cpu/arm920t/start.S

 

#include <common.h>   //定义了关于错误处理的一些操作
#include <config.h>   
 
.globl _start
_start:	b	start_code   //定义了入口
	ldr	pc, _undefined_instruction
	ldr	pc, _software_interrupt
	ldr	pc, _prefetch_abort
	ldr	pc, _data_abort
	ldr	pc, _not_used
	ldr	pc, _irq
	ldr	pc, _fiq

_undefined_instruction:	.word undefined_instruction
_software_interrupt:	.word software_interrupt
_prefetch_abort:	.word prefetch_abort
_data_abort:		.word data_abort
_not_used:		.word not_used
_irq:			.word irq
_fiq:			.word fiq

	.balignl 16,0xdeadbeef

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值