cancel
Showing results for 
Search instead for 
Did you mean: 

Does STR9 have memory remaping function of interrupt vector ?

yuhleon
Associate II
Posted on April 26, 2007 at 09:17

Does STR9 have memory remaping function of interrupt vector ?

4 REPLIES 4
yuhleon
Associate II
Posted on May 17, 2011 at 09:42

The default interrupt vectors address begin at 0x0000 0000 . Now I need to remapping them to the RAM . Does STR9 have related register to remap interrupt vector address ?

Original interrupt vector address -> after remapping address

Reset 0x0000 0000 -> 0x0400 0000

Undefined Instruction 0x0000 0004 -> 0x0400 0004

Soft Interrupt 0x0000 0008 -> 0x0400 0008

Prefetch Abort 0x0000 000C -> 0x0400 000C

Data Abort 0x0000 0010 -> 0x0400 0010

Reserved 0x0000 0014 -> 0x0400 0014

IRQ 0x0000 0018 -> 0x0400 0018

FIQ 0x0000 001C -> 0x0400 001C

Because I want to run my program from RAM , how can I do to setup for this ?

I am using IAR and some projects have both lnkarm_ram.xcl and lnkarm_flash.xcl link file . If I use lnkarm_ram.xcl instead of lnkarm_flash.xcl , can I run the project from RAM ? Or I still remap interrupt vector from flash to ram ?

[ This message was edited by: yuhleon on 26-04-2007 02:58 ]

d_steffen
Associate II
Posted on May 17, 2011 at 09:42

No, you have to build a jmp table from address

0x0000 00xx -> 0x0400 00xx.

mtraman
Associate II
Posted on May 17, 2011 at 09:42

run ur program from flash once. this will load the exception handlers in their appropriate locations in flash.

from then on u can run ur programs from ram. but remember that when u want to change anything in 91x_vect.s u can only do it by writing to flash.

yuhleon
Associate II
Posted on May 17, 2011 at 09:42

Now I want to put the compressed image in the flash and decompress it into ram , then execute it from ram . So I can't write any executable code into flash .

The codes in flash are all not executable . Only after I decompress it into ram , then I can execute it .