2007-04-26 12:17 AM
Does STR9 have memory remaping function of interrupt vector ?
2011-05-17 12:42 AM
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 ]2011-05-17 12:42 AM
No, you have to build a jmp table from address
0x0000 00xx -> 0x0400 00xx.2011-05-17 12:42 AM
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.2011-05-17 12:42 AM
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 .