Commit Graph

1564 Commits

Author SHA1 Message Date
Hans
b23830c448 Add more programmer descriptions (#1667) 2024-02-07 23:40:43 +13:00
Hans Ulrich Niedermann
d15c561a7a Get AC_INIT version number from CMakeLists.txt
Generate the version number used in the Autotools builds
via a script from the top-level CMakeLists.txt and git
information instead of manual editing.

This script mimics what the avrdude top-level CMakeLists.txt
does for composing AVRDUDE_FULL_VERSION.

Consequently, maintainers do not need to edit the version numbers
in the "src/configure.ac" file's "AC_INIT(...)" line any more.

However, unlike the cmake based builds, this does not print the
commit hash in the "avrdude --help" message or in the "avrdude.conf"
file's "avrdude_conf_version = " line. That will come later.

These are the six build types supported and what avrdude
versions cmake and the autoconf builds actually produce:

                               cmake          autoconf
    git clone     release      7.2            7.2
    git clone     non-release  7.2-DATE+HASH  7.2-DATE
    git archive   release      7.2            7.2
    git archive   non-release  7.2            7.2
    dist tarball  release      N/A            7.2
    dist tarball  non-release  N/A            7.2-DATE
2024-02-07 00:47:35 +01:00
Hans Ulrich Niedermann
e58b344414 Use Github issues page for AC_INIT bug reports 2024-02-07 00:47:34 +01:00
Hans Ulrich Niedermann
acb7ba4d88 Multi line AC_INIT for improved overview 2024-02-07 00:47:34 +01:00
Hans Ulrich Niedermann
ce1bc3e34f Allow repeated doc builds without errors (Autotools)
Sometimes when building with the Autoconf buildsystem,
the avrdude-html/ subdir already exists and therefore
renaming the newly built avrdude/ subdir to avrdude-html/
cannot succeed.

Removing the old avrdude-html/ subdir first fixes that.
2024-02-07 00:47:34 +01:00
Stefan Rueger
d68034c5c6 Merge pull request #1662 from stefanrueger/jtagmkii-updi
Read the signature on -c jtag2updi exit if last op was write/erase
PR is based on a draft sketch by @askn37
2024-02-06 22:14:25 +13:00
stefanrueger
60f04f05fb Read the signature on -c jtag2updi exit if last op was write/erase 2024-02-06 10:24:10 +13:00
Dawid Buchwald
00b8c83233 Preliminary fix for #1655 2024-02-03 12:33:24 +01:00
MCUdude
f3ca6958ac Use usleep for compatibility reasons 2024-01-29 15:45:01 +01:00
MCUdude
129aba5c86 Add a fixed delay for AVR Dragon and Arduino Nano Every on port close 2024-01-29 15:35:07 +01:00
stefanrueger
9b1f4e1920 Enable -U upload of file with holes for urclock 2024-01-29 18:55:22 +13:00
Stefan Rueger
1f985354f5 Merge pull request #1642 from stefanrueger/factory-reset
Provide terminal command `factory reset`
2024-01-29 12:15:59 +13:00
Stefan Rueger
d9511238ff Merge pull request #1641 from stefanrueger/dryboot
Add dryboot programmer
2024-01-29 12:15:29 +13:00
Stefan Rueger
d0e444cea1 Merge pull request #1640 from MCUdude/ch343
Add CH343 USB to serial adapter
2024-01-29 12:15:02 +13:00
Stefan Rueger
ebbcdba3f7 Merge pull request #1634 from stefanrueger/one-byte-flash-files
Fix upload of one-byte files to flash
2024-01-29 12:14:43 +13:00
Stefan Rueger
d4ca977596 Merge pull request #1627 from dbuchwald/issue_1609
Multiple updates to SerialUPDI protocol based on discussion 1609 and issues 1621, 1622 and 1623.
2024-01-29 12:14:25 +13:00
stefanrueger
775dea2ce6 Shrink emulated bootloader for parts with small flash 2024-01-29 01:18:07 +13:00
stefanrueger
09345002b3 Emulate io/sram access depending on classic/xmega/modern part 2024-01-28 15:39:37 +13:00
stefanrueger
889b585db3 Only erase flash, eprom and user-type memories 2024-01-28 00:51:08 +13:00
stefanrueger
4708f6e14e Emulate 512-byte protected bootloader for dryboot 2024-01-28 00:32:07 +13:00
stefanrueger
aa9369cd73 Fix warning grammar 2024-01-27 18:03:28 +13:00
stefanrueger
a460fcad55 Clarify documentation 2024-01-27 17:46:50 +13:00
stefanrueger
91d7c9f702 Document factory reset command 2024-01-27 13:13:10 +13:00
stefanrueger
bfd14562f9 Provide factory reset command 2024-01-27 13:12:49 +13:00
stefanrueger
084f25f188 Make terminal command args constant strings 2024-01-27 12:10:46 +13:00
stefanrueger
652ef2efc7 Document factory_fcpu part property 2024-01-27 12:09:57 +13:00
stefanrueger
6b71a8d253 Populate factory_fcpu values in avrdude.conf.in 2024-01-27 12:01:30 +13:00
stefanrueger
aa668fa6a3 Provide factory_fcpu variable 2024-01-27 11:54:01 +13:00
MCUdude
a757d8639c Add CH343 documentation URL 2024-01-26 13:40:39 +01:00
stefanrueger
625fcc4e33 Add dryboot programmer 2024-01-26 21:22:47 +13:00
MCUdude
8cf806f4c0 Add CH343 USB to serial adapter 2024-01-26 07:55:12 +01:00
stefanrueger
a59493f333 Fix upload of one-byte files to flash 2024-01-23 22:12:48 +13:00
Stefan Rueger
2f89aece1e Merge pull request #1631 from MCUdude/table-docs
Update `part` table in avrdude.texi
2024-01-22 13:56:55 +13:00
Stefan Rueger
ef7e8b3ed3 Merge pull request #1629 from MCUdude/pr1568-fix
Make linuxgpio.c compile #1568
2024-01-22 13:56:39 +13:00
MCUdude
9de163d1f4 Update part table 2024-01-21 21:35:40 +01:00
MCUdude
baf98f0a47 Fix typo from PR #1568 2024-01-21 14:11:34 +01:00
Dawid Buchwald
1b0b263ae9 Implementation of NVM v4 protocol for #1621 2024-01-20 12:10:23 +01:00
Dawid Buchwald
45b5365830 Added candidate fix for #1622 2024-01-19 15:10:42 +01:00
Dawid Buchwald
d25cacd6fb Fix candidate for unconfirmed issue #1623 2024-01-19 09:13:36 +01:00
Matthijs Kooijman
7580173593 Remove artificial limit on jtag3 bitclock
Previously, the code would limit the clock to 1Mhz. If a higher clock
was specified, it would be set to 1.024Mhz (0x400 khz).

This commit removes this artificial limit, while still preventing
overflowing the two bytes available in the command (effectively limiting
to 65535 kHz).

The original limit seems inappropriate, because the JTAGEICE3 and ATMEL
ICE actually support higher clocks than the old limit. For SPI, the
JTAGICE3 documents supporting up to 1.875Mhz and the ATMEL ICE up to
5Mhz. In practice the JTAGEICE3 (with the newer EDBG version where it
becomes pretty much identical to the ATMEL ICE) also works up to 5Mhz.

When trying to set higher values, the behaviour seems to depend on the
current value. The programmer seems to either keep the previous value
(e.g. from 3Mhz to 10Mhz), or use 8kHz / 125μs (e.g. from 5Mhz to
10Mhz). In any case, the value read back afterwards (and printed with
-v) reflects the actual value.

Also note that the code also applies a lower limit of 1kHz (to ensure
the raw value sent to the device, in kHz, is never zero), but in
practice sending a value of lower than 8kHz ends up setting 8kHz
(125μs). This is also the minimum value in the device documentation.

This commit was tested with:

         Programmer Type       : JTAG3_ISP
         Description           : Atmel AVR JTAGICE3 in ISP mode
         ICE HW version        : 2
         ICE FW version        : 3.55 (rel. 130)
2024-01-16 17:07:01 +01:00
Dawid Buchwald
d38fa2a157 Added reset request to NVMprog operation 2024-01-15 16:31:06 +01:00
Dawid Buchwald
db5d6f4c89 Added support for NVM v5, based on NVM v3 2024-01-14 19:52:48 +01:00
Dawid Buchwald
c0199fa714 Merge branch 'avrdudes:main' into issue_1609 2024-01-11 21:09:14 +01:00
Dawid Buchwald
c33ec9c51b Updated NVM controller code to latest pymcuprog 2024-01-11 20:56:13 +01:00
Dawid Buchwald
2358893974 Split current NVM code into three separate modules 2024-01-09 18:24:28 +01:00
stefanrueger
5b3c3139d0 Remove test code 2024-01-08 22:39:44 +13:00
stefanrueger
9053883313 Suppress cast warning 2024-01-08 11:01:01 +13:00
stefanrueger
c4dcc34e58 Replace %z... modifiers in printf/scanf 2024-01-07 23:09:55 +13:00
stefanrueger
5bd5d54046 Warn if C library fails %zi scanf format 2024-01-07 23:08:53 +13:00
Hans
60df52326f Look for matching prog_modes in locate_part_by_signature() (#1605) 2024-01-04 02:06:33 +13:00