After I configured Eclipse to successfully debug AVR code at the source level in http://www.avrfreaks.net/forum/avr-source-level-debugging-eclipse-winxp-dragon-%E2%80%93-success-0 , I looked into updating Avarice from version 2.9 in WinAVR-20100110 to the most current Windows executable (version 2.12) which is available at https://sourceforge.net/projects/avarice/files/avarice/ [look for that executable in the line “Looking for the latest version Download Win32 executable (requires Cygwin) (315.2 kB).]
Because that version requires many Cygwin files, I would like to provide these files in a zip archive so that others do not have to go through the iterative discovery process. This thread is intended users of WinAVR-20100110 who have Cygwin files installed. However, I suspect that moving all archived files into WinAVR-20100110 should also work.
My primary attraction for this update was one line in the Release Notes: this version cached the program counter to speed up communications – which is it noticeably does.
Release Notes (recent):
Summary of changes in AVaRICE 2.12
. Many Xmega fixes for firmware versions 7 and above (as shipping by
AVR Studio 5); code breakpoints and accessing the various Xmega
memories appear to almost work now. Many thanks to Detlev Kraft for
his in-depth analysis of the AVR Studio 5 communiction with the ICE.
. Cache the PC returned by BREAK events, to speedup the communication.
. New devices: ATxmega256A3, ATxmega16D4, ATtiny4313
. Moved source code repository from CVS to SVN.
. Implement PDI debugging (JTAGICEmkII / Xmega).
Summary of changes in AVaRICE 2.11
. Fixed an annoying error that prevented it from compiling on recent
versions of GCC.
. Fixed *all* warnings, making the code -Wall -Wextra safe, so they
can be enabled by default now. GCC 3.x users might want to run
configure with --disable-warnings though, as some of the warnings
are suppressed by GCC 4.x pragmas.
Summary of changes in AVaRICE 2.10
Important bug fixes:
. Add a check for the requirement to link against libz in order
to successfully work with libbfd. That appears to be necessary
for GNU binutils >= 2.19.
Always cautious about the effect any change has on other tools, I looked at the WinAVR-20100110 manual to discover that Avarice used cygwin1.dll and that the only other program in WinAR-20100110 to use that lib was Simulavr. Since I now owned a Dragon, I would probably not use Simulavr again so I decided to give Avarice 2.12 a try.
Launching Avarice 2.12 started a series of discoveries about missing entry points in cygwin1.dll or missing Cygwin DLL files which lead to this thread. The saving grace in finding these files was a recent update to Cygwin in another WinXP computer to the 2016 versions (end of support version for XP). I found all the missing files on that computer.
So that others do not have to go through this same discovery process, I have attached a Zip archive of Avarice.exe (version 2.12) and Cygwin DLLs that were needed to start Avarice. I cannot guarantee that these are the only DLL required since I had the 2014 version of Cygwin files already installed on the AVR development computer but I suspect the archive might be complete since those files were not available in the 2014 installation.
If and when you update Avarice to version 2.12, I would suggest that you rename Avarice version 2.9 to something like “Avarice_2_9.exe” and then copy Avarice.exe (v 2.12) into the WinAVR-20100100 folder. I would also suggest that you copy the 2016 version of cygwin1.dll (2.5.2) into the WinAVR-20100110 folder after changing the name of the original file to something like “cygwin1_1_5_25.dll”. That way, whatever version of the cygwin1.dll file in the cygwin\bin folder is preserved and will remain compatible with other programs that might use it. The remaining Cygwin DLLfiles are not replacements so you can copy them into the cygwin\bin folder.
Hope you find this information useful,
Read on if you are interested in the discovery process:
The AVR development computer was built in 2014 and had versions of Cygwin files available at that time. The version of Cyswin1.dll in that cygwin\bin folder is 1.7.29. The version of cygwin1.dll in WinAVR-20100110 is 1.5.25. When I placed Avarice.exe (version 2.12) in the WinAVR-20100110 folder, I got an error message about an entry point not found. So I tried the cygwin1.dll in the [drive]:\cygwin\bin folder and got an error message about a different entry point not found. When I transferred the 2016 version of cygwin1.dll (version 2.5.2) to the AVR development computer, I got the error message that cygintl-8.dll file was missing. That type of missing DLL messages continued in series for five more iterations before Avarice 2.12 started and ran successfully when debugging both ATtiny 84 and ATmega328.