avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avrdude-dev] AVRDUDE 6.0 released


From: Rick Mann
Subject: Re: [avrdude-dev] AVRDUDE 6.0 released
Date: Tue, 17 Sep 2013 15:21:18 -0700

Great work!

On Sep 17, 2013, at 15:10 , Joerg Wunsch <address@hidden> wrote:

> More than two years after the previous release (5.11.1), AVRDUDE 6.0
> 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
> 
>  * 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.
> 
> -- 
> cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL
> 
> http://www.sax.de/~joerg/
> Never trust an operating system you don't have sources for. ;-)
> 
> _______________________________________________
> avrdude-dev mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/avrdude-dev


-- 
Rick






reply via email to

[Prev in Thread] Current Thread [Next in Thread]