[U-Boot-Users] question regarding startup code

srinivas bakki srinivasbakki at yahoo.co.uk
Tue Mar 25 07:02:59 CET 2008


> Hi ppl,
>        Am a newbie to u-boot as well as arm
> assembly.
> wanted to know about the startup code. Below is the
> vector table pasted from the code. What i dont
> understand is why only the reset vector is PC
> relative
> and all others have memory allocated to hold the
> addresses. I mean all other vectors also could be
> branch instructions.Any reason ?
> 
> .globl _start
> _start:	b       reset
> 	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
> Thanks and Regards,
> Srinivas Bakki


Hi,
   I have thought of an explanation can anyone please
rectify if am wrong. 

the load to PC instruction allows utilizing the full
32-bit address space for placement of the exception
handlers, whereas the relative branch instruction is
limited to +/- 25 bits relative to the current PC.

is that right ?

Regards,
Srinivas Bakki




      __________________________________________________________
Sent from Yahoo! Mail.
More Ways to Keep in Touch. http://uk.docs.yahoo.com/nowyoucan.html




More information about the U-Boot mailing list