Skip to main content
Visitor II
October 30, 2003
Question

IVT

  • October 30, 2003
  • 5 replies
  • 1236 views
Posted on October 30, 2003 at 11:41

IVT

    This topic has been closed for replies.

    5 replies

    Visitor II
    May 17, 2011
    Posted on May 17, 2011 at 11:35

    Dear Sir

    All interrupts have their interrupt vectors, the location where the program control lands to service the interrupt. In ST9 this Interrupt vector decided bye 2 registers, IVR (Interrupt Vector Register - 8 Bit) and ISR (Interrupt Segment Register- 6 bits).

    8 bit Value in IVR gives 128 different Interrupt Vector locations (2 bytes for one interrupt vector). We have this register associated with all the interrupts. So we can say that we have space of 256 bytes in memory, where all the interrupts vectors are mapped

    ST9 can address 4 MB of space we can divide this into 64 segments of 64kb each. In one of these 64 segments there lies these 256 bytes, which are mapped to the interrupt vector of different peripherals.

    The 64Kb segment is decided by the 6-bit value of ISR. The 256 bytes are always located at the starting of this segment.

    e.g. if ISR = 00h then the first 256 bytes of memory are can be mapped to different interrupts, If ISR = 04 then these 256 bytes will be the first 256 bytes located after the address 040000h.

    For more information see the ST9 datasheet.

    Visitor II
    May 17, 2011
    Posted on May 17, 2011 at 11:35

    Dear Sirs, i need to locate the Interupt Vector Table in the third sector (F2) on ST92F150 (or relocate after reset) obviously excluding the reset vector by default at 0x0000. Have you some sample code to realize this task? I know that I should work on crtbegin.spp and on the ISR register.

    Thank'you in advance.

    E.C.
    Visitor II
    May 17, 2011
    Posted on May 17, 2011 at 11:35

    Hello Enconfal,

    I am afraid you can't relocate your IVT to F2 as it begins after 16K bytes of segment0. And IVT always lies in the first 256 bytes of segment that we chose through ISR register as explained by Chaps.

    So we have flexibility just for the selection of segment we want to place our IVT in not the offset.

    Ritu
    Visitor II
    May 17, 2011
    Posted on May 17, 2011 at 11:35

    If I need to include the IVT inside segment 3, how I could implement it.

    May you provide some configuration examples.
    Visitor II
    May 17, 2011
    Posted on May 17, 2011 at 11:35

    For including the IVT in segement 3, just put 0x03 in ISR.