GR740-UM-DS, Nov 2017, Version 1.7
305
www.cobham.com/gaisler
GR740
The core listens to the system interrupt vector when reacting to interrupt line assertions. This means
that the Interrupt Assertion Timestamp Register(s) will not be updated if software writes directly to
the pending or force registers. To measure the time required to serve a forced interrupt, read the value
of the Interrupt Timestamp counter before forcing the interrupt and then read the Interrupt Acknowl-
edge Timestamp and Interrupt Timestamp counter when the processor has reacted to the interrupt.
21.2.8 Watchdog
The core can be configured to assert a bit in the controller’s Interrupt Pending Register when an exter-
nal watchdog signal is asserted. This functionality can be used to implement a sort of soft watchdog
for one or several processor cores. The controller’s Watchdog Control Register contains a field that
shows the number of external watchdog inputs supported and fields for configuring which watchdog
inputs that should be able to assert a bit in the Interrupt Pending Register.
The on-chip watchdog inputs are connected to the tick outputs from timer 4 on general purpose timer
units 1 - 4. This means that watchdog input
n
will be high for one cycle when timer 4 on general pur-
pose timer unit
n
underflows.
Each internal controller has a dedicated Watchdog Control register. Assertion of a watchdog input will
only affect the pending register on the internal interrupt controllers that have enabled the watchdog
input in their Watchdog Control Register.
21.2.9 Interrupt (re)map functionality
The interrupt controller has functionality to allow dynamic remapping between bus interrupt lines and
interrupt controller interrupt lines. Switch-logic has been placed on the incoming interrupt vector
from the AMBA bus before the IRQ pending register. The Interrupt map registers are available start-
ing at offset 0x300 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 connected. In
case several bus interrupt lines are mapped to the same controller interrupt line (several fields in the
Interrupt map registers have the same value) then the bus interrupt lines will be OR:ed together.
Note that if bus interrupt line X is remapped to controller interrupt line Y then bit Y of the pending
register will be set when a peripheral asserts interrupt X. Remapping interrupt lines via the Interrupt
map registers has the same effect as changing the interrupt assignments in the physical design.
21.2.10 Dynamic processor reset start address
The interrupt controller can be used to start processor execution from a specified start address. The
interface to accomplish this is different between GR740 silicon revision 0 and silicon revision 1.
In GR740 revision 0, the following registers are available:
•
Processor reset start address registers for processors 0 - 3
•
Processor boot register
In GR740 revision 1, the following registers are available
•
Error mode status register
•
Processor boot address registers for processors 0 - 3
The revision 1 register interface allows software to force a processor into debug or error mode. This
means that the interface can be used to stop (and restart) a processor while the interface in silicon revi-
sion 0 requires that a processor is idle before the processor can be restarted.
GR740 revision 0:
The processor start address registers are available, one for each processor, starting
at register offset 0x200. The reset value for all Processor Reset Start Address registers is 0xC0000000
(system PROM area). If software wishes to boot a processor from a different address, the processor’s
start address register should be written (start address must be aligned on a 4 KiB address boundary)