This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Remapping interrupts to RAM

Hello,
I am mapping interrupts to RAM (MEMMAP = 2). I want to overwrite some of the contents of 0x40000000 with my own address (namely, 0x40000008, that is the SWI handler). I know what I want: I need to install a branch instruction like

LDR PC, SWI_Handler


But when I look at address 0x0 (just for an example of how it is done in flash), I see the following repeating pattern:

0x0 18F09FE5
0x4 18F09FE5
0x8 18F09FE5
0xC 18F09FE5

I would expect to find there different instructions!
What gives?

Parents
  • hi,
    thanks. I see that the first 64 bytes are dedicated to "vectors" followed by "address handlers". I don't fully understand the difference between the two: when ordering the startup file to copy vectors to RAM, actually 64 bytes are copied - both. what is the difference between them? and if I want to update the address of a handler (hence in the second 32 bytes), what does that mean for the 32 bytes?

Reply
  • hi,
    thanks. I see that the first 64 bytes are dedicated to "vectors" followed by "address handlers". I don't fully understand the difference between the two: when ordering the startup file to copy vectors to RAM, actually 64 bytes are copied - both. what is the difference between them? and if I want to update the address of a handler (hence in the second 32 bytes), what does that mean for the 32 bytes?

Children