MCUdude
6385fb09f7
Add missing stk500v2 status constants
2022-11-27 22:41:29 +01:00
Stefan Rueger
bb14386f63
Merge pull request #1199 from stefanrueger/userrow
...
Fix userrow size and page_size for ATtiny3216 and ATtiny3217
2022-11-27 19:05:25 +00:00
Stefan Rueger
58e2bca42c
Update n_interrupts in avrdude.conf.in and introduce eind
2022-11-27 16:56:49 +00:00
Stefan Rueger
5a0975aee7
Allow / as path deliminator in Windows for urclock metadata
2022-11-27 14:44:46 +00:00
Stefan Rueger
0c96f5d6dc
Calibrate urboot's -xdelay for windows
2022-11-27 13:57:37 +00:00
Stefan Rueger
ba9d24fdd2
Fix userrow size and page_size for ATtiny3216 and ATtiny3217
2022-11-26 17:37:51 +00:00
Stefan Rueger
0e0a0ba0eb
Get boot section info from avrdude.conf and not from avrintel.c
2022-11-26 13:53:46 +00:00
Stefan Rueger
d774e87a59
Update documentation re the urclock programmer
2022-11-26 13:23:25 +00:00
Stefan Rueger
3a5f3735ba
Adapt urclock_getsync() to consider legacy bootloaders
2022-11-26 12:54:42 +00:00
Stefan Rueger
1cb169ec93
Establish avr_*timestamp() routines for timing
2022-11-25 22:09:02 +00:00
Stefan Rueger
231e88aaf9
Add autobaud_sync to avrdude.conf part description
2022-11-25 19:20:45 +00:00
Stefan Rueger
bbc52499e7
Merge branch 'main' into exitrc
2022-11-25 17:43:13 +00:00
Stefan Rueger
2cecf66a61
Merge pull request #1191 from stefanrueger/jtagice_mkii
...
Fix parameters for JTAGICE mkII and devices with bootloaders
2022-11-25 17:40:54 +00:00
Stefan Rueger
10ca3661bb
Merge pull request #1190 from stefanrueger/bootloader-hash
...
Provide bootloader-hash tool
2022-11-25 17:40:36 +00:00
Stefan Rueger
664b1aa1f6
Merge pull request #1189 from stefanrueger/culture
...
Deprecate mosi/miso in favour of sdo/sdi
2022-11-25 17:40:25 +00:00
Stefan Rueger
607f0c48be
Merge pull request #1188 from stefanrueger/not-all-is-nor-memory
...
Pad pages with input file contents before avr_write()
2022-11-25 17:40:11 +00:00
Stefan Rueger
289ca4f34c
Add optiboot_lgt8f328p.hex bootloader hashes to urclock.c
2022-11-25 17:26:17 +00:00
Stefan Rueger
7269370bf6
Change notices about libreadline presence in urclock.c
2022-11-25 13:58:11 +00:00
Stefan Rueger
e6f7e158cd
Change periphery to peripheral; document deprecated miso/mosi are now sdi/sdo
2022-11-24 13:18:06 +00:00
Stefan Rueger
2b3534ea8a
Remove tabs and reformat
2022-11-24 12:36:49 +00:00
Stefan Rueger
8e79b7dc52
Fix error detection for reading a page to pad unset bytes
2022-11-24 12:16:43 +00:00
Stefan Rueger
68c6ffd7fc
Silence compiler warnings, change comments, remove typos
2022-11-24 12:14:54 +00:00
Stefan Rueger
c3413ff0f4
Fix shell exit value when chip erase is delayed to next flash write
2022-11-23 19:53:55 +00:00
Jan Egil Ruud
f9a2bd0327
Got added support for reading and writing fuses, and chiperase.
2022-11-23 14:25:14 +01:00
Stefan Rueger
19cd7d8c69
Remove non-stk500v1 bootloaders from urclock hash table
2022-11-22 22:38:43 +00:00
Stefan Rueger
b925b5113d
Silence compiler warnings
2022-11-22 21:49:26 +00:00
Stefan Rueger
25ca91371d
Pad pages with input file contents before avr_write()
2022-11-22 21:32:42 +00:00
Stefan Rueger
33dd231e4c
Silence some compiler warnings
2022-11-22 21:17:39 +00:00
Stefan Rueger
8c73609c0e
Fix parameters for JTAGICE mkII and devices with bootloaders
2022-11-22 21:02:25 +00:00
Stefan Rueger
796e97ee3a
Update avrdude.conf.in wrt n_boot_sections, boot_section_size, eecr, spmcr
2022-11-22 20:49:12 +00:00
Stefan Rueger
9599bf2243
Add n_boot_sections and boot_section_size to part definitions
2022-11-22 20:44:12 +00:00
Stefan Rueger
7d5ab433ca
Replace gratuitous references to slave and master with technical terms
2022-11-22 17:11:33 +00:00
Stefan Rueger
adc333ea54
Deprecate mosi/miso in favour of sdo/sdi
...
See https://www.oshwa.org/a-resolution-to-redefine-spi-signal-names/
2022-11-22 17:04:05 +00:00
Jan Egil Ruud
5dc2545716
Cleaned and improved TPI send and receive.
2022-11-22 14:05:01 +01:00
Jan Egil Ruud
3afdd55089
Get rid of TPI magic numbers.
2022-11-22 13:23:57 +01:00
Jan Egil Ruud
32a6ca39e4
Cleaned up whitespace in jtag3.c so it at least is consistent within the file.
2022-11-22 13:05:14 +01:00
Stefan Rueger
883d9494c8
Silence compiler warnings for urclock.c
2022-11-22 01:39:27 +00:00
Stefan Rueger
ef824d4d89
Merge pull request #1184 from mcuee/cmake_print_readline
...
Print HAVE_LIBREADLINE status
2022-11-22 01:18:56 +00:00
Stefan Rueger
9c30ccc6ea
Merge pull request #1175 from stefanrueger/terminal
...
Make terminal write's automatic number width less surprising
2022-11-22 01:18:30 +00:00
Stefan Rueger
3400527c7d
Merge pull request #1174 from stefanrueger/default_programmer
...
Ensure default_programmer from config files is used
2022-11-22 01:17:55 +00:00
Cristiano De Alti
c3acdccbe5
Fix JTAGICE mkII by removing the initialize call after CMD_CHIP_ERASE_ISP ( #1172 )
...
- The extra call to initialize() sends CMD_ENTER_PROGMODE_ISP causing a flash
verification mismatch
2022-11-22 01:17:19 +00:00
Stefan Rueger
02e02be6f9
Merge pull request #1171 from stefanrueger/urclock
...
Provide Urclock programmer
2022-11-22 01:13:57 +00:00
Stefan Rueger
2063671a02
Merge pull request #1147 from mcuee/Xplained_Pro_PDI
...
Add xplainedpro_pdi programmer
2022-11-22 01:13:23 +00:00
Stefan Rueger
f9aea24fba
Reduce drain timeout value for Windows in urclock.c
2022-11-22 00:49:34 +00:00
Stefan Rueger
2e398916a7
Hash known bootloaders for urclock; they don't need -xbootsize=....
2022-11-22 00:47:26 +00:00
Jörg Wunsch
3892c5a459
Merge pull request #1181 from dl8dtl/add_em_evr_for_openbsd
...
Add fallback for EM_AVR
2022-11-21 23:31:14 +01:00
Jan Egil Ruud
10ccf0f515
Initial commit for jtag3 TPI support. Can read signature on ATtiny104 XPlained mini, but nothing else yet.
2022-11-21 21:18:13 +01:00
Joerg Wunsch
f90e36f231
Add a workaround for issue #1173
...
The readline compat layer for libedit which otherwise provides native
readline functionality in NetBSD and MacOS appears to have a bug that
causes subsequent prompts to be delayed until another line is being
processed.
Re-installing the callback over and over again works around that, and
does not seem to harm with GNU libreadline.
2022-11-20 22:52:41 +01:00
Stefan Rueger
7f4474f049
Delete previous metadata when writing new file to flash in urclock
2022-11-20 13:02:51 +00:00
Stefan Rueger
c0e4dd494e
Use file basename in -c urclock metadata under WIN32
2022-11-20 01:48:39 +00:00
mcuee
df4dccabfc
Update configure.ac to print libreadline status
2022-11-20 09:46:07 +08:00
Stefan Rueger
53de22cb83
Update avrintel.c for LGT8F(8|16|32)8P parts
2022-11-20 01:12:14 +00:00
Stefan Rueger
f276d325ec
Handle verification errors in read only memory areas gracefully
2022-11-20 00:27:49 +00:00
Stefan Rueger
ee25a62df6
Emulate chip erase in terminal when pgm->chip_erase() soft fails
2022-11-19 23:09:18 +00:00
Stefan Rueger
d65a9a3cee
Adapt -c urclock to new reset vector protection in urboot v7.7
2022-11-19 19:39:39 +00:00
Joerg Wunsch
77ad26ddf4
Replace the hint to AUTHORS by an URL
...
Suggested by: Hans
2022-11-18 21:24:10 +01:00
Joerg Wunsch
efad24e3de
Rewrite authors/copyrights
2022-11-18 10:31:45 +01:00
Joerg Wunsch
9df522a219
Add <sys/select.h> where appropriate
...
Under Posix systems, this header is documented to be required
when using select().
2022-11-17 14:14:22 +01:00
Joerg Wunsch
01be288b18
Add fallback for EM_AVR
...
OpenBSD still lacks this definition, so provide our own for
them.
2022-11-16 21:21:51 +01:00
Stefan Rueger
a3eeedd176
Silence some compiler warnings
2022-11-16 02:32:32 +00:00
Stefan Rueger
2abb666bd2
Prepare urclock for autobaud synchronisation
2022-11-16 02:08:13 +00:00
Stefan Rueger
d901e0a768
Update urbootPutVersion() to reflect urboot v7.7 changes
2022-11-16 00:42:36 +00:00
Stefan Rueger
82b9491cbd
Harden urclock against bootloader bricking
...
- Detect write restrictions with new pgm->readonly(..., addr)
- Check in byte-wise cached write whether mem/addr allows write
- Emulated chip erase tells user CE is delayed until first -U
- After bootloader CE urclock_chip_erase will init reset vector
- Low level paged write @ 0 unconditionally protects reset vector
- Low level paged read @ 0 checks and repairs reset vector
2022-11-16 00:08:46 +00:00
Stefan Rueger
afc2f7cf0c
Hint at option -xdelay=... for urclock programmer not responding messages
2022-11-12 13:47:48 +00:00
Stefan Rueger
ff9c8bbe46
Silence min()/max() compiler warnings, fix urclock.c typo etc
2022-11-12 13:32:53 +00:00
Stefan Rueger
e2b69dec75
Remove MacOS compiler warnings for urclock.c
2022-11-12 01:12:31 +00:00
Stefan Rueger
b178deef5f
Handle n_page_erase in urclock for parts t441, t841 and t1634
2022-11-11 01:33:42 +00:00
Stefan Rueger
6e3a99be87
Add write statistics for patched flash input files at notice2 level
2022-11-11 01:27:55 +00:00
Stefan Rueger
22bd977365
Indent erasing chip message in main
2022-11-10 23:18:43 +00:00
Stefan Rueger
c67bfe39a3
Show input file staistics before patching in update.c
2022-11-10 23:00:18 +00:00
Stefan Rueger
321bddbf7b
Rename urclock's option forcetrim to restore
2022-11-10 22:35:40 +00:00
Stefan Rueger
2434c3f7f6
Make terminal write's automatic number width less surprising
2022-11-10 19:38:21 +00:00
Stefan Rueger
4c4952d4f6
Ensure default_programmer from config files is used
2022-11-10 18:20:13 +00:00
Stefan Rueger
afa408e2c6
Make urclock.c iron out a bug in some bootloaders
2022-11-09 21:00:16 +00:00
Stefan Rueger
d5d0b940cc
Harden vector bootloaders more against reset overwrites
2022-11-09 19:28:29 +00:00
Stefan Rueger
84a3e2cc2b
Fix avr.c comment
2022-11-09 19:27:34 +00:00
Stefan Rueger
c7ba53bca0
Harden urclock against terminal time outs and vector overwrites
2022-11-09 16:16:59 +00:00
Stefan Rueger
ea65918dca
Omit verify after write failure in term.c
2022-11-09 15:43:57 +00:00
Stefan Rueger
20b86fb739
Warn in uclock when bootloader cannot read/write memories
2022-11-08 20:16:05 +00:00
Stefan Rueger
6a6d333849
Update urclock documentation
2022-11-08 15:18:30 +00:00
Stefan Rueger
cf3c81f714
Update urclock's -x parameters
2022-11-07 18:01:23 +00:00
Stefan Rueger
715db4c690
Make -A default for urclock programmer
2022-11-07 02:43:34 +00:00
Stefan Rueger
21d93ec8cb
Update urclock programmer
2022-11-07 01:26:47 +00:00
Stefan Rueger
e6c26d8db4
Provide urclock programmer
2022-11-06 01:29:07 +00:00
Stefan Rueger
d211c4e5f5
Merge pull request #1164 from MCUdude/hvupdi-type2-fix
...
Fix Type 2 HV UPDI
2022-11-01 18:17:52 +00:00
Stefan Rueger
02fe08aed2
Open programmer before allocating part
...
So any programmer that knows exactly which part it is connected to
can set the -p part option should the user not have done so.
Also no longer exits main without closing open programmer.
2022-11-01 18:12:00 +00:00
MCUdude
577ee72db7
Fix Type 2 HV UPDI
...
Used on AVR-DD and AVR-Ex targets
2022-10-31 11:06:14 +01:00
Stefan Rueger
50046da923
Merge pull request #1151 from dbuchwald/serialupdi_page_erase
...
Implementation of SerialUPDI page erase operation
2022-10-29 11:02:17 +01:00
Stefan Rueger
d87eb14dc9
Make -p variable partdesc global
2022-10-29 10:55:58 +01:00
Stefan Rueger
87df3216cb
Make fileio() and do_op() arguments const where possible
2022-10-29 10:48:47 +01:00
Stefan Rueger
a1018999c4
Correct plural for message writing %d bytes in term.c
2022-10-26 08:42:03 +01:00
Stefan Rueger
418cf08e84
Change avrdude.conf.in comment on location of per-user config file
2022-10-25 18:13:28 +01:00
mcuee
f2a413d2dc
Merge branch 'avrdudes:main' into Xplained_Pro_PDI
2022-10-24 07:57:55 +08:00
Stefan Rueger
3769332afd
Merge pull request #1142 from MCUdude/stk600-pdi
...
STK600 supports programming using PDI
2022-10-23 23:10:10 +01:00
Stefan Rueger
ae5b460859
Merge pull request #1141 from stefanrueger/paged
...
Always use paged access for programmers that serve bootloaders
2022-10-23 22:33:31 +01:00
Stefan Rueger
baaad71aa5
Support optiboot, optiboot_dx and optiboot_x bootloaders for -c arduino ( #1140 )
...
* If bootloaders are served, send word addresses for classic parts and
byte addresses for newer parts, eg, UPDI and PDI
* Load ext addr for stk500v1 bootloaders after grazing 64k boundaries
* Fix bootloader stk500v1 EEPROM r/w for classic parts with page size 1
2022-10-23 22:32:29 +01:00
Stefan Rueger
16922842be
Improve -B bitclock documentation
2022-10-23 22:26:07 +01:00
Stefan Rueger
2c7083f001
Merge pull request #1139 from steelman/isp-clock-error-message
...
Mention -B in the error message and document -F better
2022-10-23 21:59:21 +01:00
Stefan Rueger
4f6bab6303
Merge pull request #1138 from MCUdude/pic-detect-mode-cherry
...
Detect PICkit4 and SNAP in PIC mode
2022-10-23 21:57:26 +01:00
Stefan Rueger
5b008a04cf
Revamp terminal output: progress bar, callback and stdout/stderr ( #1132 )
...
* Print parms output to stdout
* Flush terminal writes and other minor changes
* Prepare terminal for periodic calls to programmer to reset bootloader WDT
* Only show progress reports for memories > 32 bytes or on -vv
* Freeze progress bar on serious error
* Allow cached r/w byte routines to be used in pgm->read_byte and pgm->write_byte
2022-10-23 21:56:45 +01:00
steelman
34fa2faba5
Look for ~/.config/avrdude/avrduce.rc configuration file ( #1131 )
...
* Look for ~/.config/avrdude/config configuration file
Traditionally per-user configuration files have been placed
in user's home directory with their names beginnig with a dot
to hide them from some tools like ls(1). However, the number
of programs following this convention have grown over time
to the point where the number of hidden files becomes inconvenient to
some users. For this reason the XDG Base Directory Specification[1]
specifies an alternate place to store configuration files under
~/.config directory.
This patch enables avrdude to look for ~/.config/avrdude/config
configuration file, if ~/.avrduderc doesn't exist.
[1] https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.8.html
* Safely concatenate directories and configurations files and minor changes in docs
* Make stats variable available for WIN32 again in main.c
* Utilise full usr_config[] array space
* Check for xdg-style avrdude.rc file first before fallback ~/.avrduderc
Co-authored-by: Stefan Rueger <stefan.rueger@urclocks.com>
2022-10-23 21:52:54 +01:00
Dawid Buchwald
fa1c081a94
Implemented page erase operation for SerialUPDI
2022-10-23 15:06:06 +02:00
mcuee
4a5efa7635
Add xplainedpro_pdi programmer
...
This will fix https://github.com/avrdudes/avrdude/issues/1143 .
Xplained Pro should be able to support PDI mode as per the documentation.
Reference: take note that the following document does not cover UPDI support.
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42096-Microcontrollers-Embedded-Debugger_User-Guide.pdf
Reference discussion:
* https://github.com/avrdudes/avrdude/pull/1139#issuecomment-1286760773
* https://github.com/avrdudes/avrdude/discussions/1019#discussioncomment-3569440
2022-10-23 14:24:57 +08:00
MCUdude
992e9666a3
STK600 supports programming using PDI
2022-10-22 12:51:03 +02:00
Łukasz Stelmach
c890ff90eb
Mention -B in the error message
...
One of possible problems of failed initialization is too hight frequency
of ISP clock. Mention using -B option as a possible solution.
Closes #1133
2022-10-21 02:33:34 +02:00
Stefan Rueger
b9396bcd02
Always use paged access for programmers that serve bootloaders
2022-10-21 00:56:43 +01:00
Łukasz Stelmach
9977f1ed12
Document meaning of -F during initialization
2022-10-20 19:52:35 +02:00
MCUdude
72da5c73db
Fix formatting and replace tabs with spaces
2022-10-20 12:39:11 +02:00
MCUdude
867d83c215
Print error message if no HID device is connected when using hidapi
2022-10-20 12:27:59 +02:00
MCUdude
14446950df
Check for PICkit4 or SNAP in PIC mode
2022-10-20 12:19:10 +02:00
MCUdude
b083416e3b
Let Avrdude use the valid SNAP USB PID first
2022-10-20 12:19:10 +02:00
MCUdude
13817459e1
Add missing USB VID/PIDs
2022-10-20 12:19:10 +02:00
MCUdude
c999083b8f
Change message type from error to warning and add additional USB info
2022-10-20 12:18:42 +02:00
Stefan Rueger
b864d7e73a
Update NEWS and resolve minor residual messaging issues
2022-10-17 16:39:45 +01:00
Stefan Rueger
e172877724
Review and overhaul AVRDUDE's messaging system ( #1126 )
...
* Change avrdude_message(MSG_XYZ, ...) to msg_xyz(...)
* Define and use pmsg_xyz(...) instead of msg_xyz("%s: ...", progname, ...)
* Review and change avrdude_message() levels
- Introduce new levels warning, error and ext_error
- Distribute info level to info, warning, error, ext_error
- Assign levels (more) consistently
- Unify grammar, punctuation and style of messages
* Use imsg_xyz() to print indented messages
* Show function name in errors and warnings on -v
* Reduce effective verbosity level by number of -q above one
2022-10-17 15:44:55 +01:00
Stefan Rueger
2503ae03ce
Merge pull request #1125 from MCUdude/updi-lock-fix
...
Fix UPDI erase when target is locked
2022-10-17 14:17:32 +01:00
Stefan Rueger
ff1d26ad18
Merge pull request #1122 from mariusgreuel/pr-teensy-warning
...
Suppress Teensy USB communication error message on reboot
2022-10-17 14:17:07 +01:00
Stefan Rueger
8e879cfae6
Merge pull request #1121 from stefanrueger/avr_cache
...
Use byte-wise read/write when page size is 1 in terminal cache
2022-10-17 14:16:43 +01:00
Dan Applegate
946b701b08
Fix writing of last word on DWORD TPI parts ( #1115 )
...
* Fix writing of last word on DWORD TPI parts
* Add n_word_writes AVRMEM config option
* TPI word chunk mode in avr_write_mem
* Simplify addition of n_words_write mem component to grammar
Co-authored-by: Stefan Rueger <stefan.rueger@urclocks.com>
2022-10-17 14:15:50 +01:00
Stefan Rueger
08f4f6c63f
Merge pull request #1112 from MCUdude/jtag3-page-erase-updi
...
Fix jtag3_page_erase for targets with UPDI
2022-10-17 14:12:17 +01:00
MCUdude
bfec594ffd
Fix issue where locked UPDI devices couldn't be erased
...
Resolves issue #1124
2022-10-13 14:14:46 +02:00
Stefan Rueger
714c2fbf95
Rename variable for clarity in avrcache.c
2022-10-12 15:55:22 +01:00
Stefan Rueger
8a3864d263
Fall back on bytewise r/w if paged access fails for avr cache
2022-10-12 15:53:54 +01:00
Marius Greuel
86155bdf66
Suppress Teensy USB communication error message on reboot
2022-10-11 18:23:03 +02:00
Stefan Rueger
48919f59b3
Use byte-wise read/write when page size is 1 in terminal cache
2022-10-11 15:31:18 +01:00
Stefan Rueger
e14e5d2f74
Update NEWS
2022-10-11 14:49:44 +01:00
Stefan Rueger
22362e9f08
Merge branch 'main' into pr-pointer-truncation
2022-10-11 14:43:19 +01:00
Stefan Rueger
d3a3257cf7
Improve help message in terminal and provide new command pgerase ( #1113 )
2022-10-11 14:40:37 +01:00
Marius Greuel
9377acee0e
Fix pointer truncation for Windows x64
2022-10-08 19:02:03 +02:00
MCUdude
1ca1be0447
Use avr_mem_is_flash_type() instead of checking m->desc directly
2022-10-06 20:59:32 +02:00
MCUdude
d5e4ed9f89
Fix jtag3_page_erase for targets with UPDI
...
Very handy to have now that #1106 is merged
2022-10-05 23:52:05 +02:00
Stefan Rueger
cd79f81747
Merge pull request #1109 from MCUdude/jtag-mki-targets
...
Add missing AVR variants the original JTAG ICE supports
2022-10-05 22:21:42 +01:00
Stefan Rueger
f2fb3b45b4
Merge pull request #1108 from MCUdude/avr109-xmega
...
AVR109: support for prodsig read and usersig read/write
2022-10-05 22:20:16 +01:00
Stefan Rueger
d74b17b9b4
Provide cached byte-wise read/write API ( #1106 )
...
* Provide cached byte-wise read/write API
int avr_read_byte_cached(const PROGRAMMER *pgm, const AVRPART *p, const
AVRMEM *mem, unsigned long addr, unsigned char *value);
int avr_write_byte_cached(const PROGRAMMER *pgm, const AVRPART *p, const
AVRMEM *mem, unsigned long addr, unsigned char data);
int avr_flush_cache(const PROGRAMMER *pgm, const AVRPART *p);
int avr_chip_erase_cached(const PROGRAMMER *pgm, const AVRPART *p);
int avr_reset_cache(const PROGRAMMER *pgm, const AVRPART *p);
avr_read_byte_cached() and avr_write_byte_cached() use a cache if paged
routines are available and if the device memory is EEPROM or flash,
otherwise they fall back to pgm->read_byte() and pgm->write_byte(),
respectively. Byte-wise cached read always gets its data from the cache,
possibly after reading a page from the device memory. Byte-wise cached
write with an address in memory range only ever modifies the cache. Any
modifications are written to the device after calling avr_flush_cache() or
when attempting to read or write from a location outside the address range
of the device memory.
avr_flush_cache() synchronises pending writes to EEPROM and flash with the
device. With some programmer and part combinations, flash (and sometimes
EEPROM, too) looks like a NOR memory, ie, one can only write 0 bits, not 1
bits. When this is detected, either page erase is deployed (eg, with parts
that have PDI/UPDI interfaces), or if that is not available, both EEPROM
and flash caches are fully read in, a pgm->chip_erase() command is issued
and both EEPROM and flash are written back to the device. Hence, it can
take minutes to ensure that a single previously cleared bit is set and,
therefore, this routine should be called sparingly.
avr_chip_erase_cached() erases the chip and discards pending writes() to
flash or EEPROM. It presets the flash cache to all 0xff alleviating the
need to read from the device flash. However, if the programmer serves
bootloaders (pgm->prog_modes & PM_SPM) then the flash cache is reset
instead, necessitating flash memory be fetched from the device on first
read; the reason for this is that bootloaders emulate chip erase and they
won't overwrite themselves (some bootloaders, eg, optiboot ignore chip
erase commands altogether) making it truly unknowable what the flash
contents on device is after a chip erase.
For EEPROM avr_chip_erase_cached() concludes that it has been deleted if a
previously cached EEPROM page that contained cleared bits now no longer
has these clear bits on the device. Only with this evidence is the EEPROM
cache preset to all 0xff otherwise the cache discards all pending writes
to EEPROM and is left unchanged otherwise.
Finally, avr_reset_cache() resets the cache without synchronising pending
writes() to the device.
2022-10-05 22:16:15 +01:00
Stefan Rueger
c4cb242823
Merge pull request #1105 from MCUdude/power-debugger-features
...
Support for Power Debugger analog readings in terminal mode
2022-10-05 22:03:52 +01:00
Stefan Rueger
bc9137854b
Merge pull request #1103 from s-wakaba/sunxi_linuxspi_support
...
saving errno of ioctl() call in a temporary variable to prevent overwrite
2022-10-05 22:02:42 +01:00
Stefan Rueger
83232bc7e1
Merge pull request #1102 from MCUdude/flip2-reset
...
Add support for Flip 2 reset on exit
2022-10-05 22:02:22 +01:00
Hans
da275f8ef2
Adjust prog_modes on a few chip variants
...
Now variants of chips that the JTAG ICE supports will not cause a warning when used with the original JTAG ICE mkI.
Also, The ATmega165 isn't officially supported by the ICE mkI, so this should be properly tested with the ICE mkI first.
2022-10-05 19:24:40 +02:00
MCUdude
31c3db2617
Add support for prodsig read and usersig read/write
...
Currently only supported by the Xboot bootloader
2022-10-02 22:36:43 +02:00
MCUdude
ffabab1fb2
Improve pgm->id detection handling
2022-10-02 11:48:30 +02:00
MCUdude
419fd35b72
Mention linuxspi and flip2 programmers
...
in the -E exitspecs section. linuxspi and flip2 supports "-E reset" and "-E noreset".
2022-10-01 22:12:37 +02:00
MCUdude
e05aa16510
use pgm->id to identify Power Debugger instead of USB PID
2022-10-01 21:17:55 +02:00
MCUdude
e39133daf5
Initial support for Power Debugger analog reading
...
Voltage and current though channel A and B
2022-10-01 21:17:01 +02:00
MCUdude
01ccab08b4
Improve exitspecs (-E) parsing
...
Use the same implementation as linuxspi does, instead of the one suggested in #733
2022-09-30 20:16:16 +02:00
MCUdude
521155c1c2
Improve punctuation in error message
2022-09-30 20:03:04 +02:00
MCUdude
e1a317c670
Remove Flip 2 stub functions
...
Used when compiling without libusb. Print reasonable error instead
2022-09-27 19:35:25 +02:00
Shunichi Wakabayashi
2a64e78c7b
bugfix: saving errno of ioctl() call in a temporary variable to prevent overwriting by following avrdude_message() call
2022-09-25 16:46:10 +09:00
MCUdude
80ca8a644e
Add support for Flip 2 reset on exit
...
This makes it possible for the application to start immedeatly after the program has been loaded.
Simply use '-E reset' or '-E noreset'. Default is no reset.
Closes #733
2022-09-24 22:48:14 +02:00
MCUdude
62aa480876
Fix avr109 extended address
...
Closes #360 #454
2022-09-24 20:42:42 +02:00
Stefan Rueger
9a59941dfe
Merge pull request #1100 from s-wakaba/sunxi_linuxspi_support
...
add extended parameter "disable_no_sc" for linuxspi programmer
2022-09-24 13:23:38 +01:00