페이지 정보작성자 키트 작성일2017-09-11 16:19 조회983회 댓글0건
by Martin THOMAS
You may like to visit my ARM-Projects page too (projects and information for NXP LPC2000, Atmel AT91SAM7, STmicro STR7, STM32, LMI LM3S and other controllers with an ARM-core). Last update in the ARM-section: 25. Apr. 2012.
Available Projects and Information (Content)
- AVR Butterfly application code port to avr-gcc and AVR Butterfly resources (last update 3. July 2012)
- AVR Butterfly based data-logger (last update 10. Jun. 2004)
- AVR Butterfly bootloader code port to avr-gcc (last update 17. May 2007)
- Port of the example application for the AVR DB101 to avr-gcc/avr-libc and DB101 resources (last update 1. Mar. 2008)
- AVRPROG (AVR109/"AVR910") compatible bootloader for ATMEL ATmega Controllers (last update 6. Oct. 2010)
- Graphics LCD Interfacing Device-Drivers to interface Atmel AVRs with SED1520-based and ST7565-based GLCDs (last update 17. Oct 2007)
- A slightly extended version of Peter Fleury's Text-Mode-LCD library (Hitachi HD44780 and comp.) (last update 18. Aug. 2005)
- LCD clock clock using a character/text-mode LCD and user-defined (large) characters (last update 2. June 2005)
- Eversmith - SMS send and receive with AVR controllers in GSM networks
- Software-UART which only uses a system timer (last update 10. Oct. 2010)
- VT100 Terminal-Driver (last update 24. Aug. 2005)
- Experimental versions of the programming software avrdude (STK500 Firmware 2.0-support, Win32 native, etc.) (last Update 14. Mar. 2005)
- Evertool - an universal AVR programming/debugging device (compatible with AVRISP/STK500 AND JTAGICE firmware) (last Update 3. Feb. 2006)
- ispRE - Self-made AVR In-System Programmer (ISP) (compatible with AVRISP/STK500 firmware) Selbstbau ATMEL AVRISP kompatibles Programmierger� (last Update 28. Aug. 2007)
- DS18x20 Sample - Read data from Maxim/Dallas DS18x20 Temperature-Sensors (last update 8. July 2010)
- "Blinky 44" A small toy with 16 LEDs in a 4*4 setting (last update 25. Nov. 2004)
- "Blinky^3" A small toy with three 20mm LED-"Lamps" (last update 22. Dec. 2004)
- CAN-CAN AVR and Controller Area Network (CAN) (last update 11. July 2005)
- AV/Rf Radio-Frequency / Wireless data-link between controllers (last update July 2005)
- AVR/RFM22 Wireless data-link between controllers using HopeRF RFM22 modules (Si4432/IA4432-IC) (last 6. Oct. 2010)
- Interfacing the Digitally Addressable Lighting Interface (DALI) (last update 7. Sept. 2007)
- Port of the BC100 (battery-chargeing reference design) example-code to avr-gcc/avr-libc (last update 12. June. 2008)
- Arthernut: a modification of Nut/OS for Arthernet (last update 19. Oct. 2005)
"Last updated" may be just additional information not always a new version of a software-package.
AVR Butterfly Application code port to avr-gcc
The AVR Butterfly (ATAVRBFLY) made by ATMEL comes with a preloaded application. The application source-code can be downloaded from the ATMEL Web-Site (AVR Butterfly - Application Rev07). It is written for the IAR EWAAVR 4.20a C-Compiler. This is a port of this code to avr-gcc using the avr-libc. Links to avr-gcc, avr-libc and the Windows-Distribution of the toolset (WINAVR) can be found here.
For german readers: Der Quellcode der auf dem AVR-Butterfly installierten Applikation wird von ATMEL fur den IAR C-Compiler zum Download bereitgestellt. Anwender denen dieser Compiler nicht zur Verfugung steht, finden auf dieser Seite eine Portierung des Quellcodes auf den frei erhaltlichen Compiler avr-gcc unter Verwendung der ebenfalls freien Bibliothek avr-libc. Falls Sie MS-Windows Anwender sind, finden Sie alle notwendigen Werkzeuge in der Sammlung WINAVR. Den gcc-Quellcode der Butterfly Applikation finden Sie zum Download weiter unten. Bitte nutzen Sie die neuste Version (=Download mit jungstem Datum).
Even if you do not own an AVR Butterfly you may find usefull information in the BF application code for general ATMEL AVR development tasks.
- State-machine (Zustandsautomat)
- Using the ATmega169 build-in LCD-controller
- Using a AVR ADC converter with LDR and NTC sensors and general voltage-reading
- AVR Hardware SPI
- Accessing ATMEL Dataflash via Hardware SPI
- Power-Saving and sleep modes
- Sound (beep-music) playback via PWM and piezo
- Integration of a UART-based bootloader
- wake-up on key (pin-change interrupt) and Key-debouncing
- Real Time Clock (RTC)
From the gcc-port of the application code some methodes how to convert IAR-code to avr-gcc/avr-libc-code can be learned.
- Accessing data in the flash-area with the program-space utilities to work around the missing generic-pointers
- Working around incompatibilities between avr-libc and ATmega169 in eeprom-access and sleep-modes
Butterfly gcc-port history
Application gcc-Port - last Changes Date Added patch for GCC 4.7 3. Jul. 2012 Release of version 0.7.6 17. Dec. 2009 Release of version 0.7.5 15. Aug. 2009 Release of version 0.7.3 2. July 2009 Link to Joe Pardue's Butterfly Alternate Pin Uses document 28. Aug. 2007 Version 0.7.2, see readme-file for details 17. May 2007 Minor update in Version 0.7.1 (only comments) 8. Feb. 2007 Version 0.7.1 31. Jan. 2007 Marked version 0.6.6.1 as latest version 22. Aug. 2006 Example-application Joystick/LCD/Variables 24. Apr. 2006 Preliminary Release 0.6.6.1 (for avr-libc 1.4.3), modified some examples to avoid compiler-error with avr-libc 1.4.3 (WinAVR 20060125) 28. Jan 2006 uart_echo-Example: Fix in OSCCAL-Calibration 23. Jan 2006 Release of Version 0.6.6 (includes AVRStudio-workspace for AVRStudio >= Version 4.12) 9. Jan 2006 Link to AvrFlasher for OS X and Linux (Java) in the Programmer/Flashing section 6. Dec 2005 Added link to a camera remote control project with a BF 19. Oct 2005 Remark about DIDR0 and LCD operational voltage in the Information-Section 24. Aug 2005 Update of Joystick-Interfacing with GPIO Demo 5. July 2005 Two small Demos: Joystick-Interfacing 30. Jun. 2005 Fixed LCD-test example (case sensitive make in WinAVR 2/05). Fixed UART-echo example (SFR labels as in iom169.h of WinAVR 2/05) 25. May 2005 Added link to the "AVR Butterfly MP3"-project 15. Feb. 2005 Example Application by Chalermphol Thammapalerd using Salvo RTOS on the Butterfly 25. Nov. 2004 Added links (book sample chapter, carrier board) 16. Nov. 2004 New Version 0.6.5 27. Aug. 2004 Interims Version to fix incompatiblity with avr-libc 1.0.4 (as in WinAVR 20040720) 20. Jul. 2004 Fixed avrdude command-line example (Thanks to Tobias Jahn) 15. Jun. 2004 Anmerkungen zum Artikel im Linux-Magazin 07/04 (in german) 12. Jun. 2004 New version of Richard Wynn's application (HVAC) now with SHT11 readout. Fixed power-save issue in old version. 10. Jun. 2004 Information about using the JTAG-Pins for general-I/O and AD-conversion 1. Jun. 2004
- 2.Oct.2003 - 4. Dec. 2003 Older "diary entries" can be found in the Archive
- 9. Jan. 2006 - Version 0.6.6/20060107. Includes an AVRStudio-Workspace for the gcc/WinAVR-plugin tested with AVRStudio V4.12SP1, small improvements and code-size-reduction (see the readme-file).[Download the old Version 0.6.6]. This version should be used of older avr-libc-versions (as in WinAVR before 1/06).
- 28. Jan. 2006 - Version 0.6.6".1". Small fix so the project can be built with avr-gcc 3.4.5 and avr-libc 1.4.3 (as in WinAVR 20060125 and later). Interrupt-service-routines adapted to new style. Tested with the hardware by Frank Henriquez, thanks for the feedback. [Download the old Version 0.6.6.1] (zip-archive, timestamp 20060128, hex-File included, all songs activated).
- The gcc-port of the application-code is as free as the code that Atmel provides for the IAR-compiler. There is just one exception: all parts of the code that include lines that have been created or modified by me for avr-gcc-compatibility must not be published in the AVRButterfly yahoo-group or in the avr.forumer15-forum.
- 17. May 2007 - Version 0.7.2. Includes bug-fixes from Atmel's REV_07-source (for IAR). Adapted interrupt-handling, sleep-modes and eeprom-handling to new avr-libc. Fixed possible buffer overrun in vcard. Details in the readme.txt. Tested with avr-gcc 4.1.1/avr-libc 1.4.5 (as in WinAVR 20070122).[Download the old Version 0.7.2] (zip-archive, timestamp 20070517)
- 2. July 2009 - Version 0.7.3. Only minor modifications and updates to reduce binary-size and to avoid warnings, new song. [Download old Version 0.7.3]
- 18. August 2009 - Version 0.7.5 (0.7.4 has never been published). Only minor modifications to increase compatibility with case-sensitive filesystems. Contributed by Markus Strobl. [Download Version old 0.7.5] (zip-archive, timestamp 20090815).
- 17. December 2009 - Version 0.7.6. Small modification in LCD_clear() contributed by Michael Loffler.
[Download Version 0.7.6]
(latest version, zip-archive, timestamp 20091217).
- 3. July 2012 - Bert Lange kindly provided a patch-file so the example-code can be compiled with GCC 4.7. His modifications will be included in the next version.
<ins id="aswift_0_anchor" style="display: block; border: none; height: 150px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 728px;"></ins>
Butterfly resources (local and remote)
- Flashing with AVRPROG (comes with AVRStudio) and the preinstalled bootloader on the AVR Butterfly is documented in Al Boehnleins guide (see below) and in the Butterfly user-guide (pdf, remote). Flashing via ISP is possible if you solder a connection and use a programmer that does not exceed the maximum voltage (4,5V). On the STK500 Vtarget voltage can be set so it's a save way to program via ISP. JTAG programming is described in the ATMEL documents mentioned below and in the Butterfly manual. Don't use ISP/JTAG if you do not fully understand fuses/lockbits and "chip erase", stay with AVRPROG (or AVRDUDE) and the serial connection. The bootloader will not work any longer once the chip is erased or some fuse-bits have been changed.
- With avrdude from Version 4.3.0 the Butterfly can be programmed via serial-port (RS232) and the preinstalled bootloader (programmer-type "butterfly"). With avrdude the Butterfly can be programmed from a Linux/Unix system or from a Windows systems (avrdude is included in WinAVR). See this short step-by-step guide (local) how to build avrdude from the source with cygwin or Linux/Unix. Just press the "joystick" up to leave the bootloader and start the application after the flash upload. Short guide programming the Butterfly with avrdude:
- Butterfly must be in "Bootloader Mode" either via reset (connect Reset-Pin and GND-Pin at the ISP-Connector), toggle power (remove and insert battery) or "Jump to bootloader" from the application if this function is supported (in the preinstalled application in the Options-menue). The LCD is blank in bootloader-mode.
- Type something like: avrdude -p atmega169 -c butterfly -P com1 -U flash:w:foo.hex into the command-shell (in MS-Window's cmd.exe/command.com; replace com1 with /dev/ttyS[x] in Linux/Unix). If you're using a makefile adapt the setting according to the given parameters.
- Press the joystick ("enter") on the Butterfly
- Hit the enter/return-key on the PC-keyboard to start avrdude (or execute "make program"). The Butterfly joystick must be helt down during the startup of avrdude.
- avrdude should write the flash-memory now.
- push the joystick in the "up"-direction to start your application.
- AvrFlasher for OS-X by Henri-Pierre GARNIR can be found at this link. This software features a graphic user interface for uploading program-code into the Butterfly's ATmega169 via the serial connection (USB<->serial converter) and the preinstalled Butterfly-bootloader. Additionaly it offers a "tools-menu" with entries for calling avr-gcc and the avr-binutils and a terminal window for serial communication. Information about using the gnu-avr-toolchain with Mac OS X and USB-serial converters known to work with the software can be found in the user's manual. A "reduced version" of AvrFlasher for Linux is also available.
Code and packages derived from the AVR Butterfly gcc-port
- Richard Wynn from Apopka, Florida sent a ported version of the code "Source for US seminars HVAC_SEM.zip" that has been available from the AVRFREAKS site some time ago. The application is based on the ATMEL(Norway) Butterfly application-code and has been modified by ATMEL(San Jose) to simulate a temperature controller on the Butterfly. Richard ported this code to gcc using parts from the application-gcc-port.NEW: Richard has sent an updated version with additional features: reading values from an humidity-sensor SHT11 (datasheet, pdf, remote). Additional information from Richard: "I have 'flattened' the menu structure and tried to open up as much room as possible for additional code. The beep routine does not use the space of the 'sound' program for simple user feedback. This program has a 'wake-up' timer that uses the RTC to bring itself awake without user pressing the button." Download the source-code (local) and see it in in action (jpeg ca.70kB, local). Richards old application (without SHT11) is still available here (local, power-save fixed).(@SL: Vor Aufnahme in cdk4avr Einverst�dis von RW einholen.)
- LCD-Test (timestamp, 20060128, local) Small avr-gcc Project to test the Butterfly LCD (aka "Hello World"). Just enough code to let the line "AVR Butterfly GCC" scroll on the LCD. Based on the Atmel application code.
- UART-echo (timestamp 20060123, local) Small avr-gcc Project to test the Butterfly UART. Just enough code to echo a char received via UART (set terminal to 9600,8,n,1,no handshake).
- My Butterfly application gcc-port has been included in the cdk4avr collection (remote) as an example application. Unix/Linux-Users can download a rpm-package from this site.
- There is a patch for the gcc-application code 20031016 that adds a "key-click" at version6.net (section "My AVR stuff", remote). Stephan Linz (li-pro.net) has sent an updated version of the key-click patch for the version 0.6.4 gcc-code. Download this patch here (local). Keyclick-functions have been added to the main source-code since version 0.6.5.
- My AVR Butterfly based data-logger
- Chalermphol Thammapalerd from the Faculty of Electrical Engineering at Thammasat University, Thailand has sent a demo-application which usesSalvo RTOS on the Butterfly. From his comments: ...it creates three tasks ... for handling input from temperature sensor, show the parameter on LCD and send it through Serial Port by respect. You need the Salvo RTOS demo-distribution to compile and link the code. Download of source (without Salvo). Please send questions about this code directly to Chalermphol Thammapalerd ( t.chalermphol(at)gmail(dot)com ).
- "Joystick"-interface-demos which print the joystick's position on the LCD. There are two variants available:
- GPIO-LCD-Test (timestamp 20060128, local) - reads joystick-position with "General-IO" (="PINx")
- PinChange-LCD-Test (timestamp 20060128, local) - reads joystick-position via pin-change interrupt as in the demo-application
- GPIO-LCD-Test2 (timestamp 20060421, local) - reads joystick-position with "General-IO" (="PINx"), demonstrates various methods to access the LCD.
- A Dataflash-library for the Arduino project based on the Butterfly example-application's Dataflash-code is available [here].
- If you are using older versions of the LCD-driver from the gcc-port in own projects: add #include <avr/interrupt.h> to avoid errors with newer version of the avr-libc (as in WinAVR 20060125). An updated version of the driver which also uses ISR instead of SIGNAL is available in the application gcc-port version 0.6.6.1 and above.
Butterfly information and documents
- Al Boehnlein has sent his manual "Programming the Butterfly for idiots like me" which describes all steps to bring the gcc Application code port into the Butterfly using WinAVR and AVR-Studio. Download Al's document (pdf-format, ca. 900kB, local). I've added some remarks and did a little formating and pdf-conversion, the main text is from Al. (Text in MS-Word format (ca. 2,1 MB, local)).
- AVR Butterfly "Homepage" at ATMEL
- AVRStudio from Version 4.08 has detailed information for the Butterfly in the online help. Most of text in the online help is a copy from theButterfly user-guide (pdf, remote) but the pictures are of better quality (and not B/W).
- Carsten (www.thelastinstance.de) has made a picture with all external connectors (ca. 55kB, local) of the Butterfly. This gives a better overview about the available connections than the Atmel user-guide.
- AVR Butterfly Primer by David Welch (remote). Flash upload via AVRPROG, Assembler code examples, LCD in Assembler.
- App.-Note AVR065: LCD Driver for the STK502 and AVR Butterfly (Code to App-Note) (remote)
- Some general Butterfly information from ATMEL mirrored here: AVR Butterfly Introduction (pdf-File, ca. 860kB, local). Butterfly Training (pdf-File, ca. 620kB, local).
- AVR-Freaks Butterfly-Tools-Page (remote) general information, links to the application source-code for Imagecraft, IAR and GCC (this page).
- Source code of the application-code port to Codevision (remote).
- A little off topic: Some datafash C source code for software SPI found somewhere in the avrfreaks-forum Download Dataflash_Example.zip (zip-Archive, local). Made bei Atmel(TF). For AVRs without (and of cause with) hardware SPI. The code included in the Butterfly Source is for devices with hardware SPI like the ATmega169V on the BF. Look into the files dataflash.h, dataflash.c and test.c in the Buttefly Application-Code to see how the dataflash can be accessed via hardware-spi.
- There have been some questions about "free" pins of the ATmega169 on the AVR Butterfly. Please refer to the schematics in the Butterfly user's guide. Most of the ATMega pins are blocked by the Butterfly on-board hardware and can not be used without loosing some functionality (esp. LCD).
With some of these free I/O pins the number of inputs and outputs can be easily increased by using external shift-register integrated circuits like 74HC595 for outputs and 4021 (i.e. HEF4021B) or 74HC(T)165 for inputs.
- The USI pins are free to use and available thru the USI connector.
- The 4 JTAG-pins are also available for I/O or A/D-conversion if the JTAG-interface is not needed. Before the JTAG-pins can be used the JTAG-interface of the ATmega169V has to be disabled either by changing the JTAG-Enable-fuse via ISP of by programming the JTD bit in the MCUSCR register at application startup. So JTAG can be turned off with the JTD bit without an ISP connection. (Further information)
- If Chip-Select for the Dataflash is kept under control of the application the ISP-Pins might be used.
- Taking the onboard level-shifter for RS232 into account the RX and TX Pins can be used.
- Taking the onboard voltage-divider into account the Voltage-Reader Pin connected to the ATmega ADC-converter may be used
- If setup and user-interaction in the application are separated or configuration is done via RS232 the pins connected to the joystick may be used (block physical access to the joystick).
Please read Joe "smileymicros" Pardue's Butterfly Alternative Pin Uses (external link to a pdf-file (ca. 800kB)).
- robotgames.net (remote) "Here's a very informative posting to the society mailing list from Craig L. discussing the port assignments of the ATMEL AVR [Butterfly]..."
- In the german "Linux-Magazin" there is an article about using and programming AVRs esp. the AVR Butterfly.
Im Linux-Magazin Ausgabe 07/04 findet sich unter dem Titel "Vielf�tiger Schmetterling" eine Einf�rung in AVR-Controller, die gnu-Toolchain und einiger Tools am Beispiel des AVR-Butterfly. Im Artikel wird auf diese Seite verwiesen. Einige Abmerkungen zu dem Artikel.
- Tobias Jahn's Atmel AVR Butterfly FAQ for Linux Programming with avrdude via RS232/UART, restore Bootloader, Linux-Magazin 07/04 errata
- A Butterfly "Carrier Board" from ECROS. Sold as bare-board, kit or assembled. Get the bare-board for around $9+shipping, the needed parts are cheap, easy to solder and you need to solder the pin-headers to the BF anyway even if you buy the assembled board.
- First 30 pages from the book "Quick Start Guide for using the WinAVR Compiler with ATMEL's AVR Butterfly". I do not own this book. The first pages are more or less like a combination of the WinAVR getting-started from O'Flynn/Weddington and the various BF-guides to which this page links. The complete book is available at www.smileymicros.com.
- Butterfly-MP3 A MP3-player project using a Butterfly and a VS1001 MP3 decoder.
- The Bootloader sets some bits in DIDR0 which are not reset when the main-application gets started. Be sure to include DIDR0 and DIDR1 in your application's initialisation-function.
- The AVRStudio online-help to the STK502 mentions a LCD "Operational Voltage" of 3 Volts. The LCD used on the STK502 is the same type as the one on the Butterfly. Together with the electrical characterstics of the Datafash this is another good reason to keep the Butterfly's operational voltage well below 5V and even below 4,5V as mentioned in the Butterfly's user-Manual.
- DSLR Timer Remote Control Project by Michael Posavec.
- 'sendhb' has created a stand-alone sound-player based on the Butterfly-Application's sound-playback functions for an ATmega16. Visit his Sound Bug page for more information.
- Thomas Black's Monarch. A barometric altimeter using the Butterfly and an external barometric sensor.
- Dean Camera's ButtLoad. A firmware which turns the AVR Butterfly into an AVRISP compatible device.
AVR Butterfly based Data-Logger
AVR Butterfly: low-power-controller, on-board 4Mbit Dataflash, simple "human-interface", A/D converter on-chip, some free I/O-pins: predetermined to be used for data-logging. The Data-Logger has its own page.
A modified version of the datalogger is in use as a motor-current logger for a robot. See some pictures on this page.
AVR Butterfly Bootloader code port to avr-gcc
The AVR Butterfly (ATAVRBFLY) made by ATMEL comes with a preloaded bootloader to upload applications via RS232 from AVRStudio's AVRPROG. The bootloader source-code can be downloaded from the ATMEL Web-Site ( AVR Butterfly - Bootloader Rev02). It is written for the IAR C-Compiler. This is a port of the bootloader code to avr-gcc using the avr-libc.
Please use the latest version of the toolchain (avr-gcc 3.3.1 or newer, avr-libc 1.4.x or newer, WinAVR Jan. 2007 or newer) to compile and link the code. Older versions will cause problems. Make sure to re-enable the SPM lock for the bootloader section after flashing the bootloader. Please read the text in file readme.txt included in the archive for more information. Feedback and bug-reports are welcome.
- 17. May 2007 - fixed delay-loop. Download the source-code Archiv (zip-Format) of Version 0.32, Timestamp 20070517 here
- 23. Jan. 2004 - First release of the bootloader gcc-port. Download the source-code Archiv (zip-Format) of Version 0.1, Timestamp 20040123 here. The hex-file is included.
- 27. Jan. 2004 - Second release of the bootloader gcc-port. No new functions, code cleanup, commets added. Download the source-code Archiv (zip-Format) of Version 0.2, Timestamp 20040127 here. The hex-file is included.
- 3. May 2005 - Fixed Eeprom-Write. Download the source-code Archiv (zip-Format) of Version 0.31, Timestamp 20050503 here. The hex-file is included.
The bootloader can be used with other AVR devices, just change the "start bootloader" condition and UART initialisation to your needs. They are adapted to the AVR Butterfly in the given source ("joystick" and calibrated internal clock from 32kHz clock-quarz). I've tested modified versions of the bootloader with an ATmega16 and ATmega8. Since block read/write is used the bootloader might be faster than others on uCs which support this method.
Butterfly Bootloader Resources
- Screenshots of the factory default fuse and lock-bit settings from Carsten (www.thelastinstance.de).
AVR DB101 example-application gcc-port and DB101 resources
The Atmel AVR DB101 (ordering code ATAVRDB101) is a small module with an AVR ATmega1281 microcontoller, a 128*64 graphics display and some additional hardware (i.e. joystick, piezo-"speaker", level-shifters for logic and RS232, Dataflash memory). More information on the hardware can be found in application-note AVR481. The schematic is available from the associated files-package (AVR481.zip) to the application note.
The device comes with a preinstalled demo-application ("production demo A"). A description of the application and the used driver-library can be found in the software user's guide (application note AVR482). The source code is available in the software-package (AVR482.zip) to this application note. The code provided by Atmel is for the IAR AVR toolset (IAR EWARM/iccavr-compiler).
I (Martin Thomas) have modified/ported the library and demo source-code to be compatible with the AVR "GNU-toolchain" (avr-gcc using the avr-libc). Windows users will find all needed tools in the WinAVR package. Atmel's AVR-Studio can be used as IDE. Since a compiler abstraction layer" (CAL) has been added the source available here is more than just a gcc-version but offers support for both toolsets, either GNU avr-tools or IAR's EWAVR toolset can be used without further modifications. The CAL might be useful for other projects where IAR and GNU tools for (8-bit) AVR are used.
Download the source-package of the DB101 example-application's gcc-port [here].
(timestamp 20080301, All source-files, "stand-alone" makefile, AVR-Studio- and EWAVR workspace-files are included. Please see included readme_mthomas.txt for further information. )
AVR DB101 links:
- DB101 "Homepage" at atmel.com
- Dean Camera's DB101 Review (also pictures and videos)
- avrfreaks.net Forum thread
- 20080225 - version update. Thanks to Kevin Rosenberg for improving and testing IAR-support in the compiler-abstraction-layer and Colin O'Flynn for more tests with IAR-EWAVR. Full source of the old version 20071016 still available [here], patch from diff between Atmel's 20070917-codebase and GNU-port 20071016 [here].
- 20080301 - minor updates to increase "out of the box"-compatibility with IAR-EWAVR. Thanks again to Kevin Rosenberg and Colin O'Flynn for the IAR tests and Colin O'Flynn for a modifed IAR-settings-file. Full source of the old version 20080225 still available [here]
<ins id="aswift_1_anchor" style="display: block; border: none; height: 150px; margin: 0px; padding: 0px; position: relative; visibility: visible; width: 728px;"></ins>
AVRPROG compatible bootloader for ATMEL ATmega Controllers
This bootloader-code is based on the Butterfly-Bootloader an has been extended and ported to avr-gcc/avr-libc. Programming Software is AVRPROG (in the tools menue of AVRStudio or as standalone application) or any AVR109/AVR910 compatible programming software (like i.e. avrdude, the AVR910 and AVR109 protocols are a little different but most commands are the same). The "Version 0.8"-series of the bootloader has been tested with ATmega8, ATmega16, ATmega169, ATmega32, ATmega128 and AT90CAN128. Support for other AVRs can be added using the definitions for the supported devices as templates. configuration is done in the makefile and in main.c
- Old version 0.7: Download the old source and a hex-file of Version 0.7 (20050226) here (zip, local). See the readme.txt-file that comes with the source for more information.
- Uwe Bonnes contributed a modified source which supports the AT90CAN128. He's also done some modifications in the Makefile and in the UART-baudrate macro. Get his version (0.74) here.
- Bjorn Riemer added a startup-wait method. His message (translated): I have adapted the bootloader so there is no external jumper needed to flash[/start the bootloader]. When STARTUP_WAIT is defined it [the bootloader] waits 900ms for the command 'S'. If the command is not received the bootloader starts the application. If the application code resets [the controller by watchdog] when receiving the command ESC[(0x1B), which is sent by AVRProg and avrdude as first character] no external reset is needed for an update.
Download the old version 0.75 here.
- Olaf Rempel has done a lot of modifications and code-cleanup. The code he has contributed together with some extensions I have added is has become Version 0.80. Please refer to the readme.txt in the source-archive for further information.
Download the old version 0.80 here.
- Version 0.81 includes a bugfix when UART-doublespeed is selected ("U2X"). Thanks to Bernhard Roth for the report. Download the old version 0.81 here (timestamp 20061002).
- In Version 0.83 support for ATmega324P, ATmega644P and ATmega644(v) has been added. Download the version 0.83 here (timestamp 20080412).
- In Version 0.84 support for ATmega64 has been added. Contributed by Pavel Fertser. Download the version 0.84 here (timestamp 20081106).
- In Version 0.85 baud-rate macros have been modified. Suggested by Alexander Doller. Download the version 0.85 here (timestamp 20081203,latest version).
- A special version for AVR ATmega1280 which is not yet integrated in the main package is available here. Contributed by Ilya Antonichev.
- Additional files needed to use the booloader on an ATmega8535 contributed by Adrien Destugues (ENSSAT Robotique) available here.
And yes, this bootloader can be used for "bootice"-boards to program the JTAG firmware to an ATmega16 without verify error.
A non-free version of the bootloader with encryption (XTEA, 128 Bits Key) is also available. This bootloader can be used with Atmel's AVRProg (comes with AVRStudio but can be used as stand-alone application) and avrdude. The firmware fits into a 1024 Words boot-section. Included in the packed as the full source-code of the bootloader-firmware (avr-gcc) and the PC-application (portable C-Code) to encrypt the firmware. Please send an e-mail if you are interested. A binary-only demo-version is also available (for ATmega16).
<="" a="">A clock driven by an Atmel AVR which displays the time in larger letters using user-defined characters on a industry-standard character/textmode-LCD (Hitachi HD44780 or compatible). More on this page.
AVR - SED1520 and ST7565 GLCD-Library
A device driver written in C (avr-gcc) to interface Atmel AVR-mirocontrollers with SED1520- and ST7565- based graphics display-modules. More onthis page
A slightly extended version of Peter Fleury's Text-Mode-LCD library
등록된 댓글이 없습니다.