... except if it's for a bootloader: they might need to know about
0xff pages if they use an SPM page erase command and therefore
memory does not look like NOR-memory.
This is a slight optimisation for all parts (as writing 0xff pages
on NOR-memory flash is a NOP), but more importantly, prevents a
firmware error to surface for those parts that need to carry out
value polling to determine when writing the page has finished on
the device.
avrdude -p*/s -c*/s outputs how avrdude understands the programmers
and parts defined in avrdude.conf.in that syntax (the canonical
form). This commit ensures that avrdude.conf.in is in canonical
form, typically removing assignments that are redundant owing to
inheritance.
Also changes a couple of comments and one programmer description
string to be more expressive.
Pin definitions in config_gram.y fail to clear existing pin
definitions when setting them for the second time, eg, through
inheritance, For example,
programmer parent "ft2232h"
id = "tigard";
reset = 5; # BD5 (GPIOL1)
;
would add pin 5 to the existing pin 3 for reset from the partent
programmer rather than overwriting the reset pin.
This commit clears any pre-existing pin definition first before
assigning the new pin number or pin list (for vcc or buff).
In order to output memories of a part always in the same order the
developer options use an odered list of all known memories. Owing
to the partial match feature of dev_locate_mem_noalias() they
would therefore print an existing lockbits memory twice, once for
the memory lock and once for the memory lockbits.
Fixes bug #1228 that gpio 0 could not be used by the linuxgpio system.
* Add sanity checks
* Loop over defined pins only
Co-authored-by: Stefan Rueger <stefan.rueger@urclocks.com>
"q" used to be a unique abbrevation for "quit" before the introduction
of the "quell" command, and it was an easy way to exit terminal mode.
By adding it as an explicit command (must be before all longer
commands starting with "q"), this functionality is regained.
For devices connected through a real serial device rather than
USB, there is no transport-layer serial number available.
stk500v2.c (and jtag3.c) tried to always call this function.
Closes#1254