00001 /*This file is prepared for Doxygen automatic documentation generation.*/ 00021 /* Copyright (c) 2009 Atmel Corporation. All rights reserved. 00022 * 00023 * Redistribution and use in source and binary forms, with or without 00024 * modification, are permitted provided that the following conditions are met: 00025 * 00026 * 1. Redistributions of source code must retain the above copyright notice, this 00027 * list of conditions and the following disclaimer. 00028 * 00029 * 2. Redistributions in binary form must reproduce the above copyright notice, 00030 * this list of conditions and the following disclaimer in the documentation 00031 * and/or other materials provided with the distribution. 00032 * 00033 * 3. The name of Atmel may not be used to endorse or promote products derived 00034 * from this software without specific prior written permission. 00035 * 00036 * 4. This software may only be redistributed and used in connection with an Atmel 00037 * AVR product. 00038 * 00039 * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED 00040 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00041 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE 00042 * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR 00043 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00044 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00045 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00046 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00047 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00048 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 00049 * 00050 */ 00051 00052 #include "../CONF/conf_isp.h" 00053 00054 00055 #if __AVR32_UC3A0128__ || \ 00056 __AVR32_UC3A0256__ || \ 00057 __AVR32_UC3A0512__ || \ 00058 __AVR32_UC3A1128__ || \ 00059 __AVR32_UC3A1256__ || \ 00060 __AVR32_UC3A1512__ 00061 #define ISP_BIN "../AT32UC3A/GCC/at32uc3a-isp.bin" 00062 #elif __AVR32_UC3A364__ || \ 00063 __AVR32_UC3A364S__ || \ 00064 __AVR32_UC3A3128__ || \ 00065 __AVR32_UC3A3128S__ || \ 00066 __AVR32_UC3A3256__ || \ 00067 __AVR32_UC3A3256S__ 00068 #define ISP_BIN "../AT32UC3A3/GCC/at32uc3a3-isp.bin" 00069 #elif __AVR32_UC3B064__ || \ 00070 __AVR32_UC3B0128__ || \ 00071 __AVR32_UC3B0256__ || \ 00072 __AVR32_UC3B164__ || \ 00073 __AVR32_UC3B1128__ || \ 00074 __AVR32_UC3B1256__ 00075 #define ISP_BIN "../AT32UC3B/GCC/at32uc3b-isp.bin" 00076 #endif 00077 00078 00081 00082 00083 // This must be linked @ 0x80000000 if it is to be run upon reset. 00084 .section .reset, "ax", @progbits 00085 00086 00087 .global _isp 00088 .type _isp, @function 00089 _isp: 00090 // Include the ISP raw binary image. 00091 .incbin ISP_BIN 00092 00093 .org PROGRAM_START_OFFSET 00094 program_start: 00095 // Jump to the C runtime startup routine. 00096 lda.w pc, _stext 00097 00098