The name memtype can mean different things in the AVRDUDE src.
Mostly it means the name string of the memory, eg, "flash" or
"eeprom"; sometimes it is a character designating a memory, eg, 'E'
for "eeprom"; and yet at other times it means a programmer-defined
memory type, eg, MTYPE_BOOT_FLASH. The occurrences of memtype in
the code have now neen renamed appropriately.
The RDY LED is set once the programmer is initialised and switched
off when AVRDUDE exits. During reading, writing or erasing the target
the PGM LED flashes with around 2.5 Hz, whilst the VFY LED comes on
during -U verification of the uploaded contents. Errors are indicated
with the ERR LED.
Assuming AVRDUDE got to the point where LEDs are accessible and the RDY
LED was switched on then, on exit, AVRDUDE will leave the LEDs in the
following states:
| PGM | VFY | ERR | Semantics |
| --- | --- | --- | ------------------------------------------------ |
| off | off | off | OK: all tasks done without errors |
| off | off | on | Some error not related to read/write/erase |
| on | off | on | Read/write/erase error |
| off | on | on | Verification error but no read/write/erase error |
| on | on | on | Read/write/erase error and verification error |
Other combinations should not show after exit.
* Read sigrow for ATmega32[48]PB using ISP
* Rename sigrow memory to progsig for 4 ISP/TPI parts
* Create a memory alias from sigrow to prodsig
* Exempt prodsig from checking irregular address patters in ISP command
* Update documentation for sigrow/prodsig
* Include signature in prodsig memory for ATtiny102 and ATtiny104
This makes it possible to upload to boards like the Arduino Leonardo and Arduino Nano Every wwithout using an external tool to enter bootloader mode
Co-authored-by: Stefan Rueger <stefan.rueger@urclocks.com>
Data sheets include the signature in the production signature row
(prodsig/sigrow memory) while .atdf excludes the 3 signature bytes.
For example the AVR16EB14 datasheet lets sigrow start at 0x1080
with a size of 128 while the atdf file specifies the start as
0x1083 with a size of 125.
The former makes more sense.
This commit also sets page_size to the prodsig size if it is a power of 2
otherwise it is set to 1.