Skip to main content
Visitor II
April 26, 2007
Question

Does STR9 have memory remaping function of interrupt vector ?

  • April 26, 2007
  • 4 replies
  • 906 views
Posted on April 26, 2007 at 09:17

Does STR9 have memory remaping function of interrupt vector ?

    This topic has been closed for replies.

    4 replies

    yuhleonAuthor
    Visitor II
    May 17, 2011
    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 ]

    Visitor II
    May 17, 2011
    Posted on May 17, 2011 at 09:42

    No, you have to build a jmp table from address

    0x0000 00xx -> 0x0400 00xx.

    Visitor II
    May 17, 2011
    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.

    yuhleonAuthor
    Visitor II
    May 17, 2011
    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 .