No project description provided
Project description
GnWManager
GnWManager is THE game-and-watch device manager. GnWManager is a command line tool who's responsible for getting firmware onto your device, managing the filesystem, and other device administrative tasks.
GnWManager accomplishes this via a small bundled pre-compiled firmware that gets executed from the STM32's RAM.
Features
- Standalone and simple to install.
- No more installing many different tools with various patches!
- Fast internal and external flash firmware flashing.
- Hardware-accelerated hashing for rapid duplicate discovery.
- Only syncs changed data.
- Minimizes flash erases and writes, extending flash lifespan.
- Double buffered, asynchronous, LZMA-compressed transfers for maximum speed.
- Hardware-accelerated hashing for rapid duplicate discovery.
- Complete filesystem management.
- Backup and restore files.
- Interactive filesystem explorer.
- Automatic Real-Time-Clock (RTC) configuration.
- Developer tools:
- Easily monitor device
printf
statements and launch GDB sessions. - Capture screenshots, regardless of the running firmware.
- Easily monitor device
Installation
It is highly recommended to use pipx to install GnWManager.
pipx install gnwmanager
That's it!
Updating
Update GnWManager as you would any python command line tool installed by pipx
:
pipx upgrade gnwmanager
Compatibility
GnWManager works with all major operating systems: Windows, Mac, and Linux. GnWManager is also compatible with the following probes:
- Raspberry Pi Pico (Recommended)
- STLink
- JLink
- DAPLink (~10x slower than other probes)
Unfortunately, GnWManager is not compatible with raspberry pi gpio. There is currently an effort to add support in pyocd, the underlying library that GnWManager uses for hardware interactions.
STLink
Hook up your STLink to your game and watch as follows:
Raspberry Pi Pico
All Raspberry Pi Picos can be transformed into programmers via the picoprobe project.
- Download
picoprobe.uf2
from picoprobe releases. - Hold BOOT button on the pico and plug it into the computer. It should show up as a USB drive. Drag and drop
picoprobe.uf2
to it. - Hook up the 3 wires (GND, GP2, GP3) to (GND, SDCLK, SWDIO), respectively.
Usage
To see available commands, run gnwmanager --help
.
$ gnwmanager --help
Usage: gnwmanager [OPTIONS] COMMAND [ARGS]...
Game And Watch Device Manager.
Manages device flashing, filesystem management, peripheral configuration, and more.
╭─ Options ──────────────────────────────────────────────────────────────────────────╮
│ --version -v Print gnwmanager version. │
│ --frequency -f INT_PARSER Probe frequency. [default: None] │
│ --backend -b [pyocd] OCD Backend. [default: pyocd] │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────╮
│ debug GnWManager internal debugging tools │
│ disable-debug Disable the microcontroller's debug block. │
│ erase Erase a section of flash. │
│ flash Flash firmware to device. │
│ format Format device's filesystem. │
│ gdb Launch a gdbserver and connect to it with gdb. │
│ gdbserver Launch a gdbserver. │
│ ls List contents of device directory. │
│ mkdir Create a directory on device. │
│ monitor Monitor the device's stdout logging buffer. │
│ mv Move/Rename a file or directory. │
│ pull Pull a file or folder from device. │
│ push Push file(s) and folder(s) to device. │
│ screenshot Capture and transfer screenshots from device. │
│ shell Launch an interactive shell to browse device filesystem. │
│ start Start firmware at location. │
│ tree List contents of device directory and its descendants. │
╰────────────────────────────────────────────────────────────────────────────────────╯
Need Help?
If you need any help, either open up a github issue here, or join the stacksmashing discord for live help.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gnwmanager-0.1.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70eeacbe946de90ed32f600550915aefb1b7ddc02ac7d20e994814ab4ce150b4 |
|
MD5 | aa43491bdfa1c86622255cb45ec6af74 |
|
BLAKE2b-256 | 73ed282224da181da2ea2d45c13dd9c94ca3f54969f2beb874d6b5e76cd71cb3 |