Stefan Rueger
d05ddd188d
Fix usbtiny read/verify for parts with more than 64 kB flash
...
Usbtiny has a protocol or firmware problem that prevents it from reading
flash above 64 kB in page mode (used by -U flash:r:... and -U flash✌️ ...).
This commit fixes that problem by falling back on byte access for flash paged
reads above 64k. It also issues the correct load extended address command for
parts with more than 128 kB flash thus extending support to ATmega2560 et al.
2022-07-16 11:06:18 +01:00
Stefan Rueger
e7e062ec05
Fix terminal line parsing for strings (to some extent)
2022-07-15 18:50:20 +01:00
Stefan Rueger
7ceb163cba
Echo terminal command line on Apple
2022-07-14 18:31:44 +01:00
Stefan Rueger
14b27726d4
Protect terminal dump from vagaries of C libray implementation of isalpha() etc
...
Some C libraries assign true to isalpha(0xff), isdigit(0xff) or
ispunct(0xff), which means that the Operating System terminal sees a
character 0xff which it may not have a useful display character for.
This commit only outputs printable ASCII characters for an AVRDUDE
terminal dump reducing the risk of the OS terminal not being able
to print the character properly.
2022-07-14 17:16:30 +01:00
Stefan Rueger
5721908e63
Revert to double/float only in terminal write and clarify usage
2022-07-14 17:13:13 +01:00
MCUdude
dde35018eb
Exit if programmer can't send HV pulse to target
2022-07-13 23:49:14 +02:00
Stefan Rueger
901d49c4e6
Change terminal write usage message to accommodate long double
2022-07-13 12:37:10 +01:00
Stefan Rueger
b02cce38d7
Added long double data type for terminal write
2022-07-13 12:25:09 +01:00
Stefan Rueger
0b3a5781fc
Flush stderr and stdout with all terminal error messages
...
Error messages are written to stderr whilst normal terminal output is stdout.
When redirecting output to pipelines or files these two streams can get
separated as they are buffered separately. To avoid this, term.c now provides
a function terminal_message() that works just like avrdude_message() but
flushes stderr and stdout before printing on stderr, and it flushes stderr
afterwards.
This commit replaces all avrdude_message() calls except for progress report
with terminal_message() to ensure stdout and stderr streams keep together.
2022-07-13 11:48:29 +01:00
Stefan Rueger
1efbc64922
Add terminal_setup_update_progress() library interface to term.c
...
This enables the new quell terminal command to switch on and off progress
reports to the terminal. The code for this was moved from main.c to term.c.
It can be used as library call for other frontends than main.c
2022-07-13 11:38:43 +01:00
Stefan Rueger
ea226936b7
Fix isspace() and other isxxx() calls in term.c
2022-07-13 11:19:21 +01:00
Stefan Rueger
f8145ae1c4
Echo >>> terminal command line for Windows or non-libreadline
2022-07-12 21:53:37 +01:00
Stefan Rueger
3ef8122d90
Merge branch 'avrdudes:main' into partdesc
2022-07-12 18:19:17 +01:00
Stefan Rueger
feb38b83ef
Merge branch 'avrdudes:main' into terminal
2022-07-12 18:18:39 +01:00
Stefan Rueger
b6204b181a
Provide echo of terminal command line prompt under Windows
2022-07-12 15:22:52 +01:00
Stefan Rueger
0edb77bdf8
Merge branch 'main' into issue918
2022-07-12 15:05:45 +01:00
Stefan Rueger
04f790ad85
Merge pull request #1018 from stefanrueger/issue995
...
Fix Issue #995 ft245r paged read for ATmega2560 et al
2022-07-12 14:55:44 +01:00
Stefan Rueger
1e8b56751e
Add quell command in terminal
...
Sets the quell_progress global variable that can be, and is, consulted by
programmers.
Setting quell_progress to a positive number also switches off progress
bars. It is currently not possible to switch on progress bars again: that
is enabled in main.c once at the start of AVRDUDE.
That code in main should move to avr.c to enable report_update() to consult
quell_progress directly. Will do at another time when touching main.c and
avr.c. smr
2022-07-12 13:19:09 +01:00
Stefan Rueger
d9cb9772d7
Fix verbosity level parsing in term.c
2022-07-12 12:30:29 +01:00
Stefan Rueger
63fb79accb
Consolidate more error messages in term.c
2022-07-12 12:24:30 +01:00
Stefan Rueger
f871a4dc1e
Adapt capitalisation of comments in term.c to existing style
2022-07-12 12:02:43 +01:00
Stefan Rueger
7c766ef9bd
Refine type detection in terminal write
...
The code no longer accepts valid mantissa-only doubles that are integer
rejects, eg, 078 or ULL overflows. These are most likely input errors by
the user: 8 is not an octal digit, they might have typed 17 hex digits,
not 16. It's just too hard to explain that 0xffffFFFFffffFFFFf writes
0x4430000000000000, which is the correct double representation of the
valid 17-digit hex mantissa that strtod() is perfectly happy to accept.
2022-07-12 12:01:14 +01:00
Stefan Rueger
704d253636
Remove comparisons between signed and unsigned integers in term.c
2022-07-12 11:59:42 +01:00
Stefan Rueger
8140c9c90b
Consolidate error messages in term.c
2022-07-12 11:58:51 +01:00
Stefan Rueger
56113f6d8a
Remove echo of tokenised terminal command
2022-07-12 11:51:04 +01:00
Stefan Rueger
c5f522342d
Improve terminal help message
2022-07-12 11:50:23 +01:00
Stefan Rueger
92425af0cc
Improve terminal dump usage message
2022-07-12 11:47:33 +01:00
Stefan Rueger
602e9bb80c
Change size for memory type variable in terminal read
2022-07-12 11:44:20 +01:00
Stefan Rueger
7205bbae80
Enhance terminal read with new mode: read <memory> <addr>
2022-07-12 11:43:45 +01:00
Stefan Rueger
aa09bcf900
Ensure terminal writes little endian numbers
2022-07-12 11:42:59 +01:00
Stefan Rueger
ddffabe86a
Improve terminal write usage message
2022-07-12 11:40:40 +01:00
Stefan Rueger
0b2f38c67d
Allow optional comma separators for data items in terminal write
2022-07-12 11:39:52 +01:00
Stefan Rueger
5c4cfa642a
Parse terminal writes of string and character constants in C-style
2022-07-12 11:39:02 +01:00
Stefan Rueger
9fe6820236
Add double type for terminal write in anticipation of future avr-libc extension
2022-07-12 11:36:57 +01:00
Stefan Rueger
feda75b60a
Remove unnecessary bool is_float in terminal write
2022-07-12 11:35:27 +01:00
Stefan Rueger
51355d04fb
Remodel logic of the size that integer items occupy in terminal write
...
Integers can be hexadecimal, decimal or octal. An optional case-insensitive
suffix specifies their size: HH: 8 bit, H/S: 16 bit, L: 32 bit, LL: 64 bit
An optional U suffix makes a number unsigned. Ordinary 0x hex numbers are
always treated as unsigned. +0x or -0x hex numbers are treated as signed
unless they have a U suffix. Unsigned integers cannot be larger than 2^64-1.
If n is an unsigned integer then -n is also a valid unsigned integer as in C.
Signed integers must fall into the [-2^63, 2^63-1] range or a correspondingly
smaller range when a suffix specifies a smaller type. Out of range signed
numbers trigger a warning.
Ordinary 0x hex numbers with n hex digits (counting leading zeros) use
the smallest size of 1, 2, 4 and 8 bytes that can accommodate any n-digit hex
number. If a suffix specifies a size explicitly the corresponding number of
least significant bytes are written. Otherwise, signed and unsigned integers
alike occupy the smallest of 1, 2, 4, or 8 bytes needed to accommodate them
in their respective representation.
2022-07-12 11:32:38 +01:00
Stefan Rueger
62d3eebd56
Fix 64-bit integer terminal write where high bit set
...
Using strtoll() can only return numbers in the range [-2^63, 2^63-1]. This
means that 0xffffFFFFffffFFFF (2^64-1) will be out of range and is written as
max LL. Actually, every 64-bit number with high-bit set will wrongly be
written as max LL.
This commit uses strtoull() instead to fix this, and checks for unsiged out-
of-range error. strtoull() also has the neat benefit that input with a minus
sign is treated like C unsigned numbers, ie, -u is also a valid unsigned
number if only u is one. In case the input is meant to be treated as signed,
it is therefore still OK to use strtoull() in the first instance only that in
this case a second check against the range of the signed domain is necessary.
2022-07-12 11:19:47 +01:00
Stefan Rueger
9afa56381e
Remove unused component is_signed in terminal write
2022-07-12 11:19:05 +01:00
Stefan Rueger
ff43e0544d
Correct a parse message in terminal write
2022-07-12 11:18:15 +01:00
Stefan Rueger
177834ae7c
Ensure enough memory is allocated for buf in terminal write
2022-07-12 11:16:16 +01:00
Stefan Rueger
d3ad078577
Ensure terminal write fill mode ... always fills with last data item
2022-07-12 11:15:30 +01:00
Stefan Rueger
39a00bc71e
Ensure +0x...f does not strip suffix f in terminal write
2022-07-12 11:14:41 +01:00
Stefan Rueger
360d7c502b
Make suffix fully case insensitive (allow Hh, Ll, ...) in terminal write
2022-07-12 11:13:46 +01:00
Stefan Rueger
d9450058c8
Cache strlen(argv[i]) in term.c cmd_write() and prevent negative array index
2022-07-12 11:12:20 +01:00
Jan Egil Ruud
69ee5da613
Improve error handling for devices that does not support HVUPDI.
2022-07-12 12:01:17 +02:00
Jan Egil Ruud
2478c18745
Do not let the hvupdi extended option take any configuration values. The hvupdi type is implied by the part configuration.
2022-07-11 15:26:41 +02:00
Jan Egil Ruud
173b4f9d0a
Clean up and simplify hvupdi handling, and set default hvupdi_variant to -1.
2022-07-11 14:07:45 +02:00
Stefan Rueger
ff8f519a34
Fix PICKit2 ATmega2560 flash paged flash read
...
The paged read in pickit2.c has two errors:
- It drops load extended address commands unless a paged read happens at a
64k byte boundary; this is invalid when reading files with holes
- It wrongly assumed that flash memory is byte addressed
The fix is to carry out a load extended address command, if needed, at the
beginning of each paged flash read with the correct word address. Although the
pickit2_paged_load() has independent parameters page_size, addr and n_bytes,
AVRDUDE only ever calls paged read/write functions with page_size and n_bytes
both set to mem->page_size and addr aligned with a page boundary. Therefore, it
is sufficient to set the load extended address at the beginning of each page
read.
2022-07-10 23:41:44 +01:00
Stefan Rueger
215ea1af5c
Merge branch 'partdesc' of github.com:stefanrueger/avrdude into partdesc
2022-07-07 18:34:26 +01:00
Stefan Rueger
9e2cea3ada
Implement developer options -p */[*cdosSrwt] for part descriptions
2022-07-07 18:32:19 +01:00
Jan Egil Ruud
91310e6f50
Move hvupdi_support list to a new prog_parm_updi group, and initialize the list.
2022-07-07 12:23:05 +02:00
Ruud, Jan Egil
9e5ea25b9e
Add HVUPDI_SUPPORT list for programmers.
2022-07-05 14:14:37 +02:00
Stefan Rueger
64ee4858fd
Update 2nd debug message in avr.c with correct function name
2022-07-05 01:00:45 +01:00
Stefan Rueger
d3b22fa3c6
Update debug message in avr.c with correct function name
2022-07-05 00:57:40 +01:00
Stefan Rueger
00ea21597e
Merge pull request #1001 from MCUdude/add-missing-bits-and-pieces
...
Add missing delays in avrdude.conf
2022-07-05 00:05:32 +01:00
Stefan Rueger
2b6ee8f4d1
Adapt whitespace to existing style in avrftdi.c
2022-07-04 23:54:02 +01:00
Stefan Rueger
7aad03cbcd
Fix paged read for ATmega2560 et al for ft245r.c
2022-07-04 23:11:32 +01:00
Stefan Rueger
a721e485cb
Refactor paged read/write routines in ft245r.c
2022-07-04 23:04:36 +01:00
Stefan Rueger
237cb63211
Steamline avrftdi support for ATmega2560 et al
2022-07-04 12:30:37 +01:00
MCUdude
d2bb964fc7
Attempt to fix EEPROM write issue #1009
2022-07-04 12:30:37 +01:00
Joerg Wunsch
f22b81c00e
Fix a number of logic errors in the previous commits
...
RSP3_FAIL_CRC_FAILURE is 0x43 rather than 0x47.
jtag3_errcode() must only be applied to a reason code, not
to any general status code.
2022-07-04 12:30:37 +01:00
Joerg Wunsch
8953967fc3
Replace internal knowledge in jtag3.c by a public API
...
In certain situations (CRC failure, device locked), that JTAG3
read functions need to return an indication to the caller that
it is OK to proceed, and allow erasing the device anyway.
Historically, the JTAG3 code passed the respective protocol
errors directly (and unexplained) up to the caller, leaving
the decision to the caller how to handle the situation.
Replace that by a more common return value API. New code should
prefer this API instead of any hardcoded return values.
2022-07-04 12:30:37 +01:00
Stefan Rueger
ef785a617a
Treat x bits in .conf SPI commands as 0
2022-07-04 12:30:37 +01:00
prchal
134509cc6f
adding support for all Linux baud rates v.2
...
If optiboot can work at higher bauds, why not avrdude.
Versoin 2 of #985 .
Linux uses the old-style bitmapped version of the Bxxxx macros.
2022-07-04 12:30:37 +01:00
MCUdude
963a1e54af
Fix JTAG transaction close issue
...
Fixes issue #366
2022-07-04 12:30:37 +01:00
MCUdude
b167e88422
Reduce programmer description string length
...
to less than 80 characters. #941 related
2022-07-04 12:30:37 +01:00
Stefan Rueger
3893a21164
Fix avrftdi support for ATmega2560 et al (load extended address)
2022-07-04 12:30:25 +01:00
MCUdude
6473a6d71a
Add avrdude_message to verbose mode
2022-07-01 07:36:07 +02:00
MCUdude
30c1b31b8d
Send 12V pulse to HV_UPDI_VARIANT_2 targets as well
2022-06-29 17:12:57 +02:00
Ruud, Jan Egil
65763b5700
Correct hvupdi_variant for AVR DD devices.
2022-06-29 17:12:57 +02:00
Ruud, Jan Egil
39008ac2c1
Add UPDI HV type to device description.
2022-06-29 17:12:57 +02:00
MCUdude
577856cf15
Use HV UPDI constants rather than arbitrary numbers
2022-06-29 17:12:57 +02:00
MCUdude
50220289bb
Add high-voltage UPDI info to docs
2022-06-29 17:12:57 +02:00
MCUdude
e068341716
Make sure "-x hvupdi" is only valid for Pickit4 and Powerdebugger
2022-06-29 17:12:57 +02:00
MCUdude
f67c35744e
add support for "-x hvupdi" that triggers HV UPDI
2022-06-29 17:12:57 +02:00
MCUdude
ba98e48880
add "hvupdi_variant" property to avrdude.conf
2022-06-29 17:12:52 +02:00
Stefan Rueger
0240b361f5
Merge branch 'avrdudes:main' into partdesc
2022-06-28 22:53:22 +01:00
Stefan Rueger
a21f3d20af
Merge branch 'avrdudes:main' into issue942
2022-06-28 22:38:47 +01:00
Jörg Wunsch
8cd6f357b1
Merge pull request #1013 from MCUdude/jtag3-eeprom-fix
...
JTAG3 UPDI EEPROM fix
2022-06-28 22:36:19 +02:00
Jörg Wunsch
7ec51a5185
Merge pull request #996 from dl8dtl/jtag3_retcode
...
Replace internal knowledge in jtag3.c by a public API
Supersedes #982
2022-06-28 22:21:50 +02:00
Stefan Rueger
09c168a186
Merge branch 'avrdudes:main' into issue942
2022-06-28 20:56:49 +01:00
Stefan Rueger
d8a30aa8c4
Merge branch 'avrdudes:main' into partdesc
2022-06-28 20:44:34 +01:00
Stefan Rueger
3bd75e74c6
Move developer options into own source file and expand part description -p \*
...
-p \*/c check address bits in SPI commands
-p \*/d description of core part features
-p \*/o opcodes for SPI programming parts and memories
-p \*/s show avrdude.conf entries of parts
-p \*/ss show full avrdude.conf entry as tab separated table
-p \*/w wd_... constants for ISP parts
-p \*/\* all of the above except -p \*/s
-p \* same as -p\*/\*
2022-06-28 20:34:31 +01:00
Jörg Wunsch
6d1c83e182
Merge pull request #993 from prchal/patch-1
...
adding support for all Linux baud rates
2022-06-26 22:59:49 +02:00
Jörg Wunsch
55dddc57cc
Merge pull request #979 from MCUdude/dragon-jtag-fix
...
Dragon JTAG fix: restart firmware after programming
2022-06-26 22:53:32 +02:00
Fabrice Fontaine
17509d2ef4
CMakeLists.txt: fix build without C++
...
Fix the following build failure without a C++ compiler:
CMake Error at CMakeLists.txt:24 (project):
No CMAKE_CXX_COMPILER could be found.
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2022-06-26 21:35:42 +02:00
Stefan Rueger
0a7f2645c9
Merge branch 'partdesc' of github.com:stefanrueger/avrdude into partdesc
2022-06-26 15:15:37 +01:00
Stefan Rueger
317cc6d492
Add part type to -p \* .desc output
2022-06-26 15:10:19 +01:00
Stefan Rueger
40425ffac4
Merge branch 'avrdudes:main' into partdesc
2022-06-26 14:49:07 +01:00
Hans
8159c46013
Merge branch 'avrdudes:main' into hv-updi
2022-06-25 22:47:27 +02:00
MCUdude
89b0aa72e0
Attempt to fix EEPROM write issue #1009
2022-06-25 11:39:16 +02:00
Joerg Wunsch
ae0e3e2f8e
Fix a number of logic errors in the previous commits
...
RSP3_FAIL_CRC_FAILURE is 0x43 rather than 0x47.
jtag3_errcode() must only be applied to a reason code, not
to any general status code.
2022-06-22 23:33:53 +02:00
MCUdude
692c13ed98
Add missing chip erase delay for ATmega48/88/168/328PB
2022-06-19 19:40:31 +02:00
MCUdude
aa211f7580
Add missing efuse write delay for ATmega169/A/P/PA and ATmega328P
2022-06-19 19:23:34 +02:00
MCUdude
3b0a2abc20
Reduce programmer description string length
...
to less than 80 characters. #941 related
2022-06-19 10:53:07 +02:00
Joerg Wunsch
3082630430
Replace internal knowledge in jtag3.c by a public API
...
In certain situations (CRC failure, device locked), that JTAG3
read functions need to return an indication to the caller that
it is OK to proceed, and allow erasing the device anyway.
Historically, the JTAG3 code passed the respective protocol
errors directly (and unexplained) up to the caller, leaving
the decision to the caller how to handle the situation.
Replace that by a more common return value API. New code should
prefer this API instead of any hardcoded return values.
2022-06-15 23:32:22 +02:00
Marius Greuel
3148b31e01
Merge pull request #972 from earies/cmake-libdir-fix
...
Fix src/CMakeLists.txt to honor CMAKE_INSTALL_LIBDIR
2022-06-08 21:53:22 +02:00
Marius Greuel
fc9d640f0b
Merge pull request #945 from mariusgreuel/pr-micronucleus-macos-usb-issue
...
Fix micronucleus bootloader to check for unresponsive USB devices
2022-06-08 21:46:40 +02:00
prchal
bd8c17b35f
adding support for all Linux baud rates v.2
...
If optiboot can work at higher bauds, why not avrdude.
Versoin 2 of #985 .
Linux uses the old-style bitmapped version of the Bxxxx macros.
2022-06-07 11:50:03 +02:00
MCUdude
bdb4128de3
Fix JTAG transaction close issue
...
Fixes issue #366
2022-05-30 19:22:20 +02:00
Stefan Rueger
952ad72fb9
Add -p \* to summarise properties of parts in conf
2022-05-24 16:56:11 +01:00
Ebben Aries
3b0d7e5d5d
Fix src/CMakeLists.txt to honor CMAKE_INSTALL_LIBDIR
2022-05-21 14:25:27 -06:00
Marius Greuel
053c2dcdd3
CMake: Include GCC specific options also for MSYS2
2022-05-11 20:57:14 +02:00
Marius Greuel
8b61c9dd8f
CMake: Move MSVC compatibility shim into library
2022-05-11 20:56:05 +02:00
Subhaditya Nath
b9a012cebb
Fix .Dd macro in manpage
...
The correct format for .Dd according to mdoc(7) is -
.Dd month day, year
2022-05-08 20:35:32 +05:30
Joerg Wunsch
9bc28d410e
Post-7.0 changes
...
Update version date in configure.ac.
Update template in NEWS
2022-05-07 22:57:49 +02:00
Joerg Wunsch
a2e456ca8a
v7.0 release preparation
2022-05-07 22:20:31 +02:00
Joerg Wunsch
43ddea9102
Calibration memory of ATtiny43U is only 1 byte
...
Closes issue #921 .
2022-05-05 22:58:45 +02:00
Marius Greuel
01a9e42d7d
Fix typo in micronucleus message
2022-05-05 22:08:46 +02:00
Marius Greuel
c64f2030a1
Improve micronucleus bootloader user experience for unresponsive USB devices
2022-05-05 21:42:27 +02:00
Marius Greuel
3bdf138721
Fix micronucleus bootloader to check for unresponsive USB devices
2022-05-05 20:45:47 +02:00
Joerg Wunsch
a4c9fcdcd7
More fixes for PR #915
2022-05-02 22:51:22 +02:00
Jörg Wunsch
ca16fc2ce6
Merge pull request #930 from cederom/cederom-programmer-avrftdi-ktlink
...
Added KT-LINK FT2232H interface with IO switching and voltage buffers.
2022-05-01 22:29:46 +02:00
Jörg Wunsch
d7c59ca2f9
Merge pull request #931 from MCUdude/linuxspi-baud-fix
...
Fix linuxspi baud to clock period calculation
2022-05-01 22:26:23 +02:00
Joerg Wunsch
4bcd0eaa1d
Fix a number of mistakes in avrdude.conf.in
...
Stefan Rueger found a lot of mistakes in this file.
Closes #915
2022-05-01 21:55:50 +02:00
Stefan Rueger
033b2ed796
Treat x bits in .conf SPI commands as 0
2022-04-29 00:37:28 +01:00
Stefan Rueger
580c37fbfe
Describe -A in the man and .texi documentation
2022-04-29 00:14:45 +01:00
Stefan Rueger
f47ec634f8
On verify always verify full input file
2022-04-28 17:53:10 +01:00
Stefan Rueger
52734bafc6
Add option -A to separately disable trailing-0xff removal
2022-04-28 17:29:06 +01:00
Stefan Rueger
52b20f4a28
Provide self-documenting API for disabling trailing-0xff removal
2022-04-28 17:26:09 +01:00
Stefan Rueger
2397984d2b
Disable trailing-0xff removal when invoking arduino programmer
2022-04-27 18:54:13 +01:00
Joerg Wunsch
08ad5ea445
Fix broken texinfo
...
@ must be escaped as @@
2022-04-26 23:19:20 +02:00
Stefan Rueger
e18d436f88
Move evaluating 'is flash' from caller to callee avr_mem_hiaddr()
2022-04-15 20:48:46 +01:00
Stefan Rueger
ed38456f83
Piggy-back 'Do not remove trailing 0xff' onto option -D
2022-04-15 20:46:40 +01:00
MCUdude
6fceea8f71
Fix linuxspi default port
...
If no port is specified, Avrdude will try to use the default port specified in avrdude.conf. If not present, use port specified in linuxspi.c
2022-04-11 22:28:12 +02:00
MCUdude
9d025e6a70
Fix linuxspi baud to clock period calculation
...
#927 related
2022-04-10 23:36:53 +02:00
Tomasz 'CeDeROM' CEDRO
b99a145b9f
Added KT-LINK FT2232H interface with IO switching and voltage buffers.
...
Example TPI run: https://github.com/avrdudes/avrdude/issues/928
Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2022-04-10 22:28:44 +02:00
MCUdude
1363c7fe76
Fix buffer overflow issue
...
when in terminal fill mode
2022-04-09 20:08:44 +02:00
MCUdude
08bd5fa938
Add string write to terminal example
2022-04-05 19:37:45 +02:00
MCUdude
17b67da03e
Make sure memory can be filled with a string
...
... and not just the last character
2022-04-04 09:38:02 +02:00
Alexander Smirnov
3dc1e4e72b
Wait and retry until deplayed udev permission rule applies after exporting gpio pin
2022-04-03 20:29:56 +01:00
MCUdude
795dd91575
Code cleanup + formatting
2022-04-01 22:23:55 +02:00
MCUdude
8f100f5df3
Initial support for string write
2022-04-01 21:57:53 +02:00
MCUdude
f0f9059ade
Tweak nexttok for better string handling
...
Now a string that starts and ends with a quote (") is combined into a single (argc) argument rather than being split where spaces used to be
2022-04-01 16:52:59 +02:00
Nav
e069871c8e
Increased timeout passed to hid_read_timeout() - set to 10000 for consistency ( #901 )
2022-03-31 23:26:53 +02:00
Hans
f22bc62b06
Mask out unused ATmega32U4 efuse bits ( #909 )
...
Closes #446
2022-03-31 23:13:57 +02:00
Hans
d09a4e93a2
Add ATmega16U4 to avrdude.conf ( #910 )
...
Closes #447
2022-03-31 23:12:32 +02:00
Hans
aa7ae7bb87
Add MacOS serial/parallel port note ( #908 )
...
Closes #510
2022-03-31 22:32:57 +02:00
Hans
1d0cbc2246
Add progressbar for read and write command ( #912 )
2022-03-31 22:21:49 +02:00
Joerg Wunsch
8697f6def7
Remove remnants of the old erase-cycle counter from examples
2022-03-21 06:38:28 +01:00
Joerg Wunsch
981a6f1f20
Restore the -u option as a dummy.
...
Closes #890
2022-03-20 21:50:45 +01:00
Jörg Wunsch
0c722bf288
Merge pull request #903 from dl8dtl/term-docs
...
Terminal mode documentation
2022-03-19 23:04:50 +01:00
Jörg Wunsch
28d1442fc8
Merge pull request #902 from MCUdude/terminal-fix
...
Minor terminal write improvements
2022-03-19 23:02:24 +01:00
Jörg Wunsch
75e4d06463
Merge pull request #899 from MCUdude/avrdude-conf-fix
...
Fix errors in Avrdude.conf
This also closes #897
2022-03-19 23:01:12 +01:00
Jörg Wunsch
99f191a0ca
Merge pull request #898 from dl8dtl/macos-nonstandard-baudrates
...
Macos nonstandard baudrates
closes #266
2022-03-19 22:57:37 +01:00
Joerg Wunsch
33bace0cee
Provide an example for the second form of the "write" command
...
In terminal mode, there are two forms of "write", one that
explicitly mentions all data values, and a second one that
instead specifies a total range to write, where the last data
value given is replicated as needed.
2022-03-19 17:30:55 +01:00
Joerg Wunsch
0c912a201f
Try making the cindex (concept index) meaningful
...
Rearrange existing @cindex entries, add a lot of new ones.
2022-03-19 00:03:17 +01:00
Joerg Wunsch
31feb9ff75
Link the concept index
2022-03-19 00:00:54 +01:00
Joerg Wunsch
29a01c1047
Terminal mode: fix documentation of second version of "write"
...
Right after start_addr, the next element is the number of bytes
to be written.
2022-03-18 23:42:32 +01:00
MCUdude
426ea1fa78
Add missing free()'s
2022-03-18 21:20:58 +01:00
MCUdude
6a5988ad64
Print write info message when in verbose mode
2022-03-18 21:19:36 +01:00
MCUdude
dcf771424b
Increase buffer size to prevent potential overflow
2022-03-18 19:17:17 +01:00
Joerg Wunsch
67b56d322b
Update texinfo documentation for terminal-mode changes
...
This documents the recent changes that have been implemented in
terminal mode.
2022-03-17 23:13:52 +01:00
Joerg Wunsch
27d201acb1
Also tweak smallexample
2022-03-17 07:21:33 +01:00
Joerg Wunsch
9bc4a2463d
Attempt to tweak CSS of the generated HTML docs a bit
2022-03-16 23:19:45 +01:00
Joerg Wunsch
da1271642e
Remove the pointer to the mailing list
...
It makes more sense to point people to Github issue trackers now,
even for questions.
2022-03-13 22:52:44 +01:00
Joerg Wunsch
416c465ec0
Bring the texinfo doc up to date
...
* remove copyright years; they are not meaningful anyway
* reflect the project move from Savannah to Github
2022-03-13 00:13:29 +01:00
MCUdude
41f524c1ba
Use the same device signature on ATmega165 and ATmega165A
2022-03-08 13:17:01 +01:00
MCUdude
5ebb9047be
Fix incorrect ATxmega128D4 flash page size
2022-03-08 12:50:17 +01:00
MCUdude
fde7881611
Fix incorrect ATmega64M1 flash and eeprom size
...
#897 related
2022-03-08 12:34:06 +01:00
MCUdude
1c94c95f1c
Fix target names not following the standard
2022-03-08 12:32:41 +01:00
Joerg Wunsch
a4cbd5c6fc
Append a newline to the nonstandard baudrate warning
2022-03-07 23:25:36 +01:00
Joerg Wunsch
87b39637ff
Implement nonstandard baudrate handling on MacOS
...
Alas, MacOS doesn't handle nonstandard baud rates like other systems
in regular tcsetattr() calls. Instead, they invented a new ioctl
(IOSSIOSPEED). So, if we notice we are going to configure a
nonstandard rate on MacOS, issue that ioctl after configuring
everything else using tcsetattr().
2022-03-07 23:20:50 +01:00
Joerg Wunsch
34168759b0
Fix a one-bit error in ATmega165* signature read command.
2022-03-07 22:52:14 +01:00
Jörg Wunsch
0f4b5b223b
Merge pull request #894 from MCUdude/terminal
...
Improve terminal read functionality
2022-03-03 23:14:37 +01:00
Jörg Wunsch
0b82b5c573
Merge pull request #896 from MCUdude/terminal-write
...
Fix ugly terminal write bug
2022-03-03 23:12:47 +01:00
Jörg Wunsch
9355d67e0f
Merge pull request #893 from MCUdude/userrow-fix
...
Support both userrow and usersig names
2022-03-03 23:09:20 +01:00
MCUdude
d9c52249a9
Restructure "write mode" code
2022-03-03 19:37:42 +01:00
MCUdude
c7174d7678
Update description
2022-03-02 20:24:51 +01:00
MCUdude
df6e2eea12
Fix terminal write bug
...
Wouldn't write data properly after an integer >= 2 bytes was written
2022-03-02 20:09:59 +01:00
Jan Egil Ruud
0c8b42524e
For UPDI devices do not add offset when accessing flash.
2022-03-01 14:24:33 +01:00
MCUdude
b688b1f601
Add support for read with ... "operator"
...
This means that you can use ... to read the "rest" of the memory.
$ read eeprom ... will dump the entire memory
$ read eeorm 0x80 ... will dump the memory from address 0x80 to the end address
2022-02-28 23:59:30 +01:00
MCUdude
d89f695c31
Incread default read size to 256 bytes
2022-02-28 23:59:30 +01:00
MCUdude
1f2b570216
Support both userrow and usersig names
2022-02-28 19:46:47 +01:00
MCUdude
07ea8f5e09
Add userrow and usersig aliases
2022-02-21 22:36:06 +01:00
Joerg Wunsch
0269817217
Add a missing @end table
...
Has been slipped when adding some -x documentation before.
2022-02-21 22:01:05 +01:00
Jörg Wunsch
008f95f6ff
Merge pull request #880 from MCUdude/terminal-write
...
Avrdude terminal write improvements
2022-02-21 21:53:38 +01:00
MCUdude
a73567893b
Properly handle negative number sizes
2022-02-21 13:43:38 +01:00
MCUdude
fa706f0d01
Handle data size warning better
...
Now it only outputs a warning when the size of the data the user input is actually ambiguous
2022-02-20 23:03:31 +01:00
MCUdude
3532c567ac
Add suffix for 8-bit data
...
use [val]HH or [val]hh to force 8-bit writes to memory
2022-02-20 22:23:15 +01:00
MCUdude
bb99a36a14
Formatting
...
Use enums for write mode, and change datatypes from int/long/char to int32_t/uint8_t where possible
2022-02-20 19:08:30 +01:00
MCUdude
a9b756e5c7
Add struct initialization list
2022-02-20 12:46:53 +01:00
Dawid Buchwald
cf67a76c23
Merge branch 'main' into ser_posix_cleanup
2022-02-20 12:37:19 +01:00
MCUdude
0e29b43bd0
Add support for 64-bit integers
...
Also, move everything data related into a struct, to keep tings a little more organized
2022-02-19 23:34:50 +01:00
MCUdude
4b9219edee
Add support for suffixes for manually specifying data size
...
H/h/S/s: 16-bit, L/l: 32-bit, F/f: 32-bit float
2022-02-19 22:48:58 +01:00
Jörg Wunsch
3efd3b2052
Merge pull request #873 from MCUdude/add-arduino-programmers
...
Add missing USBtiny derived programmers
2022-02-19 21:51:31 +01:00
Dawid Buchwald
75ab3c418e
Fixed warning with unsigned char
2022-02-19 21:18:03 +01:00
MCUdude
62f3b84eee
Use union for simpler data representation
...
It is a bit hacky, but for this purpose it fits surprisingly well
2022-02-19 20:15:52 +01:00
Dawid Buchwald
066f54fbfa
Cleanup of POSIX serial init code
2022-02-19 18:00:58 +01:00
Dawid Buchwald
de19f203e0
Smallest possible fix for PL2303HX
2022-02-19 15:07:32 +01:00
Jörg Wunsch
d054c68b19
Merge pull request #878 from MCUdude/fix-pkob-target-voltage
...
Fix Curiosity Nano target voltage
2022-02-18 23:01:49 +01:00
Jörg Wunsch
c2fe68ef7d
Merge pull request #877 from MCUdude/jtag3-verbosity
...
Reduce jtag3 output verbosity
2022-02-18 22:38:40 +01:00
Hans
c345985928
Merge branch 'avrdudes:main' into terminal-write
2022-02-18 22:09:42 +01:00
Joerg Wunsch
c1ec836fbd
PR #882 done
2022-02-18 21:37:27 +01:00
Marius Greuel
59ecd4cc65
Remove libhid support in ser_avrdoper.c in favor of libhidapi
2022-02-18 20:05:52 +01:00
Marius Greuel
e31be88ce0
Add LIB_LIBHID to CMake project to fix MinGW build issue
2022-02-18 19:58:13 +01:00
MCUdude
6e7f38e81f
Properly handle negative numbers
...
Now -3.141592 and -32768 are valid numbers that's stored correctly in memory
2022-02-18 09:58:16 +01:00
MCUdude
10e05eed21
Require single quotes when writing characters
2022-02-18 09:58:16 +01:00
MCUdude
551046052e
Add support for writing floats
2022-02-18 09:58:16 +01:00
MCUdude
2a92b8cce4
Add support for memory "fill" with arbitrary data too
...
If you run the following command: $ write eeprom 0x00 0x10 A B C ...
It will write the following data to EEPROM:
|ABCCCCCCCCCCCCCC|
starting from address 0x00
2022-02-18 09:58:16 +01:00
MCUdude
c007dc7d24
Add support for writing single characters
...
Now this is possible: write eeprom 0x00 a b c d e f 0x80 0x90 ! H E L L O
2022-02-18 09:58:16 +01:00
MCUdude
2589b17640
Add support for memory "fill" mode
...
Syntax: write <memtype> <start addr> <no. byte to write> <byte to write> ...
2022-02-18 09:58:13 +01:00
MCUdude
19e2cae053
Add Curiosity Nano to terminal list
2022-02-14 10:30:21 +01:00
MCUdude
932f68f24c
Set target voltage even thoug not target is detected
2022-02-14 10:28:54 +01:00
MCUdude
b1d34a510c
Reduce jtag3 output verbosity
2022-02-13 19:23:48 +01:00
MCUdude
f2bdcbe977
Add missing USBtiny derived programmers
...
ArduinoISP and the Arduino.org ISP are commercial versions of the USBtiny programmer with different USB VIDs/PIDs
2022-02-11 22:46:11 +01:00
Jörg Wunsch
76a17be4d0
Merge pull request #872 from MCUdude/jtag-string-formatting
...
Tweak programmer info formatting strings
2022-02-11 22:16:39 +01:00
MCUdude
80f1d96e07
Tweak programmer info formatting strings
...
Now all colons are on a straight line, just like #853 did to all jtag3 compatible programmers
2022-02-11 22:10:52 +01:00
Jörg Wunsch
f2c73c2bb8
Merge pull request #853 from MCUdude/jtag3-clock-update
...
Print JTAG3 clocks after configuration + string formatting
2022-02-11 21:44:54 +01:00
MCUdude
b581d14823
String formatting
...
Allign colons, only print clocks that are actually present (>0 kHz)
2022-02-11 21:35:07 +01:00
MCUdude
3fc39c47ad
Print memory name alias together with the canonical name if present
...
in avrdude.conf. An example would be "avrdude: reading fuse0/wdtcfg memory:"
2022-02-11 21:10:05 +01:00
MCUdude
d6ccf7a3ff
Add memory alias names for megaAVR0/tinyAVR0,1,2/AVR-Dx/AVR-Ex fuses
2022-02-10 22:34:33 +01:00
Joerg Wunsch
452f673f38
Back out the last "alias" commit (search for existing alias).
...
It breaks the alias handling completely as the search happens
way too late. So instead, just keep any possibly duplicate
name as it won't be in our way anyway.
2022-02-10 21:26:05 +01:00
Jörg Wunsch
d134dc8fff
Alias keyword ( #868 )
...
Implementation for an "alias" keyword.
By now, only applied inside memory descriptions.
* Make "mem_alias" a separate nonterminal.
The previous implementation attempt caused a syntax error in
yacc code, and separating mem_alias on the same level as
mem_spec appears to be the cleaner solution anyway.
* Maintain real memory aliases.
Instead of duplicating the aliased memory with a new name, maintain a
second list of memory aliases (per device) that contains a pointer to
the memory area it is aliased to. That way, a memory name can be
clearly distinguished between the canonical one and any aliases.
* Check p->mem_alias != NULL before touching it
* Add avr_find_memalias()
This takes a memory region as input, and searches whether an
alias can be found for it.
* We need to add a list structure for the mem_alias list, always.
By that means, mem_alias won't ever be NULL, so no need to check
later.
Also, in avr_dup_part(), duplicate the alias list.
* In a memory alias, actually remember the current name.
* In avr_dup_part(), adjust pointers of aliased memories
While walking the list of memories, for each entry, see if there is an
alias pointing to it. If so, allocate a duplicated one, and fix its
aliased_mem pointer to point to the duplicated memory region instead
of the original one.
* Add avr_locate_mem_noalias()
When looking whether any memory region has already been defined for
the current part while parsing the config file, only non-aliased names
must be considered. Otherwise, a newly defined alias would kick out
the memory definition it is being aliased to.
* When defining a mem_alias, drop any existing one of that name.
* Actually use avr_find_memalias() to find aliases
* Add declaration for avr_find_memalias()
* When defining a memory, also search for an existing alias
If the newly defined name has the same as an existing alias, the alias
can be removed.
Note that we do explicitly *not* remove any memory by the same name of
a later defined alias, as this might invalidate another alias'es
pointer. If someone defines that, the alias name just won't ever be
found by avr_locate_mem().
2022-02-10 20:39:19 +01:00
Jörg Wunsch
ba314f23e9
Merge pull request #863 from MCUdude/jtag3-read-memory-alias
...
Add support for reading from more memory sections
2022-02-10 20:35:06 +01:00
MCUdude
a43f220ef9
Add support for reading from more memory sections
...
It's now possible to read the following memories if present: osccal16, osccal20, tempsense, osc16err, osc20err
2022-02-07 21:51:35 +01:00
Jörg Wunsch
b6a6c681df
Merge pull request #859 from dl8dtl/safemode-removal
...
Remove the "safemode" feature.
2022-02-05 22:03:12 +01:00
MCUdude
625027a807
Add HV UPDI pulse command
2022-02-05 14:44:13 +01:00
Joerg Wunsch
8c6c6a14ec
Remove the "safemode" feature.
...
This feature has been designed with the sometimes quite flakey direct
(parallel or serial port attached) bitbang programming adapters in
mind that were quite common about two decades ago.
With parallel ports vanishing from modern PCs almost completely, and
the advent of various USB-attached low-cost programming devices,
this class of programmers disappeared almost completely.
Furthermore, the fuse combinations that were covered by the feature
are no longer around on all recent AVR devices, so for an ever
increasing number of devices, safemode already became meaningless and
was turned off anyway.
With the prospective version 7.x release, it's a good point in time to
introduce a major change like this one.
2022-01-31 20:44:32 +01:00
Yegor Yefremov
7ed3632902
CMake: use CMAKE_CURRENT_BINARY_DIR to locate avrdude.conf
...
With the split CMakeLists.txt infrastructure avrdude.conf
will be created in the build/src and not build folder. Hence,
fix its location in the install command.
2022-01-31 07:18:59 +01:00
Jörg Wunsch
e0bc6a8bd6
Merge pull request #855 from MCUdude/fix-arduino-retry-attempts
...
Fix Arduino retry attempts
2022-01-30 10:45:24 +01:00
Joerg Wunsch
b84e6862a7
Assign proper type to msg[] in errstr()
...
Obviously, the array ought to be of type char.
Closes Issue #856
2022-01-29 23:32:39 +01:00
MCUdude
7144a9f2ae
Replace incorrect warning message
...
Was mistakenly added in PR #854 .
2022-01-29 20:08:43 +01:00
MCUdude
28be45d8b6
Fix Ardino sync attempts
...
In order for the Arduino bootloader to re-sync with Avrdude, the microcontroller needs to be reset to start the bootloader again.
2022-01-29 19:53:42 +01:00
Jörg Wunsch
4ea4ff7fba
Merge pull request #850 from dl8dtl/usbasp-errstr
...
Fix libusb-1.0 error strings
2022-01-27 23:18:51 +01:00
Jörg Wunsch
7e7c4e630e
Merge pull request #854 from MCUdude/arduino-stk500
...
Set number of connection retry attempts for Arduino/STK500 programmer
2022-01-27 23:17:28 +01:00
Jörg Wunsch
39deb3a600
Merge pull request #852 from yegorich/cmake-split
...
CMake: split configuration in two files
2022-01-27 23:16:37 +01:00
Jörg Wunsch
dd8c3ff830
Merge pull request #843 from mariusgreuel/pr-ftdi-syncbb
...
Fix receive buffer implementation in ftdi_syncbb programmer
2022-01-27 23:15:10 +01:00
MCUdude
ad6eff0f76
Set number of Arduino/STK500 connection retry attempts
...
Using the extended parameter flag -x. Usage: . Default number of attempts is still 10 if not -x flag is specified
2022-01-25 09:40:24 +01:00
MCUdude
286c0f5e2a
Don't print irrelevant information for the Arduino programmer
2022-01-24 22:16:31 +01:00
MCUdude
f6bbaadfa6
Print clock info after the correct clock speeds has been set
...
The "new" clock speed set by the -B flag wasn't reflected in the output log
2022-01-23 22:45:54 +01:00
Yegor Yefremov
acee6afa4e
CMake: split configuration in two files
...
The main CMakeLists.txt file in the project's root directory takes
care of the main project settings like project name and version,
handling the options, finding dependencies, etc.
The src/CMakeLists.txt handles options that are necessary to build
libavrdude library and avrdude binary.
2022-01-23 21:22:07 +01:00
Joerg Wunsch
42a154dddf
Fix libusb-1.0 error strings
...
Previously, all libusb-1.0 error strings have been translated
by libusb_to_errno() into an errno-like integer, only in order
to pass that one straight into strerror().
For unhandled libusb-1.0 error codes, ERANGE was returned, which
is just nonsense ("Result too large", bug #848 ).
Instead, use a single function errstr() now that either can
use strerror() on some well-defined errno-like code, or otherwise
just return a string that mentions the numeric value.
2022-01-21 23:13:56 +01:00
Joerg Wunsch
37b0659951
PR #816 merged
...
Copy over man page additions into texinfo file as well.
2022-01-21 21:56:07 +01:00
Jörg Wunsch
cce7a934d6
Merge pull request #815 from MCUdude/add-memory-sections
...
Add more memory sections to read from
2022-01-21 21:49:29 +01:00
Jörg Wunsch
490558049e
Merge pull request #816 from andrewshadura/usbtiny-spi
...
Add SPI support to USBtiny
2022-01-21 21:40:00 +01:00
Jörg Wunsch
512cce405c
Merge pull request #829 from yegorich/cmake-install-liavrdude
...
CMake: add initial support for installing lib and include files
2022-01-21 21:37:21 +01:00
Hans
d401b2224e
Merge branch 'main' into jtagmkii-retry-attempts
2022-01-21 13:28:20 +01:00
MCUdude
b1cbbfc9f0
Reduce verbosity when setting fuses and uploading programs
...
Affects commands with no -v flag and one -v flag
2022-01-20 09:45:34 +01:00
MCUdude
dbac0ecf8c
Reduce the number of attempts to 10
...
+ print number of attempts
2022-01-19 23:25:47 +01:00
Yegor Yefremov
8be18c788e
CMake: add initial support for installing lib and include files
2022-01-18 14:54:42 +01:00
Marius Greuel
44b0c0715f
Fix receive buffer implementation in ftdi_syncbb programmer
2022-01-17 22:53:58 +01:00
Marius Greuel
7b9f258806
Add a new programmer 'ft232h', similar to ft232r. Improve and correct pinout documentation for um232h and c232hm programmer.
2022-01-17 22:49:03 +01:00
MCUdude
0e451f73cf
Print alias names if present
2022-01-17 21:34:09 +01:00
Jörg Wunsch
54d143d4a5
Merge pull request #836 from MCUdude/add-missing-targets
...
Add missing tinyAVR-2, AVR DD and AVR EA targets
2022-01-16 22:59:41 +01:00
MCUdude
4453d54296
Add memory name aliases for AVR DA/DB
...
+ add sernum and tempsense memory sections to read from
2022-01-15 21:53:58 +01:00
MCUdude
9c08c0c164
Attempt to fix incorrect readsize values
...
Values copied AVR64DD__.atdf and AVR64EA__.atdf. The order atdf files doesn't exist at the moment
2022-01-15 12:47:58 +01:00
MCUdude
628c48aff6
Add AVR EA targets
...
This includes AVR8EA28/32, AVR16EA28/32/48, AVR32EA28/32/48 and AVR64EA28/32/64
2022-01-14 20:30:49 +01:00
MCUdude
8e47768600
Add AVR DD targets
...
This includes AVR16DD14/20/28/32, AVR32DD14/20/28/32 and AVR64DD14/20/28/32
2022-01-14 19:52:22 +01:00
Jörg Wunsch
b99687f33c
Merge pull request #811 from dbuchwald/main
...
Added missing RTS/DTR management feature to serialupdi programmer
2022-01-14 08:24:58 +01:00
Joerg Wunsch
153031d6d6
Copy over description of extended parameters to avrdude.1
2022-01-14 08:18:56 +01:00
MCUdude
310fe49b73
Add missing tinyAVR-2 series targets
...
Includes ATtiny3224, ATtiny3226 and ATtiny3227
2022-01-13 22:29:22 +01:00
Jörg Wunsch
77a5703c5c
Merge pull request #832 from MCUdude/add-even-more-missing-targets
...
Add missing ATmega and ATtiny targets
2022-01-13 21:26:43 +01:00
Joerg Wunsch
822578cffd
Mention PR #809
...
Also fix signatures for ATmega169A, ATmega165 and ATmega165A.
2022-01-13 20:08:40 +01:00
Jörg Wunsch
d1634e4d96
Merge pull request #809 from MCUdude/add-missing-atmega-targets
...
Add missing ATmega__5 and ATmega__9 targets to avrdude.conf
2022-01-13 19:59:42 +01:00
MCUdude
99d8fa5d88
Add missing ATtiny targets
...
+ a little formatting
2022-01-13 19:45:45 +01:00
MCUdude
cc77f89953
Add missing ATmega targets
...
+ a little formatting
2022-01-13 19:45:30 +01:00
MCUdude
7064447378
Add all possible ATmega__5 and ATmega__9 targets
...
This includes the "non-P", A, P and PA suffixes
2022-01-13 18:27:36 +01:00
MCUdude
77ed8b98c5
Add ATmega165A/P targets
2022-01-13 18:27:36 +01:00
MCUdude
32232faa2b
Add missing ATmega targets
2022-01-13 18:27:34 +01:00
Dawid Buchwald
ab57f38387
Replaced tabs by spaces
2022-01-13 10:01:01 +01:00
Dawid Buchwald
90d0fa7346
Merge remote-tracking branch 'avrdudes/main' into main
2022-01-13 09:57:42 +01:00
Marius Greuel
3fbac230b3
Enable printf %n format specifier for MSVC
2022-01-12 20:41:52 +01:00
Joerg Wunsch
65d5cfadc1
Fix for TPI fuse write
...
In get_fuse_bitmask(), ensure the AVR_OP_READ and AVR_OP_WRITE
m->op[] fields are actually filled in, before referencing them.
If they are missing, just return a full byte mask (0xFF).
In avr_write(), for TPI memory, if the write consist of one byte onle
(which is the case for fuse byte writing), resort to avr_write_byte()
instead as it already implements everything needed. This leaves the
avr_write() implementation to handle full paged writes with an even
number of bytes only.
2022-01-11 22:00:22 +01:00
Jörg Wunsch
4e1bbf07ac
Merge pull request #826 from yegorich/cmake-dll
...
CMake: enable dynamic-link library for libavrdude
2022-01-11 15:40:58 +01:00
Yegor Yefremov
e72fa01073
Fix libavrdude library file name
...
CMake adds "lib" prefix to the library name and hence we get the
following name "liblibavrdude". Use set_target_properties to
set the prefix to "".
2022-01-11 14:58:40 +01:00
Jörg Wunsch
2d833e7ceb
Merge pull request #820 from dl8dtl/libavrdude-remove-ac_cfg_h
...
Remove ac_cfg.h from libavrdude.h
2022-01-11 12:44:26 +01:00
Yegor Yefremov
8374564665
CMake: enable dynamic-link library for libavrdude
...
Add on option BUILD_SHARED_LIBS to also build a DLL variant
of the libavrdude library. Turn it off by default to preserve
current behavior.
2022-01-11 12:02:36 +01:00
Joerg Wunsch
c7f7fcda8e
Fix URL for linuxgpio programmer
...
Closes #419
2022-01-10 22:12:36 +01:00
Jörg Wunsch
22e6c4b325
Merge pull request #818 from yegorich/pindefs-fix-warning
...
pindefs: conform to the function declaration
2022-01-10 21:33:04 +01:00
Joerg Wunsch
a3bf6cc4c5
Fix names of Logic Green devices
...
There's some confusion as the datasheet calls the device family
LGT8FX8P but the devices itself are LGT8F88P through LGT8F328P.
Obviously, the "X" is actually a wildcard denoting the flash size.
2022-01-10 21:29:09 +01:00
Jörg Wunsch
0a4193f742
Merge pull request #817 from mariusgreuel/pr-print-expected-part
...
Print expected part
2022-01-10 21:25:39 +01:00
Joerg Wunsch
48bcc269e2
Remove ac_cfg.h from libavrdude.h
2022-01-10 15:12:33 +01:00
Joerg Wunsch
cf35b7fe32
Include ac_cfg.h before libavrdude.h
...
On MSVC, this is required in order to have a definition of
PATH_MAX in place.
2022-01-10 14:51:48 +01:00
Joerg Wunsch
fa8a31740f
Remove ac_cfg.h from libavrdude.h
2022-01-10 14:27:08 +01:00
Dawid Buchwald
92a3eb1080
Merge remote-tracking branch 'avrdudes/main' into main
2022-01-09 23:39:09 +01:00
MCUdude
2fd967866c
Don't display target info that's not present in Avrdude.conf
...
I still have to figure out why all parts are flagged with support for both serial and parallel programming interfaces, even when this is not the case
2022-01-09 18:13:07 +01:00
Yegor Yefremov
1a85e01b63
pindefs: conform to the function declaration
...
The last parameter in the pins_check() routine is declared as
"const bool". Add the missing "const" specifier.
2022-01-09 15:57:45 +01:00
Marius Greuel
f67cb3c224
Preserve the insertion order of programmers and parts when parsing the avrdude.conf file
2022-01-09 11:52:52 +01:00
Marius Greuel
1297098eae
When the specified part has a matching signature, print the specified part instead of one from the parts list
2022-01-09 11:52:47 +01:00
David Fries
40f0fae5a4
Update manpage for USBtiny and direct SPI
2022-01-09 10:57:22 +01:00
David Fries
cffa6c7ca0
Add direct SPI mode to USBtiny
...
It is limited to exactly sending (and receiving) multiples of 4 bytes,
and unlike programming mode where slave select isn't required, SS must
be held low for SPI to work. USBtiny programmers don't usually have
a wire for SS.
2022-01-09 10:57:22 +01:00
David Fries
112b6edd1c
Set back to programming mode on quit
...
Otherwise it can't read the fuses and the safe fuse code complains.
2022-01-09 10:27:36 +01:00
MCUdude
8f16c2a1e4
Add more memory sections to read from
...
+ improve Avrdude output in verbose mode
2022-01-08 23:57:37 +01:00
Joerg Wunsch
a182ef5a26
Notify user if pgm->open() failes
...
This is supposed to fix issue #813
2022-01-08 22:02:25 +01:00
Dawid Buchwald
a8de8b8b8f
Merge branch 'avrdudes:main' into main
2022-01-08 19:44:20 +01:00
Dawid Buchwald
4a26aac5c8
Added RTS/DTR release message
2022-01-08 19:14:33 +01:00
Dawid Buchwald
b70fe0e956
Added RTS/DTR status message
2022-01-08 18:53:46 +01:00
Marius Greuel
d2ae6a824f
Add C code alternative to __builtin_popcount.
2022-01-08 16:13:32 +01:00
Marius Greuel
21d7fc58b6
Add -Wall to CMake compiler options
2022-01-08 16:13:26 +01:00
Dawid Buchwald
1631fc4dd8
Implemented extended parameter for RTS/DTR lines management
2022-01-08 10:04:25 +01:00
Marius Greuel
428f5828b4
Add cross-compile to GitHub build actions
2022-01-07 23:57:54 +01:00
Marius Greuel
b87b527b3a
Add advapi32.lib to MSVC builds
2022-01-07 23:57:54 +01:00
Marius Greuel
80d53839dd
Replace MSVC implementation of __builtin_popcount with C code
2022-01-07 23:57:54 +01:00
Marius Greuel
e1221e22ff
Fix -Wpointer-sign warning in micronucleus.c
2022-01-07 23:48:56 +01:00
Yegor Yefremov
f2d6342d21
buspirate: fix invalidScanfArgType_int warning
...
"%x" specifies an unsigned int, hence change the type of spi_write, spi_read
accordingly.
2022-01-07 19:22:57 +01:00
Jörg Wunsch
6a737a0c13
Merge pull request #798 from mariusgreuel/pr-msvc
...
Add MSVC builds and better WinUSB/FTDI support
2022-01-07 18:30:19 +01:00
Marius Greuel
fc54ef5e59
Clean up legacy code
2022-01-07 17:57:02 +01:00
Marius Greuel
fe6f08d48f
Use alloca for stack based memory allocation
2022-01-07 17:54:36 +01:00
Marius Greuel
d05c2db3fb
Add a missing define to the MSVC compatiblity shim
2022-01-07 17:54:36 +01:00
Marius Greuel
1fb88c3040
Add external libraries to CMake project
2022-01-07 17:54:36 +01:00
Marius Greuel
c035c91db5
Add compatibility shim for MSVC
2022-01-07 17:54:36 +01:00
Jörg Wunsch
a91e389a5e
Merge pull request #807 from yegorich/src-typos
...
Fix typos all over the code
2022-01-07 13:15:14 +01:00
Yegor Yefremov
f29b2a283a
Fix typos all over the code
2022-01-07 11:31:16 +01:00
Jörg Wunsch
539eec79e6
Merge pull request #801 from dl8dtl/conffile-clean-up
...
Conffile clean up
2022-01-07 09:23:17 +01:00
Marius Greuel
f20c4bd9e6
Add support for Teensy bootloader
2022-01-06 23:39:17 +01:00
Jörg Wunsch
118993a584
Merge pull request #803 from MCUdude/add-missing-targets
...
Add missing ATtiny targets to avrdude.conf
2022-01-06 22:51:57 +01:00
Joerg Wunsch
6cfdb3a04b
Remove obsolete file
2022-01-06 22:39:36 +01:00
Yegor Yefremov
d5b2106644
term: fix memleakOnRealloc
...
Assign the newly allocated value to a temporary variable and in the
case where we cannot allocate memory, free the initial pointer.
2022-01-06 11:28:39 +01:00
Jörg Wunsch
97c34f7b26
Merge pull request #792 from yegorich/ftdi-fix-deprecated-call
...
avrftdi: don't use the deprecated ftdi_usb_purge_buffers routine
2022-01-05 17:41:08 +01:00
Joerg Wunsch
1529277477
When finding LIBFTDI, don't clobber LIBS but extend it
2022-01-05 17:26:39 +01:00
MCUdude
50e15a5cf8
Add missing ATtiny targets
...
ATtiny48, 87, 102, 104, 167 and 828
2022-01-05 11:50:31 +01:00
Hans
4b76ccc951
Merge branch 'main' into main
2022-01-05 08:05:38 +01:00
Jörg Wunsch
e27990bd54
Merge pull request #786 from mariusgreuel/pr-micronucleus
...
Add support for Micronucleus bootloader
2022-01-04 23:52:00 +01:00
Jörg Wunsch
b8c825c9af
Merge pull request #795 from MCUdude/add-pkobn_updi-vtarg
...
Add target voltage adjustment for Curiosity Nano boards
2022-01-04 23:50:20 +01:00
Joerg Wunsch
124ef7fe3d
Move the backslash replacement out into a separate function
2022-01-04 23:10:14 +01:00
Joerg Wunsch
6a87a110cc
Move the config file names out as #define into avrdude.h
2022-01-04 23:03:47 +01:00
Joerg Wunsch
374861f62e
Move the system config file search after option processing
...
For one, this allows us to use MSG_DEBUG in order to emit debug
messages (requires -v processing).
As another effect, if the -C conffile option was given, there is no
need at all to run through all the process of looking up a system
config file - it's right there already.
Also, move it after the logfile creation if -l logfile was given, so
the respective debug message can go to the logfile.
2022-01-04 22:45:47 +01:00
Marius Greuel
3747db516a
Add support for Micronucleus bootloader
2022-01-04 18:37:57 +01:00
Joerg Wunsch
863f77d827
Fix a (valid) warning about comparison of char vs. int against EOF
...
Closes PR #796
2022-01-04 13:48:11 +01:00
Joerg Wunsch
f9ea588525
Update the man page to reflect the search order for avrdude.conf
2022-01-03 23:53:51 +01:00
Kristof Mulier
5c896992cd
Find 'avrdude.conf' based on absolute path to executable ( #780 )
...
* Find 'avrdude.conf' based on absolute path to executable
* Update coding style
* Update coding style
* Update 'src/doc/avrdude.texi' to reflect the new search method for 'avrdude.conf'
2022-01-03 23:20:31 +01:00
MCUdude
ecca860972
Add target voltage adjustment for Curiosity Nano boards
...
in Avrdude terminal mode
2022-01-03 18:51:33 +01:00
Yegor Yefremov
dc1fed40bf
avrftdi: don't use the deprecated ftdi_usb_purge_buffers routine
...
Since commit ed46f09c1ccd1351e003a200ba50e3e4778ac478 (Implement
tc[io]flush methods & deprecate broken purge_buffers methods.)
ftdi_usb_purge_buffers() routine is deprecated. Use HAVE_FTDI_TCIOFLUSH
macro to invoke the newly introduced ftdi_tcioflush() routine.
2022-01-03 17:59:05 +01:00
Marius Greuel
4d5af6370d
Change version URL from Savannah to GitHub
2022-01-03 15:13:00 +01:00
Marius Greuel
12a67554d9
Derive program version from last commit
2022-01-03 15:04:25 +01:00
Marius Greuel
e843db55ae
Use yacc/byacc as an alternative to bison
2022-01-03 13:10:54 +01:00
MCUdude
f96b98e9df
Mute "flash and boot" warning if s UPDI programmer is used
...
Currently, no UPDI compatible AVR has a dedicated boot section like the Xmegas do
2022-01-02 19:20:05 +01:00
MCUdude
dcd5374ae9
Print meaningful error if programmer doesn't support target
2022-01-02 12:57:42 +01:00
MCUdude
b9f03b1377
Fix typo in URL
2022-01-02 12:13:15 +01:00
MCUdude
f5bec43812
Add jtag2updi programmer to docs
2022-01-02 12:13:15 +01:00
MCUdude
a2a276a8cc
Add support for UPDI devices though jtag2updi
...
'Hack' borrowed from https://github.com/facchinm/avrdude
2022-01-02 12:13:15 +01:00
MCUdude
71d5dbec48
Add more jtagmkii baud rates
2022-01-02 12:13:13 +01:00
Joerg Wunsch
a6a06f47f6
Prevent `spi' and `pgm' commands from crashing terminal mode
...
These commands are been meaningful only on direct bitbang programming
adapters which implement a pgm->setpin method.
Disable these commands for all other programmers, and issue an
informational message.
This is a partial fix for bug #790 .
2022-01-01 20:58:26 +01:00
Jörg Wunsch
69231d7ad0
Merge pull request #791 from MCUdude/add-programmers
...
Add PicKit4 and SNAP programmers
2022-01-01 20:31:59 +01:00
MCUdude
2623e7a9fa
Update docs to reflect new programmers
2022-01-01 12:06:52 +01:00
MCUdude
302b6eb05a
Add PicKit4 and SNAP ISP and PDI programmer options
2022-01-01 12:04:16 +01:00
Marius Greuel
5246cf1750
Make Windows version resource accept fewer than four version numbers
2021-12-29 22:28:19 +01:00
MCUdude
0a335e2f73
Add jtag2updi programmer
2021-12-29 14:27:51 +01:00
Joerg Wunsch
a369f9d28f
SerialUPDI man page addition
2021-12-28 23:34:34 +01:00
Joerg Wunsch
805ca48ffa
Merge remote-tracking branch 'upstream/main'
2021-12-28 23:24:13 +01:00
Jörg Wunsch
b14459dc04
Merge pull request #782 from dbuchwald/main
...
Documentation for SerialUPDI programmer
2021-12-28 23:23:37 +01:00
Joerg Wunsch
a625db23e0
Merge remote-tracking branch 'upstream/main'
2021-12-28 15:00:53 +01:00
Jörg Wunsch
f531af70db
Merge pull request #783 from mariusgreuel/pr-improve-cmake
...
Improve CMake project
2021-12-28 14:47:58 +01:00
Marius Greuel
55251ea6f5
Fix avr_read() for page reads with page sizes that are not a multiple of the memory size
2021-12-26 16:57:23 +01:00
Marius Greuel
3840468e36
Improve CMake project to filter conditional sections
2021-12-26 16:46:15 +01:00
Marius Greuel
f391b7138b
Improve CMake project for FreeBSD builds
2021-12-26 16:40:28 +01:00
Dawid Buchwald
c48c5135d8
Added SerialUPDI related documentation
2021-12-26 14:34:01 +01:00
Yegor Yefremov
d14bb02dca
Fix memory leaks
...
Free buf in the case of an error. Found via cppcheck.
2021-12-24 10:14:16 +01:00
Yegor Yefremov
f2dc95ea01
Fix typos
2021-12-23 17:17:08 +01:00
Joerg Wunsch
025ebd4ae8
Ah OK, CMAKE doesn't like dashes in the version number.
...
Turn 6.99-20211218 into 6.99.20211218
2021-12-22 23:33:20 +01:00
Joerg Wunsch
47947fb35c
Make version numbers of configure.ac and CMakeLists.txt match
...
We are moving towards AVRDUDE 7.0, so express this by using
6.99 by now.
2021-12-22 23:27:05 +01:00
Marius Greuel
86cef2559f
Add serialupdi to CMakeLists.txt
2021-12-22 22:40:21 +01:00
Jörg Wunsch
1f44ec5e0c
Merge pull request #768 from mariusgreuel/pr-migration2
...
GitHub Migration part 2: start a CMake infrastructure
2021-12-22 22:20:21 +01:00
Dawid Buchwald
c093b21a67
Moved SerialUPDI sources to correct location
2021-12-21 21:45:36 +01:00
Dawid Buchwald
291549d021
Merged AVRDUDES/main into SerialUPDI branch
2021-12-21 21:38:51 +01:00
Marius Greuel
60cb548075
Remove 'windows' folder with giveio.sys driver
2021-12-21 17:45:35 +01:00
Marius Greuel
e4ebfe420c
Add Windows version resource
2021-12-20 17:51:44 +01:00
Marius Greuel
fbdb6a98c0
Add CMake project
2021-12-20 17:50:42 +01:00
Joerg Wunsch
868895e2e0
Make `bootstrap' executable
...
That bit appears to get lost during transition from SVN.
2021-12-19 00:35:52 +01:00
Joerg Wunsch
3a8af359f3
Update toplevel files.
...
Integrate old INSTALL into README.md, both files had a lot
of (potential) overlap.
Add template for new entries in NEWS, targetting next release.
Bump version number to 6.99-20211218
Tentatively, with the Github migration and all ongoing code
restructuring, we aim for a version 7.0 release at some point
in the future.
2021-12-18 22:32:50 +01:00
Marius Greuel
5633a6d88a
Move source files to 'src' folder
2021-12-17 09:17:42 +01:00