I just got a Satan GH60 from
Aliexpress, and I am trying out some programming.
I am using
Kairyu's tkg-toolkit, and think I have it set up correctly. Here is my config:
Name="GH60 RevCHN"
MCU="atmega32u4"
Firmware="gh60-revchn.hex"
Bootloader="atmel_dfu"
When I try to run util.bat and select the "Dump EEPROM" option, I don't think it's working. At least it's not generating any dump files...
Here are some screenshots/output
_ _ _ _ _ _ _
| |_| | ____ _ | |_ ___ ___ | | | _(_) |_
| __| |/ / _` |__| __/ _ \ / _ \| | |/ / | __|
| |_| < (_| |__| || (_) | (_) | | <| | |_
\__|_|\_\__, | \__\___/ \___/|_|_|\_\_|\__|
|___/
UTILITY
Keyboard to manipulate:
Name: GH60 RevCHN
MCU: atmega32u4
Bootloader: atmel_dfu
Firmware: gh60-revchn.hex
Select utility:
1. Dump EEPROM
2. Erase EEPROM
Please enter a number:
Please enter a number: 1
Waiting for Bootloader...
Erasing...
Checking memory from 0x0 to 0x6FFF... Not blank at 0x1.
Erasing flash... Success
Checking memory from 0x0 to 0x6FFF... Empty.
Dumping...
dfu-programmer 0.7.1
https://github.com/dfu-programmer/dfu-programmer
Usage: dfu-programmer target[:usb-bus,usb-addr] command [options] [global-options] [file|data]
global-options:
--quiet
--debug level (level is an integer specifying level of detail)
Global options can be used with any command and must come
after the command and before any file or data value
command summary:
launch [--no-reset]
read [--force] [--bin] [(flash)|--user|--eeprom]
erase [--force] [--suppress-validation]
flash [--force] [(flash)|--user|--eeprom]
[--suppress-validation]
[--suppress-bootloader-mem]
[--serial=hexdigits:offset] {file|STDIN}
setsecure
configure {BSB|SBV|SSB|EB|HSB} [--suppress-validation] data
get {bootloader-version|ID1|ID2|BSB|SBV|SSB|EB|
manufacturer|family|product-name|
product-revision|HSB}
getfuse {LOCK|EPFL|BOOTPROT|BODLEVEL|BODHYST|
BODEN|ISP_BOD_EN|ISP_IO_COND_EN|
ISP_FORCE}
setfuse {LOCK|EPFL|BOOTPROT|BODLEVEL|BODHYST|
BODEN|ISP_BOD_EN|ISP_IO_COND_EN|
ISP_FORCE} data
additional details:
launch: Launch from the bootloader into the main program using a watchdog
reset. To jump directly into the main program use --no-reset.
read: Read the program memory in flash and output non-blank pages in ihex
format. Use --force to output the entire memory and --bin for binary
output. User page and eeprom are selected using --user and --eeprom
erase: Erase memory contents if the chip is not blank or always with --force
flash: Flash a program onto device flash memory. EEPROM and user page are
selected using --eeprom|--user flags. Use --force to ignore warning
when data exists in target memory region. Bootloader configuration
uses last 4 to 8 bytes of user page, --force always required here.
Note: version 0.6.1 commands still supported.
Reflashing...
Checking memory from 0x0 to 0x6A7F... Empty.
0% 100% Programming 0x6A80 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
0% 100% Reading 0x7000 bytes...
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] Success
Validating... Success
0x6A80 bytes written into 0x7000 bytes memory (95.09%).
Success!
Press any key to continue . . .
From the output of dfu-programmer I'm guessing there is something wrong with the arguments to dfu-config, but I've tried running dfu-programmer manually, and just keep getting errors.
Does anyone see any obvious errors?
Is there a better way to extract the default layout? Is it even possible to do what I want??