Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Interrupt vector 18 F0 9F E5 - What the heck is this? LPC2136/38

2006-01-12 by Rob Jansen

carlosahsilva wrote:

>I was testing the CRC16 checksum routine from Technical Note 91733 
>from IAR and it worked for all my program except the region between 
>0x00 and 0x1F (where the interrupt vectors lie). 
>  
>
Reason for this is most likely because the vector at address 0x14 
changed. This vector is ununsed in the ARM and contains a checksum for 
the vector table (this is calculated by the download tools before 
downloading the code). Reason is that the lpc21xx will only start the 
code in flash if the checksum of the table computes - to be sure that 
only real code is executed.

>As you can see in the segment of a hex file above the three verctors 
>reset, IRQ and FIQ are the same 18 F0 9F E5!!!!
>  
>
As Dominic writes this is: e59ff018 ldr pc, [pc, #24]
This is an ARM instruction that will load PC with the content of PC + 0x24

If you'd like to know more about this, get the datasheets from the ARM 
website and start playing with an ARMulator (GDB includes one that is 
mostly functional).

Rob

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.