Outdated information from Martin Thomas' AVR Projects page
back to the up-to-date-page
Archive for the AVR Butterfly Application code port to avr-gcc
back to the up-to-date-page
- 2. Oct. 2003 - First attempt, completly untested with the hardware. Compiles without
errors and warnings with the standard makefile-settings from WINAVR (Sept. 2003 edition).
- 3. Oct. 2003 - Manually applied the "Wunsch-Patch" for the "DESI-Code" found in the
avr-gcc mailing-list archive (see section Resources below). It had to be done manually since
I started from the ATMEL-code not from the "DESI"-Code. Added and changed some more code esp.
functions from avr-libc pgmspace.h to access data in PROGMEM; still no tests with the Butterfly hardware
- 7. Oct. 2003 - Uploaded the hex-file to the Butterfly - problems, errors
- 8. Oct. 2003 - Success - found most of the errors, had to add some code. Most of the application works like
the "Original". Sound playback still fails (don't miss the funny sounds the buggy code produces,
"Listen daddy, this is an eeprom-read-routine"). Well, sound is not that important - I may fix
it later, the parameters to the pgmspace-routines are wrong. Get the HEX-File (Version 0.2).
Source-code is not available right now. There are at least two copyright notes in the original
code. Since I won't viloate any copyrights, an e-mail has been sent to ATMEL via their support form
asking if they have concerns.
- 9. Oct. 2003 - Even more "Success" - found the problems with the sound-playback. Code cleanup.
Butterfly with gcc-port behaves mostly like the Butterfly with the original code now.
Differences:
- Welcome message is "AVR BUTTERFLY GCC"
- Revision is "REV061"
- All songs are activated. Two of them were commented out in the Atmel code.
- The initial date after power on reset is 8.Oct.2003.
Get the HEX-File (Version 0.6.1).
The complete source-code is still not available. I've got no answer from ATMEL. "Steve H-C"
suggested a patch against the ATMEL-source. This should not violate any copyrights. Created a diff-file but
so far there are problems with patching against the ATMEL-code.
- 10. Oct. 2003 (hex of Version 0.6.1d) Since I received some requests for the gcc-source-code,
I tried to contact ATMEL again. This time directly via e-mail to avr(at)atmel.com. A patch against the original code still does not work,
some "hunks" can not be applied. There are also problems with diff and patch since I changed the case
(upper/lower) in some filenames, there has been some mismatch with this in the original code. Stay tuned...
- 14. Oct. 2003 - (had a wrong date) Still no reply from ATMEL. Dataflash.c/.h are the only source-files in the Atmel-code marked with a copyright.
Since the DataFlash is only used in the test-routines it's not really needed. The test-routine can only be accessed with external wiring if the
original firmware is used.
So, here is the source-code of the AVR Butterfly Application Rev06 port to avr-gcc/avr-libc without the dataflash-code (patchfile for the dataflash module
is available on request). This is Version 0.6.2 timestamp 20031015 - have fun. Download the Source-Archive (0.6.2/20031015) (zip-archive, hex-File included).
(Please use the newer Version, Versions below 0.6.4 draw too much current from the battery.)
- 15. Oct. 2003 - Finally a response from ATMEL: [...]as long
as the ported code call attention to that this is ported Atmel code, there are no other concerns from our side.[...]
With this acceptance the complete code (including dataflash.c/.h) is available now.
Download the Source-Archive (0.6.3/20031016) (zip-archive, Version 0.6.3, timestamp 20031016, hex-File included).
(Please use the newer Version, Versions below 0.6.4 draw too much current from the battery.)
I volounteer to maintain the code for a while. If you have suggestions or bug-reports feel free to send them. The code
will be published at AVRFREAKS after a period of "public-"testing.
- 29.10.2003 No bug reports. Please use the latest version of the toolchain (avr-gcc 3.3.1 or newer, avr-libc 1.0 or newer,
winavr Sept. 2003 or newer) to compile and link the code. Older versions will cause problems.
- 5. Dec. 2003 The gcc-Application code up to version 0.6.3 has drawn much more current than the original IAR-code 0.6. Thanks
to Randy Ott for reporting this. This is caused by an incompatibility between the avr-libc (sleep.h in Version 1.0) and the AVR
ATmega169 on the AVR Butterfly. This issue has been fixed with version 0.6.4. Please upload this firmware to your Butterfly to save
battery power. One small error in name upload via RS232 has been fixed too.
Download the Source-Archive (0.6.4/20031205)
(power-save problem corrected, zip-archive, Version 0.6.4, timestamp 20031205,
hex-File included, all songs activated)
- 8. Dec. 2003 Colin O'Flynn has measured the current draw of the 0.6.4 code. The butterfly with the gcc code now draws the same
or (a little) less current as the original ATMEL IAR code
(see the avrfreaks gcc-forum thread).
- 23. Dec. 2003 Made an entry for the gcc-port in the Avrfreaks user projects list
- 20. Jul. 2004 Interim-release Version 0.6.4/20040720. Compatible with WinAVR 20040720/avr-libc 1.0.4, please use the 20031205-Version (above) for
older WinAVR releases.Download the Source-Archive (0.6.4/20040720)
- 27. Aug. 2004 Release Version 0.6.5/20040827. Compatible with WinAVR 20040720/avr-libc 1.0.4, please use the 20031205-Version (above) for
older WinAVR releases. Download the Source-Archive (0.6.5/20040827) (zip-archive, Version 0.6.5, timestamp 20040827,
hex-File included, all songs activated). This Version will not compiler/link with avr-libc versions below 1.0.4. Use WinAVR 20040720 or newer on
MS-Windows plattforms.
- read to latest entries in the development diary
Resources used during the port of the application code
outdated move to the up-to-date page
Archive for the AVRDUDE WIN32 native port
back to the up-to-date-page
- Download avrdudew32 Version 0.1 for MS VISUAL C++ 6.0 here
(based on avrdude 4.3.0 sources). A project workspace for MS-Visual-Studio 6.0 is included.
- Download avrdudew32 Version 0.2 for CYGWIN build environment here
(based on avrdude 4.3.0 sources). Please read the comments in the file w32/makew32.sh for information how to build avrdude.
Cygwin is only needed to compile and build from the source. The produced exe-file does not depend on cygwin-dlls.
- Download avrdudew32 Version 0.3 for CYGWIN build environment here
(based on avrdude 4.3.0 sources). This version fixes problems with output redirection of avrdude in programs like
"Programmers Notepad" and issues with the calculation of programming times.
- Download avrdudew32 Version 0.4 for CYGWIN build environment here
(based on avrdude 4.3.0 sources). Cygwin is only needed to compile and build from the source. The produced exe-file does not depend on cygwin-dlls.
This version has some workarounds for problems with STK200 type adaptors (PPIs)(*),
a workaround to avoid negativ time-spans (-0.0) and a loaddrv binary for give-io is included which does not depend
on cygwin-dlls.
(*) The delay settings (sleep/usleep) have been enlarged to get STK200-type PPIs working. This is not
a real fix but a "dummy" workaround - anyway: it should work (tested with "pony-stk200", ATmega16, 15kB hex on a
P2/400 running Windows 2000).
- Download avrdudew32 Version 0.5 for CYGWIN build environment here,
based on avrdude 4.3.0 sources). Cygwin is only needed to compile and build from the source. The produced exe-file does not depend on cygwin-dlls.
This version has a much more precise delay timing (esp.) for Par.-Port-Interfaces (STK200 etc.).
Version 0.5 is faster than 0.4 with PPIs. Since the delays are correct now the saver (=slower) timing that has been
used with 0.4 is no longer available. Please test it. A binary of V0.4 is also included, so if you have trouble
with the 0.5 binary try the 0.4 binary and send me feedback which version works better for you. Please include
OS-Version (Servicepacks), PC-Prozessor Type/Clock-Speed, Programming Adaptor Type, Microcontroller-Type, Microcontroller clock-source,
Microcontroller clock-speed and hex-file-size in your reply.
Thanks. (The binary from the V0.5 package is part of the WinAVR April 2004 edition.
So if you have WinAVR 4/04 installed and you are not interested in the source-code you will not get something new by downloading this.)
- get the latest version of AVRDUDE WIN32
back to the up-to-date AVR projects page
Martin Thomas
Last update: 2. Feb. 2004