Initial Refleks Lite hardware and firmware release
This commit is contained in:
36
arcadestick_software/DFU.md
Normal file
36
arcadestick_software/DFU.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Refleks Lite Bootloader and DFU Guide
|
||||
|
||||
## Flash layout
|
||||
|
||||
| Region | Start address | Size | USB identity |
|
||||
| --- | ---: | ---: | --- |
|
||||
| Bootloader / DFU | `0x08000000` | 24 KB | `1209:E667` |
|
||||
| App1 / XInput | `0x08006000` | 52 KB | `1209:E668` |
|
||||
| App2 / DInput | `0x08013000` | 52 KB | `1209:E669` |
|
||||
|
||||
For initial programming, flash `build/Release/arcadestick_full.hex` with an
|
||||
ST-Link. This file contains the bootloader and both applications.
|
||||
|
||||
## Boot selection
|
||||
|
||||
- Hold `START` during reset to keep the device in DFU mode.
|
||||
- When `PA4` is LOW, the bootloader starts XInput App1.
|
||||
- When `PA5` is LOW, the bootloader starts DInput App2.
|
||||
- If the selection is invalid, or the selected application's vector table is
|
||||
invalid, the bootloader remains in DFU mode.
|
||||
|
||||
## Updating over USB
|
||||
|
||||
The bootloader implements standard USB DFU 1.1. It does not use DfuSe address
|
||||
commands; the alternate interface number selects the destination slot.
|
||||
|
||||
```powershell
|
||||
# XInput App1
|
||||
dfu-util -d 1209:e667 -a 0 -D build/Release/arcadestick_xinput.bin
|
||||
|
||||
# DInput App2
|
||||
dfu-util -d 1209:e667 -a 1 -D build/Release/arcadestick.bin
|
||||
```
|
||||
|
||||
On Windows, the `1209:E667` device must use the WinUSB driver. `dfu-util` is
|
||||
not currently installed in this computer's `PATH`.
|
||||
Reference in New Issue
Block a user