Professional Documents
Culture Documents
Features
Description
42153AAVR07/2013
Table of Contents
1. Procedure .......................................................................................... 3
1.1 Step 1 - Start IAR .............................................................................................. 3
1.2 Step 2 - Open the project .................................................................................. 3
1.3 Step 3 - Change processor and xcl file ............................................................. 5
1.4 Step 4 - Change flash page size ....................................................................... 8
1.5 Step 5 - Change define information................................................................... 9
1.6 Step 6 - Compile the project.............................................................................. 9
1.7 Step 7 - Debug the bootloader ........................................................................ 11
1.8 Step 8 - Change the bat file ............................................................................ 13
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 2
42153AAVR07/2013
1. Procedure
Here are the main procedures to migrate bootloader from ATxmega128A1 to other XMEGA devices. Before doing the
migration following the procedures, the original project which is based on ATxmega128A1 should be downloaded
through the link: http://www.atmel.com/Images/AVR1605.zip
IAR Embedded Workbench version 6.11 or later should be installed first before starting the migration procedure.
Optionally Atmel Studio version 6.0 or later is installed if the bootloader is programmed in Atmel Studio.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 3
42153AAVR07/2013
Browse to the project folder, select the project file bootloader.eww, and then click Open button.
If the used IAR software version is newer, the conversion prompt will occur. Click Yes to continue.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 4
42153AAVR07/2013
1.3 Step 3 - Change processor and xcl file
Select bootloader - Debug in the Workspace and then click Project -> Options.
Select General Options in the Category and then in the Target tab, change ATxmega128A1 to the target device.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 5
42153AAVR07/2013
Find the linker configuration file link_bootloader_Atxmega128A1.xcl in \code folder. And copy from it to get the target
linker configuration file and rename it with the target device name. In this target device.xcl file, change Segments in
program address space (internal Flash memory), Data (SRAM, external ROM or external NV RAM) memory and
Internal EEPROM part to the suitable values according to the datasheet of the target device. You can also refer to the
linker file for corresponding device from IAR for these details. IARs linker files are available in \IAR Systems\Embedded
Workbench 6.0\avr\src\template folder.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 6
42153AAVR07/2013
Select Linker in the Category and then in the Config tab, change link_bootloader_ATxmega128A1.xcl to the modified
target file.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 7
42153AAVR07/2013
1.4 Step 4 - Change flash page size
Select sp_driver.h file in Workspace and change the FLASH_PAGE_SIZE, 512, to the correct value corresponding to
the target device. The flash page size can be acquired in the datasheet.
Select sp_driver.s90 file in Workspace and change the FLASH_PAGE_SIZE, 512, to the correct value depending on the
target device.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 8
42153AAVR07/2013
1.5 Step 5 - Change define information
Select defines.h file in the Workspace. Change __ATxmega128A1__ to the target device and then change all the pre-
defined items to match the target device. All the information filled could be found in the datasheet.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 9
42153AAVR07/2013
If the bootloader is debugged with IAR Embedded Workbench, the output format should be changed as shown in Figure
1-13. After the setting, click Project -> Rebuild All and the bootloader.d90 will be produced. This debug file will be used
to debug the bootloader with IAR Embedded Workbench.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 10
42153AAVR07/2013
1.7 Step 7 - Debug the bootloader
The bootloader can be debugged on IAR Embedded Workbench. Select the debugger you are using in the Setup tab as
shown in Figure 1-14.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 11
42153AAVR07/2013
Click Project -> Download and Debug, and this will debug the bootloader to the target device shown in Figure 1-15.
After downloading, you could start debugging the bootloader.
Alternatively, bootldr.dbg file can make the bootloader to be debugged in Atmel Studio 6. After opening Atmel Studio 6,
click File -> Open -> Open Object File For Debugging, and then browse to \Debug\Exe folder to open bootldr.dbg file.
Please refer to Atmel Studio help file for more information on how to debug with the object file.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 12
42153AAVR07/2013
1.8 Step 8 - Change the bat file
Browse to \AVROSP_Test folder and open the bat file with Notepad. Change ATxmega128A1 to the target device.
The .hex file should be changed to the real image file name. The image file (.hex) should be placed in the same folder
with the bat file. The other bat files should be changed in the same way if they are used.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 13
42153AAVR07/2013
2. Recommended reading
It is recommended to read the following application notes to get an overall idea about self programming and bootloader:
AVR109: Self Programming This application note explains how devices with the SPM instruction can be
configured for self programming. Though it is given for Atmel tinyAVR and Atmel megaAVR devices, it gives
general information about self programming.
AVR1316: XMEGA Self-programming This application note describes the basic functionality of Atmel AVR
XMEGA self programming.
AVR1622: TWI Boot Loader for XMEGA This application note describes how to use boot loader of the
XMEGA family of devices to update the application section and how XMEGA can be configured for self
programming.
AVR1605: XMEGA Boot Loader Quick Start Guide 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.
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 14
42153AAVR07/2013
3. Revision History
Doc. Rev. Date Comments
42153A 07/2013 Initial revision
Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices
[APPLICATION NOTE] 15
42153AAVR07/2013
Atmel Corporation Atmel Asia Limited Atmel Munich GmbH Atmel Japan G.K.
1600 Technology Drive Unit 01-5 & 16, 19F Business Campus 16F Shin-Osaki Kangyo Building
San Jose, CA 95110 BEA Tower, Millennium City 5 Parkring 4 1-6-4 Osaki
USA 418 Kwun Tong Road D-85748 Garching b. Munich Shinagawa-ku, Tokyo 141-0032
Tel: (+1)(408) 441-0311 Kwun Tong, Kowloon GERMANY JAPAN
Fax: (+1)(408) 487-2600 HONG KONG Tel: (+49) 89-31970-0 Tel: (+81)(3) 6417-0300
www.atmel.com Tel: (+852) 2245-6100 Fax: (+49) 89-3194621 Fax: (+81)(3) 6417-0370
Fax: (+852) 2722-1369
Atmel, Atmel logo and combinations thereof, Enabling Unlimited Possibilities, AVR, XMEGA and others are registered trademarks or trademarks of Atmel
Corporation or its subsidiaries. Other terms and product names may be trademarks of others.
Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this
document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES
NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROFITS, BUSINESS INTERRUPTION, OR LOSS OF
INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no
representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and products descriptions at any time
without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in,
automotive applications. Atmel products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.