misc: Added a HACKING.md to provide an explanation of nomenclature and how we handle reset terminology
This commit is contained in:
parent
c33d02bc19
commit
09f64b0627
|
@ -0,0 +1,27 @@
|
|||
# Information and terminology guide
|
||||
|
||||
## Reset nomenclature
|
||||
|
||||
Within this code base, we refer to the physical reset pin of a target device by 'nRST'/'nRESET'.
|
||||
This is because while originally primrily an ARM debugger, the project is now also a debugger for
|
||||
RISC-V and AVR where the ARM ADIv5 terminology 'SRST' meaning 'System reset' is ambiguous and
|
||||
oft very confusing.
|
||||
|
||||
The history of this is that 'SRST' in AVR and RISC-V mean 'Software Reset' - by which we refer
|
||||
to a reset initiated over JTAG protocol by poking registers in the target device.
|
||||
ADIv5 'System Reset' refers to resetting the target using its nRST pin.
|
||||
|
||||
A third moving piece to all this is that 'nTRST' (sometimes also referred to as 'JRST') is an
|
||||
optional pin sometimes found in JTAG interfaces to reset the JTAG machinary itself.
|
||||
|
||||
In summary, the following applies:
|
||||
|
||||
* In the ADIv5 spec, the physical reset pin is referred to by 'SRST'
|
||||
* In this code base, we refer to it by 'nRST'
|
||||
* Refering to it by 'nRST' is also then consistent with the silkscreen naming convention
|
||||
on probe host boards and in the ARM 10-pin JTAG pinout
|
||||
* JTAG physical reset is referred to by 'nTRST'
|
||||
* Software reset as in the case of JTAG-PDI is refered to by 'SRST' if shortened.
|
||||
|
||||
The upshot of this is that to inhibit physical reset in the ARM ADIv5/Cortex-M code, set
|
||||
`CORTEXM_TOPT_INHIBIT_NRST`, which refers to inhibiting the ADIv5 spec 'SRST'.
|
Loading…
Reference in New Issue