AVR1605: XMEGA™ Boot Loader Quick Start
Guide
Features
•
XMEGA boot loader
•
AVROSP compatible
•
Example application
•
C-code sample application for Self Programming
•
Read and Write Both Flash and EEPROM Memories
•
Read and Write Lock Bits
•
Read Fuse Bits
1 Introduction
This application note describes how to use a boot loader application with one of the
XMEGA family devices (i.e. ATxmega128A1) and how an AVR
®
with the Store
Program Memory (SPM) instruction can be configured for Self-programming. The
sample application communicates via the UART with a PC running the AVR Open
Source Programmer (AVROSP) from Application note AVR911. This enables the
user to download Applications into Flash, Data to EEPROM and to read/write fuses
without the need for an external programmer. The example software is using the
ATxmega128A1 device with STK
®
600 as a target board.
Electronic designs including a microcontroller always need to be equipped with a
firmware, be it a portable music player, a hairdryer or a sewing machine. As many
Electronic designs evolve rapidly there is a growing need for being able to update
Products, which have already been shipped or sold. It may prove difficult to make
changes to the hardware, especially if the product has already reached the end
customer. But the firmware can easily be updated on products based on Flash
microcontrollers, such as the AVR family.
Many AVR microcontrollers are configured such that it is possible to create a boot
loader able to receive firmware updates and to reprogram the Flash memory on
demand. The program memory space is divided in two sections: the Boot loader
Section (BLS) and the Application Section. A Boot Loader program is placed inside
the Boot Section of the Flash memory. This program handles communication with
the host PC, and facilitates programming of both Flash and EEPROM. Once
programmed, different levels of protection can be individually applied to both the
boot and application portion of the Flash memory. The AVR thus offers a unique
flexibility, allowing the user extensive degrees of memory protection.
For general information about self programming please refer to application note
AVR109: Self programming.
8-bit
Microcontrollers
Application Note
Preliminary
Rev. 8242A-AVR-05/09