Difference between revisions of "Anti-brick Register"
From SpecNext official Wiki
m (5 revisions imported) |
(updated to 78a6ee50) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
|ShortDesc=Used within the [[Anti-brick system]]. | |ShortDesc=Used within the [[Anti-brick system]]. | ||
}} | }} | ||
− | |||
'''Read''' bit mapped: | '''Read''' bit mapped: | ||
{| class="wikitable" | {| class="wikitable" | ||
! Bit !! Effect | ! Bit !! Effect | ||
|- | |- | ||
− | | 7-2 || | + | | 7 || Reserved |
+ | |- | ||
+ | | 6-2 || Core ID | ||
|- | |- | ||
− | | 1 || DivMMC | + | | 1 || Button DRIVE (DivMMC) is pressed |
|- | |- | ||
− | | 0 || Multiface | + | | 0 || Button M1 (Multiface) is pressed |
|} | |} | ||
− | '''Write''' bit mapped | + | '''Write''' bit mapped: |
{| class="wikitable" | {| class="wikitable" | ||
! Bit !! Effect | ! Bit !! Effect | ||
|- | |- | ||
− | | 7 || | + | | 7 || Start selected core (reboot FPGA) |
|- | |- | ||
| 6-5 || Reserved, must be 0 | | 6-5 || Reserved, must be 0 | ||
|- | |- | ||
− | | 4-0 || Core ID 0-31 (default is 2) | + | | 4-0 || Core ID 0-31 (default is 2) (only in config mode) * |
|} | |} | ||
+ | * A write of an out of range core id is ignored; this is the preferred way to determine max id | ||
Note that in normal running pressing the DivMMC or Multiface button creates an NMI which halts any running program, and the reflashable core must be loaded before any user code is run. This means that unless you are rewriting the entire firmware from scratch this register is probably not useful. | Note that in normal running pressing the DivMMC or Multiface button creates an NMI which halts any running program, and the reflashable core must be loaded before any user code is run. This means that unless you are rewriting the entire firmware from scratch this register is probably not useful. |
Latest revision as of 11:19, 3 November 2024
Number | $10 |
---|---|
Readable | Yes |
Writable | Yes |
Short Description | Used within the Anti-brick system. |
Read bit mapped:
Bit | Effect |
---|---|
7 | Reserved |
6-2 | Core ID |
1 | Button DRIVE (DivMMC) is pressed |
0 | Button M1 (Multiface) is pressed |
Write bit mapped:
Bit | Effect |
---|---|
7 | Start selected core (reboot FPGA) |
6-5 | Reserved, must be 0 |
4-0 | Core ID 0-31 (default is 2) (only in config mode) * |
* A write of an out of range core id is ignored; this is the preferred way to determine max id
Note that in normal running pressing the DivMMC or Multiface button creates an NMI which halts any running program, and the reflashable core must be loaded before any user code is run. This means that unless you are rewriting the entire firmware from scratch this register is probably not useful.