
GR716-DS-UM, May 2019, Version 1.29
400
www.cobham.com/gaisler
GR716
Interrupt can also be forced by setting a bit in the interrupt force register. In this case, the processor
acknowledgment will clear the force bit rather than the pending bit. After reset, the interrupt mask
register is set to all zeros while the remaining control registers are undefined. Note that interrupt 15
cannot be maskable by the LEON3FT processor and should be used with care - most operating sys-
tems do not safely handle this interrupt.
40.2.2 Interrupt (re)map functionality
The LEON3FT microcontroller have 64 unique
bus interrupt line
sources listed in section 2.12, while
the LEON3FT processor only supports 31 unique interrupt sources i.e.
interrupt ID number
1 - 15 and
extended interrupt number
16 - 32.
To accommodate all the 64 unique
bus interrupt line
sources the interrupt controller allow dynamic
remapping between
bus interrupt lines
and any
interrupt ID number
1 - 15 or any
extended interrupt
number
16 - 32. Individual remap logic on each incoming
bus interrupt line
will map the
bus interrupt
line
sources to specified
interrupt ID number
1 - 15 or
extended interrupt number
16 - 32.
The Interrupt map registers is available starting at address 0x80002300 from the interrupt controller's
base address. The interrupt map registers contain one field for each
bus interrupt line
in the system.
The value within this field determines to which interrupt controller line the
bus interrupt line
is con-
nected. In case several
bus interrupt lines
are mapped to the same
interrupt ID number
or
extended
interrupt number
(several fields in the Interrupt map registers have the same value) then the
bus inter-
rupt lines
will be OR:ed together.
Note that if
bus interrupt line X
is remapped to controller
interrupt ID number 2 - 15
then correspond-
ing bit in the range 2 - 15 of the pending register will be set when a peripheral asserts interrupt
bus
interrupt line X
. Where, the
bus interrupt line X
is remapped to controller
extended interrupt number
16 - 32 then corresponding bit in the range 16 - 32 and bit 1 of the pending register will be set when a
peripheral asserts interrupt
bus interrupt line X
40.2.3 Processor status monitoring
The processor status can be monitored through the Processor Status Register. The STATUS field in
this register indicates if a processor is halted (‘1’) or running (‘0’). A halted processor can be reset and
restarted by writing a ‘1’ to its status field.
The interrupt controller also supports setting the reset start address dynamically. Please see section
40.2.7 for further information.
40.2.4 Interrupt timestamping description
Interrupt timestamping is controlled via the Interrupt Timestamp Control register(s). Each Interrupt
Timestamp Control register contains a field (TSTAMP) that contains the number of timestamp regis-
ters sets that the core implements. A timestamp register sets consist of one Interrupt Timestamp
Counter register, one Interrupt Timestamp Control register, one Interrupt Assertion Timestamp regis-
ter and one Interrupt Acknowledge Timestamp register.
Software enables timestamping for a specific interrupt via a Interrupt Timestamp Control Register.
When the selected interrupt line is asserted, software will save the current value of the interrupt time-
stamp counter into the Interrupt Assertion Timestamp register and set the S1 field in the Interrupt
Timestamp Control Register. When the processor acknowledges the interrupt, the S2 field of the Inter-
rupt Timestamp Control register will be set and the current value of the timestamp counter will be
saved in the Interrupt Acknowledge Timestamp Register. The difference between the Interrupt Asser-
tion timestamp and the Interrupt Acknowledge timestamp is the number of system clock cycles that
was required for the processor to react to the interrupt and divert execution to the trap handler.
The core can be configured to stamp only the first occurrence of an interrupt or to continuously stamp
interrupts. The behavior is controlled via the Keep Stamp (KS) field in the Interrupt Timestamp Con-