12012-12-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 2 3 * usbdefs.h (USBDEV_BULK_EP_WRITE_STK600) 4 (USBDEV_BULK_EP_READ_STK600): new define values 5 * stk500v2.c (stk600_open): use the STK600 EP values, 6 as they are different from AVRISPmkII 7 82012-12-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 9 10 bug #37942: Latest SVN can't program in dragon_jtag mode 11 * jtagmkII.c (jtagmkII_initialize): For Xmega devices, and 12 firmware >= 7.x, don't trigger a RESET, in order to work around a 13 firmware bug that appears to be present in at least firmware 7.24 14 for the Dragon. 15 162012-12-04 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 17 18 * config_gram.y: Implement the "ocdrev" keyword 19 * avrpart.c: (Dito) 20 * avrpart.h: (Dito) 21 * lexer.l: (Dito) 22 * avrdude.conf.in: Add "ocdrev" key/value pairs, based 23 on the AS6 XML file information. 24 * jtag3.c: Use the ocdrev in the parameter block. 25 262012-12-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 27 28 * jtag3.c: Make jtag3_command() public 29 * jtag3.h: (Dito.) 30 * jtag3_private.h: Add two new commands 31 * stk500v2.c: Implement the "MonCon disable" hack that 32 allows temporarily falling back to ISP when trying to 33 talk to a part that has debugWIRE enabled 34 352012-12-03 Rene Liebscher <R.Liebscher@gmx.de> 36 37 * pickit2.c: reordered #includes for non-usb configuration 38 392012-12-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 40 41 * jtag3.c: Enable interactive adjustment of the various 42 clock frequencies (JTAG Xmega, JTAG megaAVR, PDI Xmega) 43 through the set_sck_period() callback. 44 452012-12-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 46 47 * jtag3.c: Remove unused code that was left over from 48 cloning the jtagmkII.c implementation 49 502012-12-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 51 52 * pgm_type.c: Add "jtagice3_isp" programmer hook 53 * avrdude.conf.in: Add "jtag3isp" programmer 54 * jtag3.c: jtag3_setparm() is now public 55 * jtag3.h: (Dito) 56 * stk500v2_private.h: Command 0x1D is CMD_SPI_MULTI only 57 for STK500v2, AVRISPmkII, and JTAGICEmkII; for JTAGICE3, 58 it's CMD_SET_SCK now; also add CMD_GET_SCK 59 * avrpart.c (avr_get_output_index): New function 60 * avrpart.h: (Dito) 61 * stk500v2.c: Implement the pasthrough programmer glue logic 62 for JTAGICE3 in ISP mode 63 * stk500v2.h: (Dito) 64 * avrdude.1: Document the JTAGICE3 support. 65 662012-11-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 67 68 * jtag3.c (jtag3_read_byte, jtag3_write_byte): Remove the 69 m->offset from addr, JTAGICE3 doesn't need it anymore (similar 70 to JTAGICEmkII with 7+ firmware) 71 * jtag3.c (jtag3_read_byte): Allow for full-page reads of 72 EEPROM also for Xmega and debugWIRE, allow for signature 73 read in debugWIRE 74 752012-11-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 76 77 * jtag3_private.h: Add two more error detail codes I stumbled 78 across during development 79 * jtag3.c: (Dito.) 80 * usb_libusb.c: Reduce timeouts from 100 to 10 s, still long 81 enough, but not getting cold feet when something goes wrong. 82 832012-11-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 84 85 * jtag3.c: Handle events returned by the ICE 86 * usbdevs.h: Add defines that mark an event in return 87 from usb_recv_frame(). 88 * usb_libusb.c: (Dito.) 89 902012-11-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 91 92 * avrdude.conf.in: Remove "has_jtag" from Xmega A4 and D4 93 devices, as they only have PDI. 94 * jtag3.c (jtag3_page_erase): Actually implement this. 95 962012-11-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 97 98 bug #37265: wrong page sizes for XMega64xx in avrdude.conf 99 * avrdude.conf.in: Fix page sizes for all Xmega devices, 100 by cross-checking against Atmel Studio's device XML files 101 1022012-11-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 103 104 * jtag3.c: Fill in the missing pieces for Xmega support (both, 105 PDI and JTAG). 106 * jtagmkII.c (jtagmkII_set_xmega_params): Use "fuse1" rather 107 than "fuse0" memory space to fill in the NVM offset from, as 108 there is no "fuse0" on some Xmega devices. 109 1102012-11-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 111 112 * avrdude.conf.in (ATmega256RFR2, ATmega128RFR2, ATmega64RFR2): 113 New devices 114 1152012-11-28 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 116 117 First support for Atmel JTAGICE3. Guessed from USB sniffer 118 traces made by Knut Schwichtenberg, and by similarity to 119 JTAGICEmkII. 120 Still quite incomplete, just megaAVR/JTAG is done by now. 121 * jtag3.c: New file. 122 * jtag3.h: (Dito.) 123 * jtag3_private.h: (Dito.) 124 * pgm_type.c: Add new programmers 125 * avrdude.conf.in: (Dito.) 126 * usbdevs.h: Add new parameters 127 * Makefile.am: Add new files 128 * usb_libusb.c: Handle separate event endpoint, and larger 129 (USB 2.0) packet sizes 130 1312012-11-26 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 132 133 * jtagmkII.c: Change all the USB details (endpoint numbers, 134 max transfer size etc.) to a per-programmer adjustable value. 135 * serial.h: (Dito.) 136 * stk500v2.c: (Dito.) 137 * usbdevs.h: (Dito.) 138 * usb_libusb.c: (Dito.) 139 1402012-11-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 141 142 * buspirate.c: Replace outdated FSF postal address by a reference to 143 the GPL info on their website. 144 * jtagmkII.c: (Dito.) 145 * avrftdi.c: (Dito.) 146 * wiring.c: (Dito.) 147 * linux_ppdev.h: (Dito.) 148 * serbb.h: (Dito.) 149 * usbtiny.h: (Dito.) 150 * confwin.c: (Dito.) 151 * buspirate.h: (Dito.) 152 * avrftdi.h: (Dito.) 153 * wiring.h: (Dito.) 154 * jtagmkII.h: (Dito.) 155 * pickit2.c: (Dito.) 156 * config.c: (Dito.) 157 * term.c: (Dito.) 158 * confwin.h: (Dito.) 159 * avrdude.1: (Dito.) 160 * windows/Makefile.am: (Dito.) 161 * config.h: (Dito.) 162 * pickit2.h: (Dito.) 163 * term.h: (Dito.) 164 * tools/get-hv-params.xsl: (Dito.) 165 * tools/get-stk600-cards.xsl: (Dito.) 166 * tools/get-stk600-devices.xsl: (Dito.) 167 * tools/get-dw-params.xsl: (Dito.) 168 * butterfly.c: (Dito.) 169 * configure.ac: (Dito.) 170 * doc/Makefile.am: (Dito.) 171 * pgm_type.c: (Dito.) 172 * butterfly.h: (Dito.) 173 * jtagmkI.c: (Dito.) 174 * ft245r.c: (Dito.) 175 * COPYING: (Dito.) 176 * pgm_type.h: (Dito.) 177 * jtagmkI.h: (Dito.) 178 * pindefs.h: (Dito.) 179 * config_gram.y: (Dito.) 180 * arduino.c: (Dito.) 181 * arduino.h: (Dito.) 182 * ser_win32.c: (Dito.) 183 * serbb_win32.c: (Dito.) 184 * avr910.c: (Dito.) 185 * stk500.c: (Dito.) 186 * freebsd_ppi.h: (Dito.) 187 * avr910.h: (Dito.) 188 * solaris_ecpp.h: (Dito.) 189 * stk500.h: (Dito.) 190 * jtagmkII_private.h: (Dito.) 191 * avrdude.h: (Dito.) 192 * bitbang.c: (Dito.) 193 * bitbang.h: (Dito.) 194 * avrpart.c: (Dito.) 195 * safemode.c: (Dito.) 196 * stk500generic.c: (Dito.) 197 * serial.h: (Dito.) 198 * avrpart.h: (Dito.) 199 * jtagmkI_private.h: (Dito.) 200 * ppi.c: (Dito.) 201 * avr.c: (Dito.) 202 * safemode.h: (Dito.) 203 * stk500generic.h: (Dito.) 204 * ser_avrdoper.c: (Dito.) 205 * avr.h: (Dito.) 206 * ppi.h: (Dito.) 207 * usbasp.c: (Dito.) 208 * lists.c: (Dito.) 209 * stk500v2.c: (Dito.) 210 * my_ddk_hidsdi.h: (Dito.) 211 * tpi.h: (Dito.) 212 * usbasp.h: (Dito.) 213 * lists.h: (Dito.) 214 * stk500v2.h: (Dito.) 215 * ppiwin.c: (Dito.) 216 * fileio.c: (Dito.) 217 * ser_posix.c: (Dito.) 218 * fileio.h: (Dito.) 219 * serbb_posix.c: (Dito.) 220 * usbdevs.h: (Dito.) 221 * par.c: (Dito.) 222 * update.c: (Dito.) 223 * pgm.c: (Dito.) 224 * main.c: (Dito.) 225 * par.h: (Dito.) 226 * update.h: (Dito.) 227 * lexer.l: (Dito.) 228 * Makefile.am: (Dito.) 229 * pgm.h: (Dito.) 230 * usb_libusb.c: (Dito.) 231 * usbtiny.c: (Dito.) 232 2332012-11-13 Rene Liebscher <R.Liebscher@gmx.de> 234 235 bug #35186 inverting pins with "~" doesn't work for pin lists (i.e. vcc) 236 bug #37727 Add support for LM3S811 dev board as a programmer 237 * lexer.l,config_gram.y: accepting inverted pins at pin lists 238 syntax: ~num or ~(num,num,...) 239 * par.c: par_set_many_bits is now usable with inverted pins 240 * avrftdi.c: fixed wrong index in ftdi_pin_name 241 * avrdude.conf.in: added programmer lm3s811 242 2432012-11-04 Rene Liebscher <R.Liebscher@gmx.de> 244 245 * lexer.l,config_gram.y,config.[hc]: changed reading of numbers to integers 246 except of default_bitclock which is the only real number. 247 No signs are allowed as negative values do not make sense for current 248 config values. 249 * buspirate.c: include own header file buspirate.h 250 * doc/.cvsignore: add programmers.texi to ignore list 251 2522012-09-06 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 253 254 * doc/Makefile.am: add EXTRA_DIST, replace $(srcdir) by 255 $(builddir) for generated files, so "make distcheck" 256 works again 257 2582012-09-05 Rene Liebscher <R.Liebscher@gmx.de> 259 260 * doc/Makefile.am: add $(srcdir) to name of generated files, so BSD make 261 find the files ( GNU make sees no difference if the 262 file is called version.texi or ./version.texi ) 263 2642012-08-15 Rene Liebscher <R.Liebscher@gmx.de> 265 266 patch #7184 Support for PICKit2 programmer 267 * Makefile.am: add pickit2 files 268 * pickit2.[ch]: new programmer implementation 269 * pgm_type.c: add pickit to list 270 * avrdude.1: documentation for pickit2 271 * doc/avrdude.texi: documentation for pickit2 272 * avrdude.conf.in: add pickit2 programmer entry 273 2742012-08-15 Rene Liebscher <R.Liebscher@gmx.de> 275 276 bug #30559 Ft232 bit-bang support, see comment #30 277 * ft245r.c: added semaphore workaround for MacOS X, 278 added pthread_testcancel in reader thread 279 280 * configure.ac: added check for TYPE_232H in libftdi (not in libftdi < 0.20) 281 * avrftdi.c: do not use TYPE_232H if not declared 282 2832012-08-13 Hannes Weisbach <hannes_weisbach@gmx.net> 284 285 * avrftdi.c: fixes pin_limit for different FTDI devices (there was a mixup 286 between 2232C and 2232H) 287 2882012-07-29 Hannes Weisbach <hannes_weisbach@gmx.net> 289 290 * avrftdi.c: bugfixes (synchronisation) and maintenance (paged programming, 291 nicer output, separation of parameter checking and actual code) 292 2932012-07-25 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 294 295 * jtagmkII.c (jtagmkII_memtype): return MTYPE_FLASH rather than 296 MTYPE_SPM for non-Xmega flash regions 297 2982012-07-20 Hannes Weisbach <hannes_weisbach@gmx.net> 299 300 * avrpart.c, avrpart.h: adds avr_pin_name() 301 3022012-07-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 303 304 * configure.ac: check for libelf.h also in libelf/ 305 * fileio.c: include <libelf/libelf.h> if configure found this 306 to be the case 307 3082012-06-13 Rene Liebscher <R.Liebscher@gmx.de> 309 310 * configure.ac: Check for presence of <pthread.h> 311 * ft245r.c: Depend on HAVE_PTHREAD_H 312 * Makefile.am: Add -lpthread if needed. 313 3142012-06-07 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 315 316 * usbtiny.c (usbtiny_paged_load, usbtiny_paged_write): 317 fix breakage introduced by the recent page handling reorg; 318 it used to cause an infinite loop 319 3202012-05-04 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 321 322 Xmega page erase implementation for XPROG (AVRISPmkII, STK600) 323 * stk500v2.c (stk600_xprog_page_erase): New function. 324 3252012-05-04 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 326 327 Xmega page erase implementation for JTAGICEmkII 328 * jtagmkII.c: Handle flash pages sizes > 256 bytes, implement 329 page_erase() method 330 * avrdude.conf.in: Change flash pagesize for all Xmega devices 331 to 512 bytes 332 * avr.c: Implement auto_erase, using page_erase if available 333 * avr.h: Remove unused parameters from avr_read(), replace 334 unused parameter in avr_write)() by auto_erase 335 * stk500v2.c: Handle flash page sizes > 256 bytes 336 * update.c (do_op): Handle new updateflags parameter 337 * main.c: Implement auto_erase as page_erase if possible 338 * update.h (enum updateflags): New enum 339 * pgm.h (struct programmer_t): Add page_erase method 340 3412012-04-26 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 342 343 * jtagmkII.c (jtagmkII_paged_load, jtagmkII_paged_write): fix bug 344 in memory type calculation for Xmega "boot" memory region. 345 3462012-04-25 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 347 348 * update.c (parse_op): do not assume default memtype here 349 * main.c: after locating the part information, determine default 350 memtype for all update options that didn't have a memtype 351 specified; this is "application" for Xmega parts, and "flash" for 352 everything else. 353 3542012-04-24 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 355 356 * fileio.c: Rework the way ELF file sections are considered: while 357 scanning the program header table, the offsets from a program 358 header entry must never be used directly when checking the bounds 359 of the current AVR memory region. Instead, they must always be 360 checked based on the corresponding section's entry. That way, 361 Xmega devices now properly take into account whether the segment 362 fits into any of the application/apptable/boot memory region. 363 3642012-04-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 365 366 bug #30756: When setting SUT to 64ms on XMEGA, avrdude doesn't 367 read device signature 368 * main.c: When reading the signature yields 0x000000 or 0xffffff, 369 retry (up to twice) after some progressive delay. 370 3712012-04-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 372 373 * avrdude.conf.in (ATxmega16D4, ATxmega32D4, ATxmega64D4, 374 ATxmega128D4): New devices. As Xmega D doesn't feature a fuse0 375 memory cell, move that one out from the generic .xmega part into 376 the individual Xmega A parts. 377 3782012-04-19 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 379 380 bug #29019: pagel/bs2 warning when uploading using stk500 to xmega 381 * stk500.c (stk500_initialize): Insert dummy values for PAGEL and 382 BS2 if they are not present in the config file, in order to be able 383 to proceed with the stk500_set_extended_parms() anyway. 384 3852012-04-19 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 386 387 * stk500v2_private.h (struct pdata): add boot_start 388 * stk500v2.c: For the "flash" pseudo-memory of Xmega devices, 389 distinguish addresses between "application" and "boot" area. 390 3912012-04-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 392 393 * fileio.c (elf2b): When checking the bounds of the current 394 program header segment, subtract `low' from ph[n].p_paddr in order 395 to correct the magic section offsets for the AVR's non-flash 396 memory regions. 397 3982012-04-18 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 399 400 * fileio.c (elf_get_scn): Rather than trying to just match whether 401 any given section maps straight to a program header segment, use a 402 more sophisticated decision that matches any section as long as it 403 fits into the segment. This is needed for situations where the 404 program header segment spans a larger area than the section data 405 provided. (This can e.g. happen in an ELF file that contains no 406 data at address 0, like a bootloader only.) 407 4082012-04-13 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 409 410 bug #28744: Can't load bootloader to xmega128a1 (part 2, fix for 411 firmware >= V7.x) 412 * jtagmkII.c: Add firmware-version dependent handling of Xmega parameters. 413 V7.x firmware expects the NVM offsets being specified through the Xmega 414 parameters command, but left out as part of the memory address itself. 415 * jtagmkII_private.h: Add CMND_SET_XMEGA_PARAMS, and struct xmega_device_desc. 416 * config_gram.y: Add mcu_base keyword. 417 * avrpart.h: (Dito.) 418 * lexer.l: (Dito.) 419 * avrdude.conf.in (.xmega): add mcu_base, and data memory segment. 420 4212012-03-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 422 423 bug #28744: Can't load bootloader to xmega128a1 (part 1, fix for 424 firmware < V7.x) 425 * jtagmkII.c: When going to write to the boot section of flash, 426 use MTYPE_BOOT_FLASH rather than MTYPE_FLASH 427 * jtagmkII_private.h: add MTYPE_BOOT_FLASH constant 428 4292012-03-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 430 431 * jtagmkII_private.h: Sort commands, response codes and events 432 into numerical order. 433 4342012-03-29 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 435 436 bug #30451: Accessing some Xmega memory sections gives not 437 supported error 438 * stk500v2.c: Handle all Xmega memory sections (except 439 "prodsig" which is not documented in AVR079) 440 * fileio.c: Treat the "boot", "application", and "apptable" 441 regions (which are actually subregions of "flash") all as 442 being flash, i.e. suppress trailing 0xFF bytes when reading 443 them 444 * avr.c: (Dito.) 445 4462012-03-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 447 448 * jtagmkII.c (jtagmkII_close): The GO command before signing off 449 turned out to be not required for normal megaAVR devices, and to 450 cause the exact opposite (i.e. the target stopping) on Xmega 451 devices being programmed to JTAG. However, programming Xmega 452 devcies through PDI *does* need the GO command. 453 4542012-03-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 455 456 * configure.ac: Print a configuration summary at the end of the 457 configure run 458 4592012-02-11 Rene Liebscher <R.Liebscher@gmx.de> 460 461 patch #7718: Merge global data of avrftdi in a private data structure 462 * avrftdi.[ch]: moved global data into private data structure, moved 463 private defines from header file into source file 464 4652012-02-06 Rene Liebscher <R.Liebscher@gmx.de> 466 467 patch #7720 Bug in EEPROM write 468 * avrftdi.c: fixed wrong buffer address initialization in paged_write 469 * fileio.c: added #include <stdint.h> 470 4712012-02-05 Rene Liebscher <R.Liebscher@gmx.de> 472 473 bug #30559 Ft232 bit-bang support 474 * ft245r.c: cancel reader thread before exiting program 475 4762012-02-04 Rene Liebscher <R.Liebscher@gmx.de> 477 478 patch #7717 avrftdi_flash_write is broken 479 * avrftdi.c: fixed wrong buffer address initialization in paged_write 480 bug #35296 Extraneous newlines in output. 481 * main.c: fixed output of newlines at 100% progress 482 4832012-02-03 Rene Liebscher <R.Liebscher@gmx.de> 484 485 patch #7715 FT4232H support 486 * avrdude.conf.in: added programmer 4232h 487 4882012-02-03 Rene Liebscher <R.Liebscher@gmx.de> 489 490 patch #7687: Autogenerating programmers and parts lists for docs 491 (generating the programmers lists) 492 * doc/avrdude.texi: Add include of generated table of programmers 493 * doc/Makefile.am: Add generating of table of programmers in programmers.texi 494 4952012-02-03 Rene Liebscher <R.Liebscher@gmx.de> 496 497 bug #34768 Proposition: Change the name of the AVR32 devices 498 * avrdude.conf.in: renamed ucr2 to uc3a0512 499 * avrpart.c: added cast to avoid compiler warning 500 5012012-02-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 502 503 * fileio.c (fileio_elf): Fix a copy'n-paste-o. 504 5052012-02-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 506 507 * par.c (par_desc): Move to end of file, outside the #if 508 HAVE_PARPORT 509 5102012-02-02 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 511 512 Implement ELF file reading (finally). Requires libelf(3) to be 513 present on the host system. 514 * configure.ac (HAVE_LIBELF): Add logic to detect presence of 515 libelf(3) 516 * Makefile.am (avrdude_LDADD): Add @LIBELF@ 517 * fileio.h (FILEFMT): add FMT_ELF 518 * fileio.c: Implement ELF file reader. 519 * update.c (parse_op): add 'e' format specifier 520 * avrdude.1: Document the ELF file reading capability 521 * doc/avrdude.texi: (Dito.) 522 5232012-02-01 Rene Liebscher <R.Liebscher@gmx.de> 524 525 bug #30559 Ft232 bit-bang support 526 * ft245r.[ch]: new programmer type implementation 527 * configure.ac: add pthread as link library 528 * avrdude.conf.in: added some new programmers 529 * Makefile.am: added new source files to compile 530 * pindefs.h: change PIN_MASK, PIN_INVERSE to highest bit of unsigned int 531 * pgm.[ch]: added generic function to print pin assignments (taken from par.c) 532 * par.c: moved pin assigment print function to pgm.c 533 5342012-02-01 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 535 536 * lexer.l: Sort keyword tokens into alphabetic order. 537 5382012-01-31 Rene Liebscher <R.Liebscher@gmx.de> 539 540 * config_gram.y, lexer.l: removed unused ID/TKN_ID definitions 541 * config.[hc]: removed unused function id(), use value.type to select 542 values 543 5442012-01-31 Rene Liebscher <R.Liebscher@gmx.de> 545 546 patch #7437 modifications to Bus Pirate module 547 patch #7686 Updating buspirate ascii mode to current firmware, use AUX 548 as clock generator, and setting of serial receive timeout 549 * buspirate.c: added paged_write, changed binary mode setup/detection, 550 added clock output on AUX pin 551 * avrdude.1: updated documentation 552 * doc/avrdude.texi: updated documentation 553 5542012-01-31 Rene Liebscher <R.Liebscher@gmx.de> 555 556 Parser does not need to know all programmer types now, new programmers 557 will update only the table in pgm_type.c. 558 * config_gram.y, lexer.l: removed programmer type keywords, 559 use now locate_programmer_type() function 560 * pgm_type.[ch]: added new files for table of programmer types 561 * main.c: allow list of programmer types by -c ?type 562 * avrdude.conf.in: changed all type keywords to quoted strings 563 * doc/avrdude.texi: changed description of type definition, list 564 of valid types is now included from generated file 565 * doc/Makefile.am: generate list of programmer types for doc 566 * all programmers [hc]: add xxx_desc string for description of programmer 567 5682012-01-30 Rene Liebscher <R.Liebscher@gmx.de> 569 570 * configure.ac: fixed detection of yylex_destroy availability 571 by checking the version number of flex; bump required autoconf 572 version to 2.60 (for AC_PROG_SED) 573 5742012-01-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 575 576 * lexer.l: Replace the old, now-defunct #define YY_NO_UNPUT by 577 the new %option nounput. This gets rid of a compiler warning. 578 5792012-01-30 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 580 581 Add a connection_type attribute to each programmer, rather than 582 trying to hard-code the default port name in main.c. 583 * pgm.h: Add conntype to struct pgm. 584 * lexer.l: Extend grammar for connection_type. 585 * config_gram.y: (Dito.) 586 * config.h: Add DEFAULT_USB, for symmetry with default_parallel 587 and default_serial. 588 * main.c: Replace old default portname hack by avrdude.conf-based 589 knowledge. 590 * usbtiny.c: Drop an old hack that's no longer necessary. 591 * avrdude.conf.in: Add connection_type to each programmer 592 definition. 593 5942012-01-27 Rene Liebscher <R.Liebscher@gmx.de> 595 596 * avrdude.conf.in: used parent parts for some other parts, added 597 abstract .xmega part as parent for xmegas 598 * main.c: hide parts starting with '.' from parts list 599 6002012-01-22 Rene Liebscher <R.Liebscher@gmx.de> 601 602 patch #7688: Implement parent programmers feature 603 * avrdude.conf.in: updated documentation comment and some programmers 604 have now parents 605 * config_gram.y: initpgm will now called at first use of programmer 606 in main. parser sets only the function pointer in the pgm structure. 607 Pin and pin lists definitions can now be empty to remove the parents 608 setting. 609 * doc/avrdude.texi: updated documentation 610 * main.c: added call to pgm->initpgm after locate_programmer 611 * pgm.[hc]: added field initpgm in structure, added function pgm_dup 612 6132012-01-21 Rene Liebscher <R.Liebscher@gmx.de> 614 615 bug #21797: AT90PWM316: New part description 616 * avrdude.conf.in: added pwm316 with parent pwm3b but 16KB flash 617 6182012-01-20 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 619 620 * configure.ac: Check for presence of lusb_usb.h as an alternative 621 to usb.h; libusb-win32 switched to this name in version 1.2.5.0. 622 * avrftdi.c: Decide whether to include <usb.h>, or <lusb0_usb.h>. 623 * ser_avrdoper.c: (Dito.) 624 * usbasp.c: (Dito.) 625 * usb_libusb.c: (Dito.) 626 * usbtiny.c: (Dito.) 627 6282012-01-19 Rene Liebscher <R.Liebscher@gmx.de> 629 630 * avr.c: Unsigned variable was used for return code of paged_write/load 631 functions. So a negative return code led never to a fallback to byte 632 functions. 633 6342012-01-17 Rene Liebscher <R.Liebscher@gmx.de> 635 636 bug #34302: Feature request : device configuration with parent classes 637 * config_gram.y: if memory section is overwritten old entry is removed 638 639 (not in original patch) 640 * config_gram.y: if programmer or part is defined twice, a warning is 641 output and the first instance is removed 642 643 General cleanup and free functions, so valgrind does not report any lost 644 blocks at program end. 645 * avrpart.[hc]: added avr_free_(opcode|mem|part) functions 646 * pgm.[hc]: added pgm_free function 647 * update.[hc]: added free_update functions 648 * config.[hc]: added cleanup_config function, use yylex_destroy to reset 649 the lexer after usage. (So it can be reused.) 650 * main.c: add cleanup_main function which is called by atexit() (This 651 frees all lists so that at program exit only really lost memory is 652 reported by valgrind.) 653 * usbasp.c: added libusb_free_device_list() and libusb_exit() calls to 654 avoid lost memory 655 * buspirate.c: moved memory allocation from initpgm to setup and added 656 free in teardown 657 * configure.ac: add definition of HAVE_YYLEX_DESTROY if $LEX is flex. 658 * Makefile.am: added . in front of SUBDIRS to build avrdude before trying 659 to use it for creating the part list for the docs. 660 6612012-01-17 Rene Liebscher <R.Liebscher@gmx.de> 662 663 * usbasp.c: USB vid/pid/vendor/product from config file are used, for 664 id "usbasp" nibobee and old usbasp are tried as they were currently 665 implemented within usbasp 666 * avrdude.conf.in: added usb params to "usbasp", added new entry "nibobee" 667 with params which were hardcoded in usbasp.c, and added an entry 668 "usbasb-clone" which only checks vid/pid. 669 6702012-01-10 Rene Liebscher <R.Liebscher@gmx.de> 671 672 bug #35261 avrftdi uses wrong interface in avrftdi_paged_(write|load) 673 * avrftdi.c: Fixed interface and implementation of avrftdi_paged_(write|load) 674 patch #7672 adding support for O-Link (FTDI based JTAG) as programmer 675 * avrdude.conf.in: added o-link entry 676 6772012-01-10 Rene Liebscher <R.Liebscher@gmx.de> 678 679 patch #7699 Read additional config files 680 * main.c: Added reading of additional config files 681 * avrdude.1: updated man page 682 * doc/avrdude.texi: updated documentation 683 6842012-01-10 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 685 686 Submitted by Bob Frazier: 687 bug #35208: avrdude 5.11 on freebsd 8.2-STABLE does not reset 688 Arduino Uno properly 689 * arduino.c (arduino_open): Bump the timeout between pulling 690 the DTR and RTS lines low and high. 691 6922012-01-08 Rene Liebscher <R.Liebscher@gmx.de> 693 694 Fixed following findings reported by cppcheck 695 * avr910.c:625 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624 696 * avr910.c:626 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624 697 * avr910.c:168 (information) The scope of the variable 'devtype_1st' can be reduced 698 * avr910.c:169 (information) The scope of the variable 'dev_supported' can be reduced 699 * avrftdi.c:647 (error) Using sizeof for array given as function argument returns the size of pointer. 700 * stk500v2.c:3347 (error) Memory leak: b 701 * stk500v2.c:3452 (error) Memory leak: b 702 * usbasp.c:554 (error) Using sizeof for array given as function argument returns the size of pointer. 703 * usbasp.c:485 (information) The scope of the variable 'dly' can be reduced 704 7052012-01-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de> 706 707 Reported by Jason Kotzin: 708 * usbasp.c (usbasp_spi_paged_load, usbasp_spi_paged_write): 709 Fix buffer address calculation. 710 7112012-01-03 Rene Liebscher <R.Liebscher@gmx.de> 712 713 patch #7629 add support for atmega48p 714 * avrdude.conf.in: Added m48p with parent m48 + different signature 715 716 * avrdude.conf.in: made part parents (m88p = m88 + different signature, 717 m168p = m168 + different signature) 718 7192012-01-02 Rene Liebscher <R.Liebscher@gmx.de> 720 721 bug #21663 AT90PWM efuse incorrect 722 bug #30438 efuse bits written as 0 on at90pwmxx parts 723 * avrdude.conf.in: (pwm2, pwm2b, pwm3, pwm3b) <efuse.write>: Write 724 eight bits 725 726 * avrdude.conf.in: made part parents (pwm3 = pwm2, pwm3b = pwm2b, 727 pwm2b = pwm2 + different signature) 728 729 * ChangeLog-2011: New file, rotate ChangeLog for new year. 730