> 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

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
U-Boot-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to