Changelog for AVRprog related software
======================================
(2006-02-15)
Versions with 'i' are intermediate test versions and were never released.
Versions with 'p' at the end are under development and not released yet.
VRprog HOWTO
-------------
V0.0 Initial version
V0.1 Text updated
Errors fixed
V0.2 Info for DOS backend updated
Spelling mistakes corrected
V0.3 Info how to configure network for DOS netlayer server included
Info for 'ping' on DOS machines added
UNIX netlayer client: Added info that IP-address or hostname can be used
V0.4 UNIX frontend: Added info where to place netlayer client libraries
V0.5 UNIX netlayer client test program can now be configured via command line
Section how to compile the parameters into the test program removed
UNIX netlayer client: Directory for logfile and logfile name changed
V0.6 Updated section for required UNIX tools
Added meaning of sense codes 15 and 16
UNIX netlayer client: Updated messages
UNIX netlayer client: Updated logfile behaviour
UNIX frontend: Intel HEX file format is now supported by frontend if the
file format converters 'HEXtoGEN' and 'GENtoHEX' are installed
Some other minor corrections
AVRprog documentation
---------------------
V0.7 First released version
V0.8 Split the documentation
Serial1 protocol docu is now a separate document
V0.9i First proposal for API V0.4
V0.10i Because the new API was incompatible to V0.3 it is renamed to V1.0
V0.11i First proposal for backward compatible API V0.4
V0.12 Final API V0.4 added
Platform support section updated
AVRprog UNIX backend
--------------------
V0.6 First released version
Supports only 'Serial1' programmer
Backend interface used: V0.3
V0.7 Support for 'SerialSTK' programmer
V0.8 New 'SerialSTK' driver V0.1
'Serial1' driver library renamed
V0.9 New 'SerialSTK' driver V0.2
New 'Serial1' driver V0.8
V0.10 New 'SerialSTK' driver V0.3
Support for 'AVR910' programmer
V0.11 New 'SerialSTK' driver V0.4 supports new devices
Bugfix: SerialSTK driver: Define '_BSD_SOURCE' to get a 'usleep()'
declaration on GNU systems
Support for 'Akizuki' programmer contributed by Jouko Holopainen
Dynamic driver loading support (at runtime) contributed by Jouko
Holopainen
Basic support for 'STK500' evaluation board (not functional yet)
Dedicated SunOS Makefile added
Support for SunOS/Solaris
V0.12 Bugfix: 'AVR910' driver EEPROM routines fail if memory segment does
not start at address 0x0000 - Fixed in new driver V0.1
Function 'programmer_enable()' now check if programmer is already enabled
and do disable-reenable in this case
Programmer device file is now locked using POSIX 'fcntl()' mechanism
New 'Serial1' driver V0.9
Bugfix: Uninitialized variable in 'Akizuki' driver - Fixed in new driver
V0.2
New 'SerialSTK' driver V0.5 now supports AT90CAN128, ATmega165, ATmega325
ATmega3250, ATmega329, ATmega3290, ATmega645, ATmega6450, ATmega649 and
ATmega6490, AT90PWM2, AT90PWM3, ATtiny25, ATtiny45, ATtiny85
Bugfix: Wrong pages size for ATtiny13 and ATtiny2313 in 'SerialSTK'
driver - Fixed in new driver V0.5
Bugfix: Lockbit programming fixed in 'SerialSTK' and 'AVR910' drivers
'AVR910' driver V0.1 now supports firmware V3.x from Klaus Leidinger
'AVR910' driver V0.1 now also supports 115200Bit/s on RS-232
'AVR910' driver V0.1 now additionally supports ATtiny2313, ATtiny26,
ATmega8515, ATmega8535, ATmega16, ATmega162, ATmega169, ATmega64 and
ATmega128
'STK500' driver V0.1 works now (tested with hardware V2 / firmware V1.15)
New driver skeleton makes it easier to create own drivers
Support for 'AVR109' bootloaders added
Using HEXtoGEN V0.3 file format converter is strongly recommended!
Too many items on the ToDo list ... time to release this version now.
V0.13 Backend API used: V0.4 (backward compatible)
Support for NetBSD operating system
New 'SerialSTK' driver V0.6 now supports IEEE-1284 on NetBSD (using
experimental ppbus/ppui drivers - patches for NetBSD 2.0 are included)
Fusebit read/write support added
New 'STK500' driver V0.2 supports fuse bit writing
Lockbit read support added
On devices with paged Flash-EPROM problems can occur when the frontend do
not align the data blocks on page boundaries (there is no spec that
forces the frontend to do so) - Fixed with internal page buffer that is
always completely initialized. As the result the drivers never get
partial pages to handle
Central device database added (in the future all drivers can use the same
device database)
Programming method (LVS, HVP, HVS, JTAG) is now selectable by the
frontend
RC oscillator calibration spport added
Formerly the drivers are bound to a specific backend version and are not
interchangeable because their API was not specified. Now the official
driver API V0.1 is supported by all drivers
All library names now follow the UNIX conventions (have a major number
indicating compatible API version). Now it is possible to install
multiple versions of backend and driver libraries with incompatible
APIs into the same directory
Support for 32Bit HP-UX operating system
On HP-UX all shared libraries are named '.sl'. The version numbering is
done like on the other systems (HPs "internal versioning" is not used)
Support for AIX operating system
Bugfix: Library search path was not correct on some platforms - Fixed
Tested to work on 64Bit GNU/Linux
AVRprog DOS backend
-------------------
V0.0 Ported from UNIX backend V0.8
Supports only 'Serial1' programmer
Backend interface used: V0.3
V0.1 New 'Serial1' driver V0.1
Support for 'AVR910' programmer
AVRprog UNIX netlayer server
----------------------------
V0.0 Initial version
Supports protocol version V0.0
Backend interface used: V0.3
V0.1 Daemon now detaches from parent
V0.2 Bugfixes
V0.3 Log messages changed
V0.4 Makefile modified
Source style updated
The daemon can now handle multiple simultaneous connections
All messages are now logged with PID
Every server process now exits using the '_exit()' call
The daemon raises 'QUIT' signal for all created servers on exit
Every server inherits the handler for the 'CHLD' signal and must
therefore now install an ignore handler for this signal
The exit status is now logged by the server processes directly
V0.5i Preserve working directory on startup (This is needed by the dynamic
driver loading feature of backend V0.11)
Set umask on startup
Redirect 'stdin' and 'stdout' to '/dev/null'
Redirect 'stderr' to '/dev/console'
Bugfix: Uninitialized variable fixed
V0.6 New Makefile
Support for SunOS/Solaris operating system
Redirect 'stderr' to '/dev/null'
V0.7 Debug system enhanced
V0.8 Support for HP-UX operating system
Support for AIX operating system
Bugfix: Signal handling is now POSIX.1-1990 compliant
Works now on 64Bit GNU/Linux
Man page for AVRprog daemon added
AVRprog DOS netlayer server
---------------------------
V0.0 Ported from UNIX netlayer server V0.1
Supports protocol version V0.0
Backend interface used: V0.3
V0.1 Bug in server fixed (Uninitialized variable)
Socket is no longer closed by daemon on regular exit (Ctrl-C) to avoid
connection close timeout
Return value of 'accept()' is now checked to verify open connection
(otherwise an unset pointer is used, this can crash the system)
Source style updated
AVRprog UNIX netlayer client
----------------------------
V0.0 Initial version
Supports protocol version V0.0
Backend interface used: V0.3
V0.1 Minor changes
V0.2i Delay added between connection close and open to prevent 'connection
refused' errors with DOS netlayer
V0.3 The dumb delay from V0.2 is replaced by a sequence of 2 retries when
opening a new connection and the error is 'connection refused'
Debug level is now written to log file
V0.4 New test program accepts parameters from command line
TCP port can now be specified in address field as 'hostname:port'
Logfile is now created in home directory
V0.5 Bugfix: '=/==' error in 'if' statement fixed
Unused array removed
Bugfix: Fixed some 'printf()' conversions
New Makefile
Support for SunOS/Solaris operating system
Added '_BSD_SOURCE' to get a 'usleep()' declaration on GNU systems
V0.6 Support for HP-UX operating system
Support for AIX operating system
Tested to work on 64Bit GNU/Linux
AVRprog UNIX graphical frontend
-------------------------------
V0.5 First released version
Backend interface used: V0.2
Support for RS-232 device type only
Needs TCL/TK 8.0
V0.6 More devices supported
Netlayer support added
Input field for network address added
Backend interface used: V0.3
Support for IEEE-1284 device type added
Device file is now specified via input field not by radio buttons
Lock bits are now specified as number
EEPROM erase button added
Cycle button added
Bugfix for config file handling (Crashing with certain file contents)
V0.7 Support for new devices added
V0.8 Support for ATtiny13 and ATtiny2313 added
Bugfix: Buffer overflow in EEPROM routines fixed (could cause
segmentation fault while writing to EEPROM)
Bugfix: EEPROM files are now written and expected in Atmel GENERIC 16/8
format (The formerly used format was not GENERIC 24/16 compatible)
New Makefile for SunOS/Solaris support
Support for ATmega48, ATmega88 and ATmega168 added
Bugfix: Fixed Lockfile 'Edit' radio buttons
Lockbits LB1 and LB2 are now supported on 0.35um devices locations
Lockbits are now displayed as hexadezimal byte
All widget colors are now defined (no longer using TK defaults)
V0.9 Bugfix: 'Cycle' button must be bound to 'cycle()' function
Support for Intel HEX file format
Now there is one config file '~/.AVRprog_frontend.cfg' for every user
(in home directory)
Messages are now logged to '~/AVRprog_frontend.log' (in home directory)
V0.10i Support for AT90CAN128, ATmega165, ATmega325, ATmega3250, ATmega329,
ATmega3290, ATmega645, ATmega6450, ATmega649 and ATmega6490 added
Bugfix: EEPROM functions broken for Intel HEX files - Fixed
Bugfix: Lockbit handling fixed - Now inverted at correct position
V0.11 Docu files updated
Support for NetBSD operating system
File type (Intel HEX, Atmel GENERIC) is no longer derived from file name
extension but can now be selected via file type button
File open/Save as dialogs now has an additional filter "*.*"
V0.12 Support for HP-UX operating system
Support for AIX operating system
Tested to work on 64Bit GNU/Linux
Man page for AVRprog frontend added