Commit Graph

2648 Commits

Author SHA1 Message Date
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
Stefan Rueger
b6cbbea120 Update avrintel.[ch] (#1333)
* Update avrintel.[ch]

These are written by a program that takes AVR-relevant sources such as
io*.h header files and atdf files into account. For this update a set of
decade-old .xml files have been added (useful for discontinued chips
that may still want to be programmed).

* Format avrintel table to max 99 chars

This to be able to extract more easily relevant information from the
source. Now can grep //.Mem avrintel.c to extract a table with memory
sizes, similarly  grep //.Source or grep //.ID. And lines are now less
than 100 characters wide.

* Expand avrintel table to cover configuration bitfields
2023-04-06 21:11:20 +01:00
Stefan Rueger
e6e02aeb51 Merge pull request #1332 from MCUdude/flyswatter2
Add Flyswatter2 programmer
2023-04-06 21:10:44 +01:00
Stefan Rueger
99061a99c8 Merge pull request #1331 from MCUdude/docs-495
Documentation improvements
2023-04-06 21:10:03 +01:00
Hans
f7afbe0303 Add terminal read, write and erase with address intervals (#1320)
and improved documentation
---------

Co-authored-by: Stefan Rueger <stefan.rueger@urclocks.com>
2023-04-06 21:09:13 +01:00
am-ar
ffcdcd89e1 Add CH341A programmer (#1215)
- Add CH341A programmer support 
 - Provide paged access functions so terminal cache works
 - Provide avrdude.conf entry for the ch341a programmer
 - Select ch341a reset line from reset=<n>; property in avrdude.conf.in
 - Update ch341a documentation
---------
Co-authored-by: Alex Manoel Ferreira Silva (Windol) <windol@legytma.com.br>
Co-authored-by: Stefan Rueger <stefan.rueger@urclocks.com>
Tested and reviewed by @MCUdude and @mcuee
2023-04-06 21:06:56 +01:00
MCUdude
515af74201 Attempt to standardize programmer extended parameter styling 2023-03-31 08:30:01 +02:00
MCUdude
3944d5f340 Small grammar fixes 2023-03-31 07:58:44 +02:00
MCUdude
e8a51771d4 Add Flyswatter 2 programmer 2023-03-30 20:12:46 +02:00
MCUdude
e1464e6b4d update terminal mode sck and parms documentation 2023-03-29 22:22:49 +02:00
MCUdude
b7009afe22 Fix formatting 2023-03-29 21:41:15 +02:00
MCUdude
9d7f850e6b Viewing operational parameters in terminal mode is not
limited to the STK500 and STK600 programmers
2023-03-29 21:38:03 +02:00
MCUdude
605e0afa74 Add information about bitclock values stored in programmers 2023-03-29 21:26:30 +02:00
Stefan Rueger
7a8d257676 Update NEWS 2023-03-22 00:15:02 +00:00
Stefan Rueger
421a85adc4 Merge pull request #1323 from stefanrueger/usbtiny
Fix return value in usbtiny_cmd() and wrong error msg
2023-03-21 23:53:16 +00:00
Stefan Rueger
cb2c2e2635 Merge pull request #1318 from stefanrueger/updi-eeprom
Support UPDI EEPROM write
2023-03-21 23:52:53 +00:00
Stefan Rueger
95cdc6caca Merge pull request #1317 from MCUdude/prog-failed-error-msg
Print meaningful error message when using the serialupdi and bitbanged UART ISP programmers
2023-03-21 23:52:30 +00:00
Stefan Rueger
7f8d488088 Merge pull request #1315 from MCUdude/terminal-single-byte-write
Make the start write address optional in terminal mode
2023-03-21 23:51:27 +00:00
Stefan Rueger
a953f3cb17 Merge pull request #1314 from llinjupt/patch_avrispv2
Remove PM_PDI flag for avrispv2 programmer
2023-03-21 23:50:50 +00:00
Stefan Rueger
e5be3ef206 Merge pull request #1310 from stefanrueger/at89s5x
Support AT89S51, AT89S52, AT90S2323 and ATtiny22
2023-03-21 23:50:35 +00:00
Stefan Rueger
31bc1d3da3 Merge pull request #1309 from mariusgreuel/pr-auto-reset
Change Arduino auto-reset via RTS to allow direct RTS-reset connection
2023-03-21 23:50:20 +00:00
Stefan Rueger
4169150284 Merge pull request #1299 from SebKuzminsky/libgpiod
Add optional libgpiod support to linuxgpio
2023-03-21 23:49:59 +00:00
Stefan Rueger
7e94ed4442 Change wiring auto-reset to allow direct DTR/RTS-reset connection 2023-03-19 19:25:55 +00:00
Stefan Rueger
ed6ad1eb55 Fix return value in usbtiny_cmd() and wrong error msg 2023-03-19 13:05:58 +00:00
Stefan Rueger
b7f48a08db Fix typo 2023-03-18 16:37:08 +00:00
Sebastian Kuzminsky
2663fb4d5c avrdude.conf: add connection_type to example linuxgpio programmer 2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
bfb795551c avrdude.conf: move raspberry_pi_gpio reset, add prog_modes, reformat
This makes the raspberry_pi_gpio programmer work on older Pis with the
smaller 26-pin GPIO header.

Updates based on code review by Hans (MCUdude).
2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
5abbefe63b add a new conntype for linuxgpio
This also adds a default linuxgpio port ("gpiochip0"), and adds a
programmer to the avrdude.conf file using linuxgpio from the Raspberry
Pi GPIO port.
2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
3b93eccfb5 gpiod: find gpio lines by port ("gpiochipN") and offset (pin number)
Before this commit, linuxgpio-gpiod used `gpiod_line_find()` to find
gpio lines by name, and would construct the gpio name by appending the
requested gpio number to the string "GPIO".  This had the advantage
that it didn't have to specify the gpiochip to use, since gpio names are
globally unique in gpiod-land.  But it has the severe drawback that only
gpios whose name begins with "GPIO" could be used.

This commit changes that to use `gpiod_line_get()` instead, which takes
a gpiochip name (the avrdude "port") and an "offset" (the pin number on
that chip).  This lets it use any available gpio line, no matter what
name libgpiod assigned it.
2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
cffd3c976a linuxgpio: add optional libgpiod support
The "linuxgpio" backend will now try both the old sysfs and new (since
Linux 4.8) libgpiod interface to access gpio pins.  If libgpiod works
it will use that, if it does not work it will fall back to the old
sysfs interface.

The libgpiod code is compiled in if libgpiod is available at build time,
and compiled out otherwise.
2023-03-16 08:53:02 -06:00
Sebastian Kuzminsky
a7bf91c86d cmake: find & use libgpiod 2023-03-16 08:53:00 -06:00
Stefan Rueger
770c6b3975 Update comments for AT89S51/2 2023-03-16 10:21:13 +00:00
Sebastian Kuzminsky
0ff4192248 linuxgpio: rename all internal functions and variables to include "sysfs"
This commit renames the internal functions and variables of the linuxgpio
pin driver to include "sysfs", to indicate that they're referring to
the older sysfs interface.

The following commits will add libgpiod support to the linuxgpio pin
driver, and autoselect between them.
2023-03-15 18:38:51 -06:00