회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 1,041
판매자 아크마 판매 납포인트 무료 평점 0점 / 총 0명 참여

AVR-Projects

by Martin THOMAS

G.d.W. SS2010 FHFFM

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)

"Last updated" may be just additional information not always a new version of a software-package.


AVR Butterfly Application code port to avr-gcc

Introduction

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 für den IAR C-Compiler zum Download bereitgestellt. Anwender denen dieser Compiler nicht zur Verfügung steht, finden auf dieser Seite eine Portierung des Quellcodes auf den frei erhältlichen 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 jüngstem 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
  • UART/USART
  • 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
  • Interrupt-Handling
  • 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

Software

  • 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 Löffler.
    [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.

 

Butterfly resources (local and remote)

Programmer/Flashing

  • 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�ndis 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 uses Salvo 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:
  • 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 the Butterfly 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).
    • 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).
    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.
    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�ltiger Schmetterling" eine Einf�hrung 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

Old versions:

  • 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


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:

Changlog

  • 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]

 


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.
  • Björn 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 Döller. 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).


Clock with a character-LCD and large letters

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 on this page


A slightly extended version of Peter Fleury's Text-Mode-LCD library

Peter Fleury has done a very nice and easy-to-use avr-gcc library to drive Hitachi HD44780 and compatible Text-Mode LCD-displays with AVR microcontrollers. I've done some small extensions to make "auto-warp" compatible with the Displaytech 164A LCD-Module (available e.g. at www.reichelt.de) and added a scroll-up function. With scroll-up and the added feature auto-scroll you can print e.g. debug-messages on the display without taking care of the cursor position. Get the source-code here (timestamp 20050602, avr-libc 1.2.3 compatibility-fix). A (crude) demo-program together with a makefile for avr-gcc (WINAVR) to drive a Displaytech 164A with an AVR ATmega16 is included. A document how to connect a HD44780 or compatible display to the Atmel STK 500 is included in the archive.

Andreas Heinzen has contributed an extended version of the library. He corrected some timings-issues to make the library compatible with an at90s2313 and Displaytech162 display-module, added an 8-bit interface and support for 2-line scrolling. Get Andreas's library here (timestamp 20050818).


Maxim/Dallas DS18x20 Temperature-Sensors readout with AVR

Demo application to read DS1820, DS18S20 and DS18B20 temperature-sensors with an Atmel AVR controller. More information and source-code on this page.


Timer-based AVR Software-UART

Some AVRs do not have a hardware-UART others have one or two. In case a UART is needed on "non-UART" AVRs or the available hardware-UARTS are not enough to fullfill the project-needs a software-UART can be used. The software-UART available here is based on the "gerneric software uart" by Colin Gittins which can be downloaded from the iar.com website in the application-notes section. I have ported/adapted this code to AVRs using avr-gcc/avr-libc and fixed some smaller mistakes. This code does not need an external interrupt-pin for the RX-line - any input-pin will do. But the RX pin gets sampled three times the baudrate so more process-time is needed compared to an "external-int" approach as presented in various Atmel Application-Notes.

Get the latest version of this "softuart-library" including a demo-application here (timestamp 20101010).

Version History:

  • 20070319: fixed handling of start- and stopbit in receiver-section, code-cleanup, extended example-applciation
  • 20070430: added more configuation options for easier adaption to other AVRs, this time tested with an ATtiny85
  • 20101010: different minor modifications, included settings for ATmega164(P|PV|PA), ATmega324, ATmega644

VT100 Terminal Driver

This is a port of the Atmel VT100 terminal-driver to avr-gcc/avr-libc. Nothing special but maybe useful. I've extended the example-application a little bit too. Get the library's source including a demo-application here (timestamp 20050821).


Eversmith - AVRSMS

Firmware to send and receive Short Messages (SMS) in a GSM-Network using an AVR-ATmega microcontroller from ATMEL and an AT-command compatible GSM-Phone/Module. The software supports the SMS-PDU-Mode. Written in Assembler using AVRStudio4. Proceed to this page to get more information and code.


The Blinky Toys - "Fun with LEDs"

Some "light-toys" I made mainly as xmas or birthday gifts. So far these are:

 

  • Blinky44 - 4*4 LED-Matrix with 10mm LED showing patterns
  • Blinky^3 - 3 20mm LEDs fading in and out.

CAN-CAN AVR and Controller Area Network

AVR "dances the CAN-CAN". CAN (Controller Area Network) projects with Atmel AVR microcontrollers can be found on this page.


AV/Rf Wireless/RF-Data-Link between AVRs

Preliminary - more Information on this page.


Interfacing Atmel AVR microcontrollers with RFM22 ISM transceivers

More Information on this page.


Port of the Atmel BC100 example code to avr-gcc/avr-libc

The BC100 [ATAVRBC100] is a reference design that demonstrates charging and discharging of two batteries/battery packs with a programmable charge voltage up to 40V. Futher information can be found on the BC100-page at atmel.com. Atmel provides two demo-applications which demonstrate charging for NiMH- and LiION-batteries (Application notes AVR463 and AVR 458). The code available from Atmel has been created for the IAR EWAVR toolset. Kevin Rosenberg created the initial avr-gcc/avr-libc-port of this code and I have made some modifications and extension. I also created a small demo-application for the second AVR on the board which is an ATmega644 connected to the ATtiny861 that is as chargeing-controller.

 

Kevin Rosenberg's avrcode-site hosts a git-repository and there is also a souce-package available. Here I just host a backup-archive which may not be the latest version and just reflects the state when I have modified the code the last time.

 

Downloads:

 

  • The "official" gcc-port from avrcode.com
  • A local (="unofficial") and maybe outdated copy from [here] (zip-Archive, timestamp 20080612)

Digitally Addressable Lighting Interface (DALI)

Interfacing the Digitally Addressable Lighting Interface (DALI). More Information on this page.


Experimental avrdude Versions

Some experimental versions of the AVR programming software avrdude This versions are for testing only and not supported by the main avrdude developers. Please do not send bug-reports or questions about this versions to the avrdude-dev- or other mailing-lists. Please send feedback and bug-reports to the e-mail address given at the end of this page.

  • Older experimental avrdude-versions can be found in the Archive.
  • Download avrdudew32 Version 0.6 for CYGWIN build environment here, based on avrdude 4.3.0 CVS checkout 29. Jun. 04). Cygwin is only needed to compile and build from the source. The produced exe-file does not depend on cygwin-dlls. Changes: butterfly-programmer login-procedure changed, RS232-drain-timeout on RS232, Subversion printout.
  • An experimental version of avrdude with STK500/Atmel AVRISP Firmware 2.0-support is available here (based on CVS-checkout 29. Jan. 2005, timestamp 20050222). This version does support autodetection of the STK500 firmware. When using programmer option stk500 the software will try to detect firmware version 1.x, if the STK500 is already updated to firmware-version 2 the software will continue with the new code. To use the new code directly use programmer option (-c) stk500v2 instead of stk500. In terminal-mode the command sck is not available for STK500V2. It has been replaced by the command fisp which is used to set the ISP-frequency. The STK500V2-code will automaticly set the ISP-frequency to the nearest possible value same or slower than the frequency given as parameter. The code does not use values from the XML partdefinitions provided by Atmel with AVRStudio. The official avrdude- release will use these. The archive does include all sources to build with gcc on Unix/Linux/BSD/cygwin and a MS Visual-Studio 6.0 workspace to compile/debug with MS Visual C. The stk500v2-module has been tested with AT90S8515, ATmega8, ATmega16, ATmega162, ATmega169, ATmega32 and ATmega128.
  • An updated Version with STK500/AVRISP Firmware 2.0-support is available here (timestamp 20050314, latest version). ISP-frequency output in the STK500v2-module has been fixed (for sck_duration 3). Additional tests with ATtiny2313 and ATmega48 have been successfull.

All packages include the source-code and a Win32-binary so you can test avrdude without compiling from source. Make sure that you have installed give-io if you test the software with printer-port "dongles" (i.e. STK200-adapter) on Windows NT/2000/XP. give-io is included in the source archive, see subdirectory windows.


Evertool: An AVR In-System Programmer (ISP) and JTAG Programmer/Debugger

Evertool is an all-in-one AVR programming and debugging device. It is compatible with the ATMEL AVRISP programmer (and mostly with the STK500 in low-voltage-serial-programming) and the ATMEL JTAGICE debugger/programmer. Evertool uses the original ATMEL firmware code supplied with AVRStudio on an ATmega16 (JTAG) and ATmega8535 (ISP). Read more about the Evertool on this page.


ispRE: Self-made AVR In-System Programmer (ISP)

A programmer compatible with the original AVRISP device (and mostly with the STK500 in low-volatage-serial-programming). The programmer is based on an ATmega8535 controller and the original ATMEL AVRISP/STK500 firmware is used. An ATtiny2313 serves as internal update-controller for the ATmega8535 firmware. Read more about this project on this page.

Selbstbau AVR Mikrocontroller Programmierger�t, kompatibel zum original ATMEL AVRISP. Mehr dazu auf dieser Seite.



PonyProg und STK200-ISP-Programmieradapter

Kurzanleitung im Wiki von mikrocontroller.net (sorry, only available in German language).


avr-gcc Tutorial wiki.mikrocontroller.net PDF-Version

PDF-Version des avr-gcc Tutorials aus dem mikrocontroller.net Wiki. Stand 12. Okt. 2009. (sorry, only available in German language).


The ARM-projects and WinARM moved to the ARM-Projects-Page.


 


Martin Thomas
mail-adress as bitmap/antispam 

모르는 것이 무엇인지 스스로 정리하고 질문하는 습관을 가집시다.
무성의/광범위하거나 직접 해보지 않고 올리는 질문은 서로를 피곤하게 합니다.
질문쪽지는 사절이오니 게시판에 글을 남겨주세요. 그래야 다같이 공유할 수 있으니까요.


profile
오스탈 2015.11.03 19:52

좋은 정보 감사합니다.

profile
시나브로69 2016.07.16 15:48

좋은 자료 감사합니다.

profile
qool9436 2016.11.20 23:19

감사합니다

profile
오징어를사랑한문어 2016.12.02 22:37

좋은자료 감사합니다

profile
maniker 2018.06.12 09:55

좋은 자료 감사합니다

profile
촤희우 2018.11.22 20:10

감사합니다

search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
1021 마이크로프로세서 네오스 계산기 VB6 [2] 무료 네오스f91e9 2015-07-30 0 249
» 마이크로프로세서 AVR projects 사이트 모음 [6] 무료 아크마 2015-07-11 0 2704
1019 마이크로프로세서 Low speed AVR oscilloscope [2] 무료 아크마 2015-07-11 0 329
1018 마이크로프로세서 LSB/MSB 순서 차이에 의한 이종 컴파일러간 통신시 주의점 무료 아크마 2015-06-06 0 300
1017 마이크로프로세서 아두이노 [2] 무료 세넷 2015-05-12 0 145
1016 마이크로프로세서 Freescale MPC56XX 계열 개발경험자 분 있으신가요? [1] 무료 lucawa86 2015-03-31 0 204
1015 마이크로프로세서 PIC18F877로 IDE HDD 제어하는 회로도(PIC18F877+82C55A 확장) [6] 무료 킬유21 2015-02-19 0 335
1014 마이크로프로세서 인터럽트 방식으로 LED 제어.c (좌/우 쉬프트) [4] 무료 킬유21 2015-02-19 0 385
1013 마이크로프로세서 Graphic LCD 128X64 dot 용 예제파일 [3] 무료 킬유21 2015-02-19 0 355
1012 마이크로프로세서 Temperature sensor PIC18F2550 vs LM75(회로/펌웨어) [4] 무료 킬유21 2015-02-19 0 190
1011 마이크로프로세서 LM75로 온도센싱하기(AVR16+LM75, IAR Compiler) [2] 무료 킬유21 2015-02-19 0 181
1010 마이크로프로세서 ledDisplay.c(우에서 좌로 좌에서 우로 led 가 물결치듯 시프트) [2] 무료 킬유21 2015-02-19 0 285
1009 마이크로프로세서 8051을 이용한 습도센서 제어.c [2] 무료 킬유21 2015-02-19 0 185
1008 마이크로프로세서 8051을 이용한 디지털시계구현.c [3] 무료 킬유21 2015-02-19 0 472
1007 마이크로프로세서 LM75로 온도센싱하여 7Segment에 표시하기(AVR128 + LM75 TWI Master, 회로포함) [3] 무료 킬유21 2015-02-19 0 296
1006 마이크로프로세서 LM75로 온도센싱하여 LCD에 표시하기(AVR128 + LM75 TWI Master) [2] 무료 킬유21 2015-02-19 0 417
1005 마이크로프로세서 LM75로 온도센싱하기(AVR128 + LM75 TWI Master) [3] 무료 킬유21 2015-02-19 0 149
1004 마이크로프로세서 codevision프로그램으로 블루투스 [2] 무료 dktanoidnw 2014-11-23 0 356
1003 마이크로프로세서 쓸만한 fpga [6] 무료 바람이 2014-06-01 0 1842
1002 마이크로프로세서 at90s2313-10si 안에 락비트 푸실수 있는분? [1] 무료 jazzjazz 2014-05-19 0 213
  • 햇빛이 비치는 동안에 건초를 만들자.
    - 세르반테스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.