Configuration Memory: Difference between revisions

Dazzozo (talk | contribs)
Rei (talk | contribs)
No edit summary
Line 205: Line 205:
|-
|-
| 1
| 1
| Set for debug units
| IsJtagConnected
|-
|-
| 2-7
| 2-7
Line 214: Line 214:


== 0x1FF80015 ==
== 0x1FF80015 ==
{| class="wikitable" border="1"
!  Value
!  Boot Env
|-
| 0
| Prod
|-
| 1
| Dev
|-
| 2
| Debugger
|-
| 3
| Firm
|}
The ARM11 loads this value from 0x1FFFFFF0+1 during startup, which is written by the ARM9 during ARM9<>ARM11 kernel sync.
The ARM11 loads this value from 0x1FFFFFF0+1 during startup, which is written by the ARM9 during ARM9<>ARM11 kernel sync.


When this field is zero, bit0 for UNITINFO is set for retail. When this field is non-zero, bit0 for UNITINFO is clear for dev/debug units, and an ARM11 kernel state flag which enables debugging is set. Bit1 means JTAG connected.
When this field is zero, bit0 for UNITINFO is set for retail. When this field is non-zero, bit0 for UNITINFO is clear for dev/debug units, and an ARM11 kernel state flag which enables debugging is set. JTAG is only enabled for debugger and "firm" modes (bit1).


== 0x1FF80016 ==
== 0x1FF80016 ==
{| class="wikitable" border="1"
!  Value
!  Description
|-
| 0
| Cold Boot
|-
| 1
| Reset from CTR mode
|-
| 3
| Reset from TWL mode
|-
| 5
| Reset from NTR mode
|-
| 7
| Reset from AGB mode
|}
The ARM11 loads this value from 0x1FFFFFF0+2 during startup, which is written by the ARM9 during ARM9<>ARM11 kernel sync.
The ARM11 loads this value from 0x1FFFFFF0+2 during startup, which is written by the ARM9 during ARM9<>ARM11 kernel sync.