https://github.com/popovec/upditool
UPDITOOL - utility for flashing Microchip mega0/AVR DA series
https://github.com/popovec/upditool
avr avr128da microchip programmer updi
Last synced: 11 months ago
JSON representation
UPDITOOL - utility for flashing Microchip mega0/AVR DA series
- Host: GitHub
- URL: https://github.com/popovec/upditool
- Owner: popovec
- License: gpl-3.0
- Created: 2020-10-17T06:59:18.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-01-28T08:05:48.000Z (over 5 years ago)
- Last Synced: 2025-03-26T12:32:04.970Z (about 1 year ago)
- Topics: avr, avr128da, microchip, programmer, updi
- Language: C
- Homepage:
- Size: 70.3 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# upditool
tool for flashing new Microchip MCU (mega0/AVR series).
*************************************************************************
## Hardware
Supports USB-SERIAL TTL adapter as programmer. Several types of USB
to serial converter can be used, here connection schematics:
PL2303HX UART
CP2102/CP2109 UART
CH340 UART
Microchip UPDI device
+---------+ +--------------------+
| 3.3/5V +-------------------+ Vcc |
+----| | | |
| U | RX +--------------+----+ UPDI |
| S | | | | |
| B | | +------+ | | |
+----| TX +---| 2k2 |---+ | |
| | +------+ | |
| GND +-------------------+ GND |
+---------+ +--------------------+
*************************************************************************
## Status
AVR128DA(28,32,48,64):
(serial speed 115200 or 230400)
CHIP ERASE OK
FLASH read/write OK
EEPROM read/write OK
FUSES read/write OK
LOCK read/write OK
USERROW read/write OK
USERROW write on locked device OK
SIGNATURE read OK
TEMPSENSE read OK
SERIAL read OK
To list all available memory regions use:
upditool -p avr128da32 -P /dev/null -U help:::
To list supported devices use:
upditool -p help -P /dev/null
### No TINY0/1 devices support for now
(due missing specifications in device_avr.h)
*************************************************************************
## Examples
(upditool tries to use the same command line switches as avrdude)
### read flash into file flash.bin (raw)
upditool -U flash:r:flash.bin:r -p avr128da32 -P /dev/ttyUSB2
### read eeprom into file eeprom.hex (intel hex):
upditool -U eeprom:r:eeprom.bin:i -p avr128da32 -P /dev/ttyUSB2
### write userrow (only 1st two bytes) from command line immediete arguments
upditool -p avr128da32 -P /dev/ttyUSB2 -U userrow:w:0x55,0xaa:m
### multiple memories verify/read:
upditool -U signature:v:0x1e,0x97,0x09:m -U serial:r:/dev/null:h
-U eeprom:r:-:h -U TEMPSENSE0:r:-:h -U TEMPSENSE1:r:-:h
-U lock:r:-:h -U userrow:r:-:h
-p avr128da32 -P /dev/ttyUSB2
### lock device
upditool -p avr128da32 -P /dev/ttyUSB2 -U lock0:w:0x00:m
*************************************************************************
## Compilation
make
copy "upditool" to your favorite directory for local executables
### debian users:
fakeroot debian/rules binary
then install package
### WIN 10
The preferred method is compilation in a Linux environment or you can use WSL.
https://docs.microsoft.com/en-us/windows/wsl/install-win10
Please install packages and run compilation:
apt install git make mingw-w64
git clone https://github.com/popovec/upditool
cd upditool
make upditool.exe
*************************************************************************
I wrote this software, because support for AVR DA devices is incomplete in
https://github.com/mraardvark/pyupdi (Sep 2020)
Many thanks for inspiration to:
,
Special thanks to
(BOOTDONE, OCD KEY etc..)