From 0de04abcf595751aa163ed42cb54b541b652a5be Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Sat, 10 Jun 2023 16:25:30 +0100 Subject: [PATCH] Add more info for urclock programmer --- src/avrdude.conf.in | 15 +++++++++++++++ src/urclock.c | 5 +++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/avrdude.conf.in b/src/avrdude.conf.in index 1cc82043..effc44cc 100644 --- a/src/avrdude.conf.in +++ b/src/avrdude.conf.in @@ -815,7 +815,22 @@ programmer # urclock #------------------------------------------------------------ +# Serves urboot and optiboot bootloaders +# - Reads/writes flash/EEPROM via the MCU bootloader and a serial connection +# - Implements urprotocol, a skeleton version of STK500v1 +# - Supports vector bootloaders by patching interrupt vectors during upload: +# + Vector bootloaders run on all parts, no need for a HW boot section +# + Can be much smaller than the smallest HW boot section of a part, eg, +# 256 bytes for ATmega2560 (smallest HW boot section is 1024 bytes) +# - Checks sizes of applications so they don't overwrite the bootloader +# - Keeps the bootloader alive during interactive terminal sessions +# - Provides a 4-byte metadata interface in top flash for +# + Allowing applications to utilise unused flash similar to EEPROM +# + Storing in top flash the file name and its last-modified date +# + Displaying file name and date of the last uploaded application +# # See https://github.com/stefanrueger/urboot + programmer id = "urclock"; desc = "Urclock programmer for urboot bootloaders using urprotocol"; diff --git a/src/urclock.c b/src/urclock.c index 9a497e15..246b24aa 100644 --- a/src/urclock.c +++ b/src/urclock.c @@ -26,10 +26,11 @@ * - Implements urprotocol, a communication protocol designed for small bootloader sizes * - Supports vector bootloaders by patching relevant interrupt vectors during upload: * + Vector bootloaders run on all devices, not only those with a dedicated boot section - * + Can be considerably smaller than the smallest dedicated boot sections of a part, eg, + * + Can be considerably smaller than the smallest dedicated boot section of a part, eg, * only 256 bytes for ATmega2560 with an otherwise smallest boot section of 1024 bytes * - Checks sizes of applications so they don't overwrite the bootloader - * - Provides a 4-byte metadata interface for + * - Keeps the bootloader alive during interactive terminal sessions + * - Provides a 4-byte metadata interface in top flash for * + Allowing applications to utilise unused flash in a similar fashion to EEPROM * + Storing in top flash the file name and last-modified-date of the uploaded application * + Displaying file name and date of the application that was last uploaded