docs(pps): record live lock diagnosis
This commit is contained in:
+21
@@ -83,6 +83,27 @@ software polls `STATUS.DIAG_BUSY` before reading the group. The disciplined
|
||||
timebase continues in holdover and while the physical output is disabled;
|
||||
`CONTROL.ENABLE` gates `pps_out` and validity, not timekeeping.
|
||||
|
||||
This also applies to the single-word `ACTIVE_SEQUENCE` and `PULSE_COUNT`
|
||||
registers: they belong to the same frozen diagnostic group. A live debugger
|
||||
must halt the CPU briefly, request a new snapshot, wait for status bit 10 to
|
||||
clear, and only then read `0x48..0x74`. For example, with OpenOCD's GDB monitor:
|
||||
|
||||
```gdb
|
||||
monitor halt
|
||||
monitor mww 0x1002a078 1
|
||||
monitor sleep 10
|
||||
x/wx 0x1002a004
|
||||
x/wx 0x1002a048
|
||||
x/wx 0x1002a05c
|
||||
x/wx 0x1002a060
|
||||
x/wx 0x1002a074
|
||||
monitor resume
|
||||
```
|
||||
|
||||
Reading `ACTIVE_SEQUENCE` or `PULSE_COUNT` without this request can return the
|
||||
previous snapshot, including reset zero, even while the core is accepting
|
||||
commits and generating pulses.
|
||||
|
||||
Run lint plus both unit-level Questa tests from this directory:
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user