SuperH (SH) 64-bit RISC Series SH-5 System Architecture, Volume ...
SuperH (SH) 64-bit RISC Series SH-5 System Architecture, Volume ...
SuperH (SH) 64-bit RISC Series SH-5 System Architecture, Volume ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
PRELIMINARY DATA<br />
82 Reset, panic and debug events<br />
The CPU will launch a DEBUGINT when these 3 conditions are met:<br />
Value<br />
read<br />
• SR.BL = 0<br />
• At least one <strong>bit</strong> of DM.EXP_CAUSE is set. If SR.BL=1 when a cause <strong>bit</strong> is first<br />
asserted, at least one cause <strong>bit</strong> must still be asserted when SR.BL changes to 0.<br />
• In at least one clock cycle since the last DEBUGINT launch or reset (of any kind),<br />
all <strong>bit</strong>s of DM.EXP_CAUSE have been clear.<br />
If a <strong>bit</strong> in DM.EXP_CAUSE is set then subsequently cleared, with SR.BL=1 all the time,<br />
no DEBUGINT will occur.<br />
If the handler for DEBUGINT deals with some conditions signalled in DM.EXP_CAUSE<br />
but leaves others asserted, there will not be another DEBUGINT after the handler<br />
returns. A handler for DEBUGINT must be written to handle all asserted conditions,<br />
clear the handled conditions in DM.EXP_CAUSE (see below) and ensure that<br />
DM.EXP_CAUSE has been read back with all <strong>bit</strong>s clear before returning. This ensures<br />
a new DEBUGINT can occur when a cause is next asserted.<br />
The write semantics of DM.EXP_CAUSE are such that a handler can clear the cause<br />
<strong>bit</strong>s selectively.<br />
Each <strong>bit</strong> of DM.EXP_CAUSE corresponds to a source of DEBUGINT, Table 28 shows the<br />
state indicated when reading these <strong>bit</strong>s, and the effect of writing them. Table 29<br />
shows which <strong>bit</strong>s in the register correspond to specific interrupt sources.<br />
Meaning<br />
0 Interrupt source was not<br />
asserted<br />
State of DM.EXP_CAUSE <strong>bit</strong>s<br />
Value<br />
written<br />
Effect<br />
0 The interrupt source will remain not asserted.<br />
If the interrupt source has been asserted since<br />
the register was read, this will actually clear the<br />
interrupt without its condition being properly<br />
handled. For this reason, writing 0 to a <strong>bit</strong> which<br />
was read as 0 is not advised.<br />
D R A FT<br />
1 Writing 1 has no effect on the <strong>bit</strong>’s value.<br />
Table 28: State of reading/writing DM.EXP_CAUSE <strong>bit</strong>s<br />
<strong>SuperH</strong>, Inc.<br />
<strong>SH</strong>-5 <strong>System</strong> <strong>Architecture</strong>, <strong>Volume</strong> 3: Debug 05-SA-10003 v1.0