newsAVR Downloader/UploaDEr - News: AVRDUDE 6.0 released

 
 
Latest News
AVRDUDE 6.3 released posted by joerg_wunsch, Tue 16 Feb 2016 10:12:21 PM UTC
AVRDUDE 6.0.1 released posted by joerg_wunsch, Tue 17 Sep 2013 10:28:47 PM UTC
AVRDUDE 5.11 relesed posted by joerg_wunsch, Sat 27 Aug 2011 09:38:34 PM UTC
AVRDUDE switched to Subversion posted by joerg_wunsch, Fri 06 Mar 2009 08:04:08 PM UTC
AVRDUDE 5.6 released posted by joerg_wunsch, Fri 06 Mar 2009 01:19:21 PM UTC - 1 reply

AVRDUDE 6.0.1 released

Item posted by Joerg Wunsch <joerg_wunsch> on Tue 17 Sep 2013 10:28:47 PM UTC.

More than two years after the previous release (5.11.1), AVRDUDE 6.0.1
finally made it to go public.

I'd like to thank everyone who has been involved into that release,
both active developers with SVN access as well as numerous users who
contributed bugfixes, improvements and suggestions.

The primary reason for the major version number bump was a changed
syntax of the configuration file (programmer types are now strings
rather than keywords), but that version number change has certainly
also "raised the bar" about many other things that should have been
done before releasing it.  Among those are:

. direct reading of ELF files (provided libelf with its header files
  is around when ./configure runs)

. keep track of input file contents; when programming just a
  bootloader only, nothing else but the bootloader area is touched

. config file can refer to a "parent" device; this dramatically
  simplifies the config file as only those things that have been
  changed compared to the parent must be specified anew

As an experiment, I'm trying to provide an "official" Win32 binary
release for the first time.  It has been compiled using a MinGW32
cross-compilation environment on my FreeBSD host system.  If this
turns out to be a complete failure, please tell me, so I can stop this
experiment, and leave Windows binaries to those who know more about
the matter than me.  If it works, you might want to tell me
nevertheless, so I might continue that service in future.

Here are the complete release notes for 6.0 (from the NEWS file):


  * Major changes compared to the previous version:

    - Programmer types in configuration file are no longer keywords but
      specified as string.

      So you need to change 'type = XYZ;' to 'type = "XYZ";' in own
      config files.  (internal: The parser does not need to know all
      programmer types now, new programmers will update only the table
      in pgm_type.c.)

    - The erase cycle counter (formerly options -y / -Y) has been
      removed.

    - Specifying a -U option without a memory type (short form of
      option argument list) now defaults to "application" memory for
      Xmega devices, and "flash" for everything else.  This ensures
      the Xmega bootloader is not accidentally touched.

    - For programmers that support it, the default erase method is a
      page erase now, rather than a chip erase (Xmega only).

    - Keep track of input file contents
      Memory segments are being tracked to remember whether they've
      been actually read from a file.  Only segments that came from a
      file are being programmed into the device, or considered for
      verification.  This drastically improves handling speed for
      sparse files (e.g. files that have a second bootloader segment),
      and it ensures the device contents is actually compared for
      everything mentioned in the file (even in case the file has
      large 0xFF blocks).

    - The -U option now accepts ELF files as input files, and extracts
      the appropriate section contents that matches the requested memory
      region.  To enable this feature, the host system used for the
      compilation must have a libelf around, including the respective
      header files (i.e., package "libelf-devel" on many Linux systems).

    - Programmers and parts lists

      They are now sorted at output with '-c ?'/'-p ?'. (patch #7671:
      Sorting programmers and parts lists for console output)

      Programmers and parts lists in documentation generated from lists
      mentioned above. (patch #7687: Autogenerating programmers and
      parts lists for docs)

      Output list of programmer types with '-c ?type', add list to
      documentation

    - Configuration files now accepts parent parts/programmers, parts
      starting with '.' (eg. .xmega) are not included in output parts
      list and can be used as abstract parents

      (bug #34302: Feature request : device configuration with parent classes)
      (patch #7688: Implement parent programmers feature)

    - Additional config files which are read after default can be
      specified on command line using '-C +filename'

      (patch #7699 Read additional config files)

    - "Safemode" can now be turned off by default from within a
      configuration file (like ~/.avrduderc).

    - The new option -l logfile allows to redirect diagnostic messages
      to a logfile rather than stderr.  Useful to record debugging
      traces, in particular in environments which do not offer
      shell-style redirection functionality for standard streams.

    - When leaving debugWIRE mode, immediately retry with ISP rather
      than bailing out completely.

    - The USBasp programmer implementation now supports detailed traces
      with -vvv, and device communication traces with -vvvv.

    - The "verbose" terminal mode command allows to query or modify the
      verbosity level.

  * New devices supported:
    - ATmega48P (patch #7629 add support for atmega48p)
    - AT90PWM316 (bug #21797: AT90PWM316: New part description)
    - ATxmega16D4, ATxmega32D4, ATxmega64D4, ATxmega128D4
    - ATmega256RFR2, ATmega128RFR2, ATmega64RFR2, ATmega2564RFR2,
      ATmega1284RFR2, ATmega644RFR2
    - ATtiny1634
    - ATxmega128A1U, ATxmega128A3U, ATxmega128A4U, ATxmega128B1,
      ATxmega128B3, ATxmega128C3, ATxmega128D3, ATxmega16A4U,
      ATxmega16C4, ATxmega192A3U, ATxmega192C3, ATxmega192D3,
      ATxmega256A3BU, ATxmega256A3U, ATxmega256C3, ATxmega256D3,
      ATxmega32A4U, ATxmega32C4, ATxmega384C3, ATxmega384D3,
      ATxmega64A1U, ATxmega64A3U, ATxmega64A4U, ATxmega64B1,
      ATxmega64B3, ATxmega64C3, ATxmega64D3
    - ATtiny43U
    - ATmega406
    - ATxmega8E5, ATxmega16E5, ATxmega32E5
    - ATtiny20, ATtiny40

  * New programmers supported:
    - linuxgpio
      + any (embedded) Linux system with 4 GPIOs available can be used
        as a programmer with little or no additional hardware.

    - avrftdi
      + o-link (patch #7672 adding support for O-Link (FTDI based
        JTAG) as programmer)
      + 4232h (patch #7715 FT4232H support)
    - TPI support
      + openmoko (bug #37977 Support for Openmoko Debug Board)

    - usbasp
      + nibobee (previously specified as '-c usbasp -P nibobee)
      + usbasp-clone (same as usbasp but ignores vendor and product
        string, checks only vid/pid)

    - ftdi_syncbb (new type for synchronous bitbanging with ft232r/ft245r)
      + ft245r (FT245R Synchronous BitBang, miso = D1, sck = D0, mosi
        = D2, reset = D4)
      + ft232r (FT232R Synchronous BitBang, miso = RxD, sck = RTS,
        mosi = TxD, reset = DTR)
      + bwmega (BitWizard ftdi_atmega builtin programmer, miso = DSR,
        sck = DCD, mosi = CTS, reset = RI)
      + arduino-ft232r (Arduino: FT232R connected to ISP, miso = CTS
        X3(1), sck = DSR X3(2), mosi = DCD X3(3), reset = RI X3(4))
      + diecimila (alias for arduino-ft232r)

    - pickit2

    - Atmel JTAGICE3

    - buspirate_bb (TPI programming using the BusPirate in bitbang mode)

  * Bugfixes
      - bug #34027: avrdude AT90S1200 Problem
      - bug #34518: loading intel hex files > 64k using record-type 4
      - patch #7667: Minor memory handling fixes
      - patch #7680: Fixing timeout problem in ser_recv in ser_win32.c
      - patch #7693: Fix config file atmel URLs (+ URLs in
        avrdude.texi and avrpart.h)
      - bug #21663: AT90PWM efuse incorrect, bug #30438: efuse bits
        written as 0 on at90pwmxx parts
      - bug #35261: avrftdi uses wrong interface in avrftdi_paged_(write|load)
      - patch #7437 modifications to Bus Pirate module
      - patch #7686 Updating buspirate ascii mode to current firmware,
        use AUX as clock generator, and setting of serial receive
        timeout
      - bug #34768 Proposition: Change the name of the AVR32 devices
      - patch #7718: Merge global data of avrftdi in a private data
        structure
      - bug #35208: avrdude 5.11 on freebsd 8.2-STABLE does not reset
        Arduino Uno properly
      - bug #34518: loading intel hex files > 64k using record-type 4
        (Extended Linear Address Record)
      - bug #34027: avrdude AT90S1200 Problem
      - bug #30451: Accessing some Xmega memory sections gives not
        supported error
      - bug #28744: Can't load bootloader to xmega128a1
      - bug #29019: pagel/bs2 warning when uploading using stk500 to xmega
      - bug #30756: When setting SUT to 64ms on XMEGA, avrdude doesn't
        read device signature
      - bug #37265: wrong page sizes for XMega64xx in avrdude.conf
      - bug #37942: Latest SVN can't program in dragon_jtag mode
      - patch #7876 JTAGICE mkII fails to connect to attiny if debugwire
        is enabled AND target has a very slow clock
      - bug #39893: Verification failure with AVRISPmkII and Xmega
      - bug #38713: Compilation of the documentation breaks with texinfo-5
      - bug #38023: avrdude doesn't return an error code when attempting
        to upload an invalid Intel HEX file
      - bug #39794: warnings when building avrdude 6.0rc1 under CentOS 6.4
      - bug #35800: Compilation error on certain systems if parport is disabled
      - bug #38307: Can't write usersig of an xmega256a3
      - bug #38580: Current svn head, xmega and fuses, all fuses tied to fuse0
      - bug #39691: Buffer overrun when reading EEPROM byte with JTAGICE3
      - bug #38951: AVR109 use byte offset instead of word offset
      - patch #7769: Write flash fails for AVR910 programmers
      - bug #38732: Support for ATtiny1634
      - bug #36901: flashing Atmega32U4 EEPROM produces garbage on chip
      - bug #28344: chip_erase_delay too short for ATmega324P, 644, 644P, and 1284P
      - bug #34277: avrdude reads wrong byte order if using avr911 (aka butterfly)
      - bug #35456: The progress bar for STK500V2 programmer is "wrong".
      - patch #5708: avrdude should make 10 synchronization attempts instead of just one
      - patch #7606: ATtiny43u support
      - patch #7657: Add ATmega406 support for avrdude using DRAGON + JTAG
      - bug #35474: Feature request: print fuse values in safemode output.
      - patch #7710: usb_libusb: Check VID/PID before opening device
      - [no-id]: Fix SCK period adjustment for STK500v2
      - bug #40040: Support for ATtiny20 and ATtiny40
      - bug #40055: AVRDUDE segfaults when writing eeprom

  * Internals:

    - Restructuring and compacting programmer definition part of
      grammar for config file.
    - Cleanup of parser code, removing unused definitions/
      functions. Using yylex_destroy if available.
    - Fixed some more memory leaks, added cleanup code at program exit
      (to minimize the number of non-freed memory blocks reported by
      valgrind)
    - Fixed some findings reported by cppcheck.


 

Back to the top

Powered by Savane 3.13-4448.
Corresponding source code