mirror of
https://github.com/mariusgreuel/avrdude.git
synced 2025-09-27 14:35:27 +00:00
Create a bespoke bootloader programmer for gammaBoot trinkets
This commit is contained in:
@@ -1458,6 +1458,23 @@ programmer
|
||||
usbpid = 0x0c9f;
|
||||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# gemmaBoot
|
||||
#------------------------------------------------------------
|
||||
|
||||
# Serving the Gemma bootloader
|
||||
# https://github.com/adafruit/Adafruit-Trinket-Gemma-Bootloader
|
||||
|
||||
programmer
|
||||
id = "gemmaBoot";
|
||||
desc = "Gemma bootloader disguised as USBtiny";
|
||||
type = "usbtiny";
|
||||
prog_modes = PM_SPM;
|
||||
connection_type = usb;
|
||||
usbvid = 0x2341;
|
||||
usbpid = 0x0105;
|
||||
;
|
||||
|
||||
#------------------------------------------------------------
|
||||
# arduinoisp
|
||||
#------------------------------------------------------------
|
||||
|
@@ -618,7 +618,13 @@ static int usbtiny_chip_erase(const PROGRAMMER *pgm, const AVRPART *p) {
|
||||
if (! usbtiny_avr_op( pgm, p, AVR_OP_CHIP_ERASE, res )) {
|
||||
return -1;
|
||||
}
|
||||
usleep( p->chip_erase_delay );
|
||||
|
||||
if(pgm->prog_modes & PM_SPM) { // Talking to bootloader directly
|
||||
AVRMEM *fl = avr_locate_mem(p, "flash");
|
||||
// Estimated time it takes to erase all pages in bootloader
|
||||
usleep(p->chip_erase_delay * (fl? fl->num_pages: 999));
|
||||
} else
|
||||
usleep(p->chip_erase_delay);
|
||||
|
||||
// prepare for further instruction
|
||||
pgm->initialize(pgm, p);
|
||||
|
Reference in New Issue
Block a user