Commit Graph

3393 Commits

Author SHA1 Message Date
stefanrueger
68dd7db87c Update NEWS 2024-01-29 21:20:14 +13:00
Stefan Rueger
b220db2573 Merge pull request #1646 from mcuee/github_test_dryrun
Add tools/test-avrdude to Linux x86_64 github action
2024-01-29 20:55:39 +13:00
stefanrueger
ceb78a125f Update NEWS 2024-01-29 19:04:55 +13:00
stefanrueger
9b1f4e1920 Enable -U upload of file with holes for urclock 2024-01-29 18:55:22 +13:00
stefanrueger
5e2409b9fc Remove EEPROM spot check after chip erase from bootloaders
Bootloaders emulate chip erase (if at all) so EEPROM is unlikely erased
2024-01-29 18:31:32 +13:00
mcuee
a6b343d13b Add tools/test-avrdude to Linux x86_64 github action 2024-01-29 13:12:13 +08:00
stefanrueger
9407dc049d Update NEWS 2024-01-29 12:26:49 +13:00
Stefan Rueger
b0ba6b60f2 Merge pull request #1645 from stefanrueger/test-avrdude
Add tools/test-avrdude
2024-01-29 12:16:11 +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
73adee82e2 Update test-avrdude error message 2024-01-29 10:26:11 +13:00
stefanrueger
be9c2a507d Add tools/test-avrdude
$ tools/test-avrdude -h
Syntax: test-avrdude {<opts>}
Function: test AVRDUDE for certain programmer and part combinations
Options:
    -c <configuration spec>     additional configuration options used for all runs
    -d <sec>                    delay between test commands (default 4 seconds)
    -e <avrdude path>           set path of AVRDUDE executable (default avrdude)
    -l                          list test commands but do not execute them
    -p <programmer/part specs>  can be used multiple times, overrides default tests
    -s                          skip EEPROM tests for bootloaders
    -v                          verbose: show AVRDUDE error and warning messages
    -? or -h                    show this help text
Example:
    $ test-avrdude -d 0 -p "-c dryrun -p t13" -p "-c dryrun -p m4809"

$ echo | tools/test-avrdude -p"-cdryrun -pm328p" -d0
Testing avrdude version 7.2-20240128 (09345002)
Prepare "-cdryrun -pm328p" and press 'enter' or 'space' to continue. Press any other key to skip
   0.064 s: fuse access: clear, set and read eesave fuse bit
   0.083 s: fuse access: set eesave fusebit to delete EEPROM on chip erase
   0.066 s: chip erase
   0.068 s: flash -U write/verify holes_rjmp_loops_32768B.hex
   0.067 s: flash -T write/verify holes_rjmp_loops_32768B.hex
   0.067 s: eeprom check whether programmer can flip 0s to 1s
   0.067 s: eeprom -U write/verify holes_pack_my_box_1024B.hex
   0.066 s: eeprom -T write/verify holes_{the_five_boxing_wizards,pack_my_box}_1024B.hex
   0.069 s: chip erase and spot check flash is actually erased
   0.067 s: spot check eeprom is erased, too
2024-01-29 01:39:08 +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
Stefan Rueger
a922799414 Merge pull request #1625 from ndim/detect-dynamic-libreadline-in-USE_STATIC_LIBS-case
Detect dynamic readline and serialport libraries for avrdude USE_STATIC_LIBS builds
2024-01-22 13:56:04 +13:00
Stefan Rueger
e1def05780 Merge pull request #1618 from matthijskooijman/jtag3-raise-max-bitclock
Remove 1 Mhz limit on jtag3/atmelice/etc ISP bitclock
2024-01-22 13:55:36 +13:00
Stefan Rueger
3440bd65b7 Merge pull request #1615 from ndim/update-gpl-2.0-text
Update the GPL version 2 text
2024-01-22 13:54:50 +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
Hans Ulrich Niedermann
0b9d1bc1ff Detect dynamic readline and serialport for USE_STATIC_LIBS
Detect the dynamic libraries for libreadline and libserialport
even when building avrdude with USE_STATIC_LIBS.

Fixes: https://github.com/avrdudes/avrdude/issues/1624
2024-01-18 14:47:17 +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
Hans Ulrich Niedermann
ececf3258e Update the GPL version 2 text
Update the GPL version 2 text to the current text as published at

    https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

The changes are
  * the updated mailing address of the FSF
  * reference to LGPL with name change ("Library" -> "Lesser")
  * whitespace formatting
  * "write to" new FSF address to get a copy of the license
    instead of "seeing http://www.gnu.org/licenses/"
2024-01-11 23:26:42 +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
mcuee
a336e47a6e Update README.md for Linux avrdude package installation
The original `apt-get` command is only for Debian/Ubuntu or similar distros.
2024-01-10 11:13:19 +08:00
mcuee
5b7f66da04 Update README.md
Change Mac OS to macOS.
Adding Homebrew for macOS.
2024-01-10 11:09:17 +08:00