Commit Graph

2680 Commits

Author SHA1 Message Date
Stefan Rueger
0796820625 Emulate flash NOR-memory for paged write 2023-04-21 01:58:13 +01:00
Stefan Rueger
d764d1b636 Provide a programmer dryrun that emulates programming
There is no connection to a physical programmer or chip needed; this to
test the workings of AVRDUDE and/or check out factory settings of fuses:

$ avrdude -qqp m328p -c dryrun -U lfuse:r:-:h
0x62

$ avrdude -qqp m328p -c dryrun -t
avrdude> read flash 0 32
0000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
0010  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
avrdude> read hfuse
0000  d9                                                |.               |
avrdude> read signature
0000  1e 95 0f                                          |...             |
avrdude> read calibration
0000  55                                                |U               |
avrdude> write cal 0 0x56
avrdude error: cannot write to write-protected memory ATmega328P calibration
avrdude error: (write) error writing 0x56 at 0x00000, rc=-1
                write operation not supported on memory type calibration
2023-04-21 01:31:40 +01:00
Stefan Rueger
b038bd45dc Update NEWS 2023-04-20 18:28:20 +01:00
Stefan Rueger
545df084b5 Merge pull request #1343 from stefanrueger/avrdude.conf
Review avrdude.conf, add variants and reconcile with ATDFs
2023-04-20 18:24:52 +01:00
Stefan Rueger
6d40f95644 Document avrdude.conf's variants string list and -vp? 2023-04-20 17:35:17 +01:00
Stefan Rueger
860ebd711b Refine variants for some parts 2023-04-20 17:34:23 +01:00
Stefan Rueger
619ec2c3a4 Print variants = NULL for -p.../S when needed 2023-04-20 17:33:25 +01:00
Stefan Rueger
26e5a9316b Treat variants as an additive string list and provide '= NULL' assignment 2023-04-19 21:39:27 +01:00
Stefan Rueger
5cedfd713d Add part variants from vendor list and change display style 2023-04-19 21:38:15 +01:00
Stefan Rueger
45a0881110 Reconcile more avrdude.conf's memory readback with ATDFs 2023-04-18 20:13:25 +01:00
Stefan Rueger
2ea302f05c Reconcile more avrdude.conf's memory delay with ATDFs 2023-04-18 20:13:15 +01:00
Stefan Rueger
bd08cc35db Populate initval of fuses and lock bits
... and at the same time remove tcd0cfg fuse from all but 20 modern AVR8X
parts, which were inherited in error according to the ATDF files
2023-04-18 20:03:56 +01:00
Stefan Rueger
7b7a7988ab Improve semi-automated rewrite of avrdude.conf for memory parameters 2023-04-18 20:01:43 +01:00
Stefan Rueger
1f1cbb6af4 Match variants part ids for -p and print variants on -vp? 2023-04-18 02:05:42 +01:00
Stefan Rueger
326ca384d8 Align avrdude.conf variants in columns 2023-04-18 02:03:10 +01:00
Stefan Rueger
c70a3e3549 Update NEWS 2023-04-17 01:39:27 +01:00
Stefan Rueger
436a6f5e8b Update NEWS 2023-04-17 01:36:05 +01:00
Hans
999e412c41 Add -xhelp to programmers that supports extended parameters (#1338) 2023-04-17 01:31:42 +01:00
Stefan Rueger
51703dfc94 Move avrintel into libavrdude (#1341)
And update avrintel.[ch] collating vtab_<mcu> table pointers
2023-04-17 01:28:43 +01:00
Stefan Rueger
e83d4bda40 Populate avrdude.conf's variants from ATDFs 2023-04-17 01:14:24 +01:00
Stefan Rueger
3557ee0e77 Reconcile avrdude.conf's memory readsize with ATDFs 2023-04-17 01:11:09 +01:00
Stefan Rueger
6734ef4e82 Reconcile avrdude.conf's memory readback with ATDFs 2023-04-17 01:11:04 +01:00
Stefan Rueger
2da787c3fa Reconcile avrdude.conf's memory blocksize with ATDFs 2023-04-17 01:10:50 +01:00
Stefan Rueger
b347cb4931 Reconcile avrdude.conf's part togglevtg with ATDFs 2023-04-17 01:09:57 +01:00
Stefan Rueger
84a2701db9 Reconcile avrdude.conf's part resetdelayus with ATDFs 2023-04-17 01:09:34 +01:00
Stefan Rueger
1d2c61637e Reconcile avrdude.conf's part resetdelay with ATDFs 2023-04-17 01:09:30 +01:00
Stefan Rueger
1c042860bd Reconcile avrdude.conf's part resetdelayms with ATDFs 2023-04-17 01:09:25 +01:00
Stefan Rueger
0394068a5d Reconcile avrdude.conf's part programlockpolltimeout with ATDFs 2023-04-17 01:09:16 +01:00
Stefan Rueger
70ad14f950 Reconcile avrdude.conf's part programfusepolltimeout with ATDFs 2023-04-17 01:09:07 +01:00
Stefan Rueger
cdae934704 Reconcile avrdude.conf's part progmodedelay with ATDFs 2023-04-17 01:09:02 +01:00
Stefan Rueger
5f90630e49 Reconcile avrdude.conf's part pp_controlstack with ATDFs 2023-04-17 01:08:53 +01:00
Stefan Rueger
ec8c2d3200 Reconcile avrdude.conf's part poweroffdelay with ATDFs 2023-04-17 01:08:48 +01:00
Stefan Rueger
b5ab2b4df6 Reconcile avrdude.conf's part pollmethod with ATDFs 2023-04-17 01:08:34 +01:00
Stefan Rueger
942380d6c1 Reconcile avrdude.conf's part latchcycles with ATDFs 2023-04-17 01:08:25 +01:00
Stefan Rueger
6d76c21412 Reconcile avrdude.conf's part hvspcmdexedelay with ATDFs 2023-04-17 01:08:16 +01:00
Stefan Rueger
c8208b5a11 Reconcile avrdude.conf's part hvleavestabdelay with ATDFs 2023-04-17 01:08:11 +01:00
Stefan Rueger
071576b82c Reconcile avrdude.conf's part hventerstabdelay with ATDFs 2023-04-17 01:08:06 +01:00
Stefan Rueger
f5a63afc55 Reconcile avrdude.conf's part chiperasepolltimeout with ATDFs 2023-04-17 01:07:48 +01:00
Stefan Rueger
fe8b239a64 Add new component initval to memories in avrdude.conf
... for the factory setting of fuses and lock bits
2023-04-17 01:03:38 +01:00
Stefan Rueger
6c6081ebda Add new component variants to parts in avrdude.conf
This is a list of strings each signifying an alternative part name and some of
the part's properties, eg:
  "ATmega328P-AU: 'TQFP32', Fmax=20000000 Hz, temp=[-40 C, 85 C], Vcc=[1.8 V, 5.5 V]"
2023-04-17 00:32:31 +01:00
Stefan Rueger
22bed55ebe Reconcile avrdude.conf's ocdrev with ATDFs 2023-04-16 21:34:46 +01:00
Stefan Rueger
52780523ba Add MCU registers needed for debugWIRE/JTAG 2023-04-16 18:59:24 +01:00
Stefan Rueger
b4e0fa8c64 Add flash_instr and eeprom_instr to 5 parts
Needed for debugWIRE
  - AT90USB162
  - AT90USB82
  - ATmega16U2
  - ATmega32U2
  - ATmega8U2
2023-04-16 17:49:08 +01:00
Stefan Rueger
b759dad482 Add pagel/bs2 pins to 23 parts
This vital info for parallel programming was missing on 23 parts:
  - ATmega103
  - ATmega169A
  - ATmega169
  - ATmega169PA
  - ATmega169P
  - ATmega3290A
  - ATmega3290
  - ATmega3290PA
  - ATmega3290P
  - ATmega329A
  - ATmega329
  - ATmega329PA
  - ATmega329P
  - ATmega6490A
  - ATmega6490
  - ATmega6490P
  - ATmega649A
  - ATmega649
  - ATmega649P
  - ATmega8515
  - ATtiny167
  - ATtiny43U
  - ATtiny87
2023-04-16 17:46:09 +01:00
Stefan Rueger
f5b0f83d2d Add boot section size to modern AVR8X parts 2023-04-16 17:34:17 +01:00
Stefan Rueger
d39c738542 Update avrdude.conf ATmega165 entry
- Corrects signature to
     signature              = 0x1e 0x94 0x07;
     Source: https://github.com/thegaragelab/arduino/blob/master/USB_Programmer/progisp172/eng/ATmega165.xml

 - Lengthens EEPROM write delay to
     min_write_delay    = 9000;
     Source: Application note AVR513 https://ww1.microchip.com/downloads/en/Appnotes/doc8064.pdf
2023-04-16 16:17:47 +01:00
Stefan Rueger
6e88b980e7 Add XMEGA-E fuse for fault detection action on Px0..5 2023-04-16 16:10:29 +01:00
Stefan Rueger
62d2949405 Add 24 parts to avrdude.conf
- ATmega16M1
 - ATmega32C1
 - ATmega64C1
 - ATA5505
 - ATA6612C
 - ATA6613C
 - ATA6614Q
 - ATA6616C
 - ATA6617C
 - ATA664251
 - ATmega16HVA
 - ATmega8HVA
 - ATmega16HVB
 - ATmega16HVBrevB
 - ATmega32HVB
 - ATmega32HVBrevB
 - ATmega64HVE2
 - ATmega32HVE2
 - AT90PWM1
 - AT90PWM161
 - AT90PWM81
 - ATxmega32C3
 - ATxmega32D3
 - ATtiny416auto

And modify
 - ATmega32M1
 - ATmega64M1

Almost entirely automatically from ATDF sheets
2023-04-16 14:02:12 +01:00
Stefan Rueger
6893586d53 Improve avrdude.conf in-situ documentation 2023-04-16 13:58:58 +01:00
Stefan Rueger
c1e725b53d Update NEWS 2023-04-06 21:16:59 +01:00