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
- Simple installation.
- Works on all operating systems (Linux, MacOS, Windows).
- Automatic debugging probe detection.
- No need to specify if you have a stlink, jlink, CMSIS-DAP, or Raspberry Pi.
- 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
To ensure a seamless experience, we strongly recommend using pipx for installing GnWManager.
pipx install gnwmanager
Upon successful installation, you will have access to the gnwmanager
command-line tool.
GnWManager relies on several third-party tools.
Thankfully, it simplifies the installation process across different operating systems.
For example, to install openocd
:
gnwmanager install openocd
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
- Raspberry Pi (GPIO)
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.
STLink
Hook up your STLink to your game and watch as follows:
Raspberry Pi (GPIO)
Hook up your Raspberry Pi to your game and watch as follows:
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. │
│ install Install third party executables, like openocd. │
│ lock Re-lock your device. │
│ 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. │
│ unlock Backs up and unlocks a stock Game & Watch console. │
╰────────────────────────────────────────────────────────────────────────────────────╯
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.2.0-cp310-cp310-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3e8a4cc4518fc94b178df710d85975c304632dbe3a163e957188e221b91ec70 |
|
MD5 | ec8f50bb38c0c33a79f5f0c456071197 |
|
BLAKE2b-256 | 969a90c8c94e70ae258a12b4c48a3f0c4566497bf12ffeced6434929953eeb26 |