Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
MarlinKimbra
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
machinery
MarlinKimbra
Commits
c0e9111b
Commit
c0e9111b
authored
Apr 19, 2015
by
MagoKimbra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Test Github push to server
parent
1bd1a030
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
0 additions
and
1110 deletions
+0
-1110
boards.txt
ArduinoAddons/Arduino_0.xx/Gen6/boards.txt
+0
-35
ATmegaBOOT.c
...ons/Arduino_0.xx/Gen6/bootloaders/atmega644p/ATmegaBOOT.c
+0
-713
ATmegaBOOT_324P.hex
...uino_0.xx/Gen6/bootloaders/atmega644p/ATmegaBOOT_324P.hex
+0
-121
ATmegaBOOT_644.hex
...duino_0.xx/Gen6/bootloaders/atmega644p/ATmegaBOOT_644.hex
+0
-120
ATmegaBOOT_644P.hex
...uino_0.xx/Gen6/bootloaders/atmega644p/ATmegaBOOT_644P.hex
+0
-121
No files found.
ArduinoAddons/Arduino_0.xx/Gen6/boards.txt
deleted
100644 → 0
View file @
1bd1a030
##############################################################
Generation_Series.name=Gen6 & Gen6 Deluxe
Generation_Series.upload.protocol=stk500
Generation_Series.upload.maximum_size=63488
Generation_Series.upload.speed=38400
Generation_Series.bootloader.low_fuses=0xFF
Generation_Series.bootloader.high_fuses=0xDC
Generation_Series.bootloader.extended_fuses=0xFD
Generation_Series.bootloader.path=atmega644p
Generation_Series.bootloader.file=ATmegaBOOT_644P.hex
Generation_Series.bootloader.unlock_bits=0x3F
Generation_Series.bootloader.lock_bits=0x0F
Generation_Series.build.mcu=atmega644p
Generation_Series.build.f_cpu=16000000L
Generation_Series.build.core=arduino
##############################################################
Sanguinololu.name=Sanguinololu 1.2 and above
Sanguinololu.upload.protocol=stk500
Sanguinololu.upload.maximum_size=63488
Sanguinololu.upload.speed=38400
Sanguinololu.bootloader.low_fuses=0xFF
Sanguinololu.bootloader.high_fuses=0xDC
Sanguinololu.bootloader.extended_fuses=0xFD
Sanguinololu.bootloader.path=atmega644p
Sanguinololu.bootloader.file=ATmegaBOOT_644P.hex
Sanguinololu.bootloader.unlock_bits=0x3F
Sanguinololu.bootloader.lock_bits=0x0F
Sanguinololu.build.mcu=atmega644p
Sanguinololu.build.f_cpu=16000000L
Sanguinololu.build.core=arduino
ArduinoAddons/Arduino_0.xx/Gen6/bootloaders/atmega644p/ATmegaBOOT.c
deleted
100644 → 0
View file @
1bd1a030
/**********************************************************/
/* Serial Bootloader for Atmel megaAVR Controllers */
/* */
/* tested with ATmega644 and ATmega644P */
/* should work with other mega's, see code for details */
/* */
/* ATmegaBOOT.c */
/* */
/* 20090131: Added 324P support from Alex Leone */
/* Marius Kintel */
/* 20080915: applied ADABoot mods for Sanguino 644P */
/* Brian Riley */
/* 20080711: hacked for Sanguino by Zach Smith */
/* and Justin Day */
/* 20070626: hacked for Arduino Diecimila (which auto- */
/* resets when a USB connection is made to it) */
/* by D. Mellis */
/* 20060802: hacked for Arduino by D. Cuartielles */
/* based on a previous hack by D. Mellis */
/* and D. Cuartielles */
/* */
/* Monitor and debug functions were added to the original */
/* code by Dr. Erik Lins, chip45.com. (See below) */
/* */
/* Thanks to Karl Pitrich for fixing a bootloader pin */
/* problem and more informative LED blinking! */
/* */
/* For the latest version see: */
/* http://www.chip45.com/ */
/* */
/* ------------------------------------------------------ */
/* */
/* based on stk500boot.c */
/* Copyright (c) 2003, Jason P. Kyle */
/* All rights reserved. */
/* see avr1.org for original file and information */
/* */
/* This program is free software; you can redistribute it */
/* and/or modify it under the terms of the GNU General */
/* Public License as published by the Free Software */
/* Foundation; either version 2 of the License, or */
/* (at your option) any later version. */
/* */
/* This program is distributed in the hope that it will */
/* be useful, but WITHOUT ANY WARRANTY; without even the */
/* implied warranty of MERCHANTABILITY or FITNESS FOR A */
/* PARTICULAR PURPOSE. See the GNU General Public */
/* License for more details. */
/* */
/* You should have received a copy of the GNU General */
/* Public License along with this program; if not, write */
/* to the Free Software Foundation, Inc., */
/* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
/* */
/* Licence can be viewed at */
/* http://www.fsf.org/licenses/gpl.txt */
/* */
/* Target = Atmel AVR m128,m64,m32,m16,m8,m162,m163,m169, */
/* m8515,m8535. ATmega161 has a very small boot block so */
/* isn't supported. */
/* */
/* Tested with m168 */
/**********************************************************/
/* $Id$ */
/* some includes */
#include <inttypes.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <avr/wdt.h>
#include <avr/boot.h>
#ifdef ADABOOT
#define NUM_LED_FLASHES 3
#define ADABOOT_VER 1
#endif
/* 20070707: hacked by David A. Mellis - after this many errors give up and launch application */
#define MAX_ERROR_COUNT 5
/* set the UART baud rate */
/* 20080711: hack by Zach Hoeken */
#define BAUD_RATE 38400
/* SW_MAJOR and MINOR needs to be updated from time to time to avoid warning message from AVR Studio */
/* never allow AVR Studio to do an update !!!! */
#define HW_VER 0x02
#define SW_MAJOR 0x01
#define SW_MINOR 0x10
/* onboard LED is used to indicate, that the bootloader was entered (3x flashing) */
/* if monitor functions are included, LED goes on after monitor was entered */
#define LED_DDR DDRB
#define LED_PORT PORTB
#define LED_PIN PINB
#define LED PINB0
/* define various device id's */
/* manufacturer byte is always the same */
#define SIG1 0x1E // Yep, Atmel is the only manufacturer of AVR micros. Single source :(
#if defined(__AVR_ATmega644P__)
#define SIG2 0x96
#define SIG3 0x0A
#elif defined(__AVR_ATmega644__)
#define SIG2 0x96
#define SIG3 0x09
#elif defined(__AVR_ATmega324P__)
#define SIG2 0x95
#define SIG3 0x08
#endif
#define PAGE_SIZE 0x080U //128 words
#define PAGE_SIZE_BYTES 0x100U //256 bytes
/* function prototypes */
void
putch
(
char
);
char
getch
(
void
);
void
getNch
(
uint8_t
);
void
byte_response
(
uint8_t
);
void
nothing_response
(
void
);
char
gethex
(
void
);
void
puthex
(
char
);
void
flash_led
(
uint8_t
);
/* some variables */
union
address_union
{
uint16_t
word
;
uint8_t
byte
[
2
];
}
address
;
union
length_union
{
uint16_t
word
;
uint8_t
byte
[
2
];
}
length
;
struct
flags_struct
{
unsigned
eeprom
:
1
;
unsigned
rampz
:
1
;
}
flags
;
uint8_t
buff
[
256
];
uint8_t
error_count
=
0
;
uint8_t
sreg
;
void
(
*
app_start
)(
void
)
=
0x0000
;
/* main program starts here */
int
main
(
void
)
{
uint8_t
ch
,
ch2
;
uint16_t
w
;
uint16_t
i
;
asm
volatile
(
"nop
\n\t
"
);
#ifdef ADABOOT // BBR/LF 10/8/2007 & 9/13/2008
ch
=
MCUSR
;
MCUSR
=
0
;
WDTCSR
|=
_BV
(
WDCE
)
|
_BV
(
WDE
);
WDTCSR
=
0
;
// Check if the WDT was used to reset, in which case we dont bootload and skip straight to the code. woot.
if
(
!
(
ch
&
_BV
(
EXTRF
)))
// if it's a not an external reset...
app_start
();
// skip bootloader
#endif
//initialize our serial port.
UBRR0L
=
(
uint8_t
)(
F_CPU
/
(
BAUD_RATE
*
16L
)
-
1
);
UBRR0H
=
(
F_CPU
/
(
BAUD_RATE
*
16L
)
-
1
)
>>
8
;
UCSR0B
=
(
1
<<
RXEN0
)
|
(
1
<<
TXEN0
);
UCSR0C
=
(
1
<<
UCSZ00
)
|
(
1
<<
UCSZ01
);
/* Enable internal pull-up resistor on pin D0 (RX), in order
to supress line noise that prevents the bootloader from
timing out (DAM: 20070509) */
DDRD
&=
~
_BV
(
PIND0
);
PORTD
|=
_BV
(
PIND0
);
/* set LED pin as output */
LED_DDR
|=
_BV
(
LED
);
/* flash onboard LED to signal entering of bootloader */
/* ADABOOT will do two series of flashes. first 4 - signifying ADABOOT */
/* then a pause and another flash series signifying ADABOOT sub-version */
flash_led
(
NUM_LED_FLASHES
);
#ifdef ADABOOT
flash_led
(
ADABOOT_VER
);
// BBR 9/13/2008
#endif
/* forever loop */
for
(;;)
{
/* get character from UART */
ch
=
getch
();
/* A bunch of if...else if... gives smaller code than switch...case ! */
/* Hello is anyone home ? */
if
(
ch
==
'0'
)
nothing_response
();
/* Request programmer ID */
/* Not using PROGMEM string due to boot block in m128 being beyond 64kB boundry */
/* Would need to selectively manipulate RAMPZ, and it's only 9 characters anyway so who cares. */
else
if
(
ch
==
'1'
)
{
if
(
getch
()
==
' '
)
{
putch
(
0x14
);
putch
(
'A'
);
putch
(
'V'
);
putch
(
'R'
);
putch
(
' '
);
putch
(
'I'
);
putch
(
'S'
);
putch
(
'P'
);
putch
(
0x10
);
}
else
{
if
(
++
error_count
==
MAX_ERROR_COUNT
)
app_start
();
}
}
/* AVR ISP/STK500 board commands DON'T CARE so default nothing_response */
else
if
(
ch
==
'@'
)
{
ch2
=
getch
();
if
(
ch2
>
0x85
)
getch
();
nothing_response
();
}
/* AVR ISP/STK500 board requests */
else
if
(
ch
==
'A'
)
{
ch2
=
getch
();
if
(
ch2
==
0x80
)
byte_response
(
HW_VER
);
// Hardware version
else
if
(
ch2
==
0x81
)
byte_response
(
SW_MAJOR
);
// Software major version
else
if
(
ch2
==
0x82
)
byte_response
(
SW_MINOR
);
// Software minor version
else
if
(
ch2
==
0x98
)
byte_response
(
0x03
);
// Unknown but seems to be required by avr studio 3.56
else
byte_response
(
0x00
);
// Covers various unnecessary responses we don't care about
}
/* Device Parameters DON'T CARE, DEVICE IS FIXED */
else
if
(
ch
==
'B'
)
{
getNch
(
20
);
nothing_response
();
}
/* Parallel programming stuff DON'T CARE */
else
if
(
ch
==
'E'
)
{
getNch
(
5
);
nothing_response
();
}
/* Enter programming mode */
else
if
(
ch
==
'P'
)
{
nothing_response
();
}
/* Leave programming mode */
else
if
(
ch
==
'Q'
)
{
nothing_response
();
#ifdef ADABOOT
// autoreset via watchdog (sneaky!) BBR/LF 9/13/2008
WDTCSR
=
_BV
(
WDE
);
while
(
1
);
// 16 ms
#endif
}
/* Erase device, don't care as we will erase one page at a time anyway. */
else
if
(
ch
==
'R'
)
{
nothing_response
();
}
/* Set address, little endian. EEPROM in bytes, FLASH in words */
/* Perhaps extra address bytes may be added in future to support > 128kB FLASH. */
/* This might explain why little endian was used here, big endian used everywhere else. */
else
if
(
ch
==
'U'
)
{
address
.
byte
[
0
]
=
getch
();
address
.
byte
[
1
]
=
getch
();
nothing_response
();
}
/* Universal SPI programming command, disabled. Would be used for fuses and lock bits. */
else
if
(
ch
==
'V'
)
{
getNch
(
4
);
byte_response
(
0x00
);
}
/* Write memory, length is big endian and is in bytes */
else
if
(
ch
==
'd'
)
{
length
.
byte
[
1
]
=
getch
();
length
.
byte
[
0
]
=
getch
();
flags
.
eeprom
=
0
;
if
(
getch
()
==
'E'
)
flags
.
eeprom
=
1
;
for
(
i
=
0
;
i
<
PAGE_SIZE
;
i
++
)
buff
[
i
]
=
0
;
for
(
w
=
0
;
w
<
length
.
word
;
w
++
)
{
// Store data in buffer, can't keep up with serial data stream whilst programming pages
buff
[
w
]
=
getch
();
}
if
(
getch
()
==
' '
)
{
if
(
flags
.
eeprom
)
{
//Write to EEPROM one byte at a time
for
(
w
=
0
;
w
<
length
.
word
;
w
++
)
{
while
(
EECR
&
(
1
<<
EEPE
));
EEAR
=
(
uint16_t
)(
void
*
)
address
.
word
;
EEDR
=
buff
[
w
];
EECR
|=
(
1
<<
EEMPE
);
EECR
|=
(
1
<<
EEPE
);
address
.
word
++
;
}
}
else
{
//address * 2 -> byte location
address
.
word
=
address
.
word
<<
1
;
//Even up an odd number of bytes
if
((
length
.
byte
[
0
]
&
0x01
))
length
.
word
++
;
// HACKME: EEPE used to be EEWE
//Wait for previous EEPROM writes to complete
//while(bit_is_set(EECR,EEPE));
while
(
EECR
&
(
1
<<
EEPE
));
asm
volatile
(
"clr r17
\n\t
"
//page_word_count
"lds r30,address
\n\t
"
//Address of FLASH location (in bytes)
"lds r31,address+1
\n\t
"
"ldi r28,lo8(buff)
\n\t
"
//Start of buffer array in RAM
"ldi r29,hi8(buff)
\n\t
"
"lds r24,length
\n\t
"
//Length of data to be written (in bytes)
"lds r25,length+1
\n\t
"
"length_loop:
\n\t
"
//Main loop, repeat for number of words in block
"cpi r17,0x00
\n\t
"
//If page_word_count=0 then erase page
"brne no_page_erase
\n\t
"
"wait_spm1:
\n\t
"
"lds r16,%0
\n\t
"
//Wait for previous spm to complete
"andi r16,1
\n\t
"
"cpi r16,1
\n\t
"
"breq wait_spm1
\n\t
"
"ldi r16,0x03
\n\t
"
//Erase page pointed to by Z
"sts %0,r16
\n\t
"
"spm
\n\t
"
"wait_spm2:
\n\t
"
"lds r16,%0
\n\t
"
//Wait for previous spm to complete
"andi r16,1
\n\t
"
"cpi r16,1
\n\t
"
"breq wait_spm2
\n\t
"
"ldi r16,0x11
\n\t
"
//Re-enable RWW section
"sts %0,r16
\n\t
"
"spm
\n\t
"
"no_page_erase:
\n\t
"
"ld r0,Y+
\n\t
"
//Write 2 bytes into page buffer
"ld r1,Y+
\n\t
"
"wait_spm3:
\n\t
"
"lds r16,%0
\n\t
"
//Wait for previous spm to complete
"andi r16,1
\n\t
"
"cpi r16,1
\n\t
"
"breq wait_spm3
\n\t
"
"ldi r16,0x01
\n\t
"
//Load r0,r1 into FLASH page buffer
"sts %0,r16
\n\t
"
"spm
\n\t
"
"inc r17
\n\t
"
//page_word_count++
"cpi r17,%1
\n\t
"
"brlo same_page
\n\t
"
//Still same page in FLASH
"write_page:
\n\t
"
"clr r17
\n\t
"
//New page, write current one first
"wait_spm4:
\n\t
"
"lds r16,%0
\n\t
"
//Wait for previous spm to complete
"andi r16,1
\n\t
"
"cpi r16,1
\n\t
"
"breq wait_spm4
\n\t
"
"ldi r16,0x05
\n\t
"
//Write page pointed to by Z
"sts %0,r16
\n\t
"
"spm
\n\t
"
"wait_spm5:
\n\t
"
"lds r16,%0
\n\t
"
//Wait for previous spm to complete
"andi r16,1
\n\t
"
"cpi r16,1
\n\t
"
"breq wait_spm5
\n\t
"
"ldi r16,0x11
\n\t
"
//Re-enable RWW section
"sts %0,r16
\n\t
"
"spm
\n\t
"
"same_page:
\n\t
"
"adiw r30,2
\n\t
"
//Next word in FLASH
"sbiw r24,2
\n\t
"
//length-2
"breq final_write
\n\t
"
//Finished
"rjmp length_loop
\n\t
"
"final_write:
\n\t
"
"cpi r17,0
\n\t
"
"breq block_done
\n\t
"
"adiw r24,2
\n\t
"
//length+2, fool above check on length after short page write
"rjmp write_page
\n\t
"
"block_done:
\n\t
"
"clr __zero_reg__
\n\t
"
//restore zero register
:
"=m"
(
SPMCSR
)
:
"M"
(
PAGE_SIZE
)
:
"r0"
,
"r16"
,
"r17"
,
"r24"
,
"r25"
,
"r28"
,
"r29"
,
"r30"
,
"r31"
);
}
putch
(
0x14
);
putch
(
0x10
);
}
else
{
if
(
++
error_count
==
MAX_ERROR_COUNT
)
app_start
();
}
}
/* Read memory block mode, length is big endian. */
else
if
(
ch
==
't'
)
{
length
.
byte
[
1
]
=
getch
();
length
.
byte
[
0
]
=
getch
();
if
(
getch
()
==
'E'
)
flags
.
eeprom
=
1
;
else
{
flags
.
eeprom
=
0
;
address
.
word
=
address
.
word
<<
1
;
// address * 2 -> byte location
}
// Command terminator
if
(
getch
()
==
' '
)
{
putch
(
0x14
);
for
(
w
=
0
;
w
<
length
.
word
;
w
++
)
{
// Can handle odd and even lengths okay
if
(
flags
.
eeprom
)
{
// Byte access EEPROM read
while
(
EECR
&
(
1
<<
EEPE
));
EEAR
=
(
uint16_t
)(
void
*
)
address
.
word
;
EECR
|=
(
1
<<
EERE
);
putch
(
EEDR
);
address
.
word
++
;
}
else
{
if
(
!
flags
.
rampz
)
putch
(
pgm_read_byte_near
(
address
.
word
));
address
.
word
++
;
}
}
putch
(
0x10
);
}
}
/* Get device signature bytes */
else
if
(
ch
==
'u'
)
{
if
(
getch
()
==
' '
)
{
putch
(
0x14
);
putch
(
SIG1
);
putch
(
SIG2
);
putch
(
SIG3
);
putch
(
0x10
);
}
else
{
if
(
++
error_count
==
MAX_ERROR_COUNT
)
app_start
();
}
}
/* Read oscillator calibration byte */
else
if
(
ch
==
'v'
)
byte_response
(
0x00
);
else
if
(
++
error_count
==
MAX_ERROR_COUNT
)
app_start
();
}
/* end of forever loop */
}
char
gethex
(
void
)
{
char
ah
,
al
;
ah
=
getch
();
putch
(
ah
);
al
=
getch
();
putch
(
al
);
if
(
ah
>=
'a'
)
ah
=
ah
-
'a'
+
0x0a
;
else
if
(
ah
>=
'0'
)
ah
-=
'0'
;
if
(
al
>=
'a'
)
al
=
al
-
'a'
+
0x0a
;
else
if
(
al
>=
'0'
)
al
-=
'0'
;
return
(
ah
<<
4
)
+
al
;
}
void
puthex
(
char
ch
)
{
char
ah
,
al
;
ah
=
(
ch
&
0xf0
)
>>
4
;
if
(
ah
>=
0x0a
)
ah
=
ah
-
0x0a
+
'a'
;
else
ah
+=
'0'
;
al
=
(
ch
&
0x0f
);
if
(
al
>=
0x0a
)
al
=
al
-
0x0a
+
'a'
;
else
al
+=
'0'
;
putch
(
ah
);
putch
(
al
);
}
void
putch
(
char
ch
)
{
while
(
!
(
UCSR0A
&
_BV
(
UDRE0
)));
UDR0
=
ch
;
}
char
getch
(
void
)
{
uint32_t
count
=
0
;
#ifdef ADABOOT
LED_PORT
&=
~
_BV
(
LED
);
// toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008
#endif
while
(
!
(
UCSR0A
&
_BV
(
RXC0
)))
{
/* 20060803 DojoCorp:: Addon coming from the previous Bootloader*/
/* HACKME:: here is a good place to count times*/
count
++
;
if
(
count
>
MAX_TIME_COUNT
)
app_start
();
}
#ifdef ADABOOT
LED_PORT
|=
_BV
(
LED
);
// toggle LED to show activity - BBR/LF 10/3/2007 & 9/13/2008
#endif
return
UDR0
;
}
void
getNch
(
uint8_t
count
)
{
uint8_t
i
;
for
(
i
=
0
;
i
<
count
;
i
++
)
{
while
(
!
(
UCSR0A
&
_BV
(
RXC0
)));
UDR0
;
}
}
void
byte_response
(
uint8_t
val
)
{
if
(
getch
()
==
' '
)
{
putch
(
0x14
);
putch
(
val
);
putch
(
0x10
);
}
else
{
if
(
++
error_count
==
MAX_ERROR_COUNT
)
app_start
();
}
}
void
nothing_response
(
void
)
{
if
(
getch
()
==
' '
)
{
putch
(
0x14
);
putch
(
0x10
);
}
else
{
if
(
++
error_count
==
MAX_ERROR_COUNT
)
app_start
();
}
}
#ifdef ADABOOT
void
flash_led
(
uint8_t
count
)
{
/* flash onboard LED count times to signal entering of bootloader */
/* l needs to be volatile or the delay loops below might get */
/* optimized away if compiling with optimizations (DAM). */
volatile
uint32_t
l
;
if
(
count
==
0
)
{
count
=
ADABOOT
;
}
int8_t
i
;
for
(
i
=
0
;
i
<
count
;
++
i
)
{
LED_PORT
|=
_BV
(
LED
);
// LED on
for
(
l
=
0
;
l
<
(
F_CPU
/
1000
);
++
l
);
// delay NGvalue was 1000 for both loops - BBR
LED_PORT
&=
~
_BV
(
LED
);
// LED off
for
(
l
=
0
;
l
<
(
F_CPU
/
250
);
++
l
);
// delay asymmteric for ADA BOOT BBR
}
for
(
l
=
0
;
l
<
(
F_CPU
/
100
);
++
l
);
// pause ADA BOOT BBR
}
#else
void
flash_led
(
uint8_t
count
)
{
/* flash onboard LED three times to signal entering of bootloader */
/* l needs to be volatile or the delay loops below might get
optimized away if compiling with optimizations (DAM). */
volatile
uint32_t
l
;
if
(
count
==
0
)
{
count
=
3
;
}
int8_t
i
;
for
(
i
=
0
;
i
<
count
;
++
i
)
{
LED_PORT
|=
_BV
(
LED
);
for
(
l
=
0
;
l
<
(
F_CPU
/
1000
);
++
l
);
LED_PORT
&=
~
_BV
(
LED
);
for
(
l
=
0
;
l
<
(
F_CPU
/
1000
);
++
l
);
}
}
#endif
/* end of file ATmegaBOOT.c */
ArduinoAddons/Arduino_0.xx/Gen6/bootloaders/atmega644p/ATmegaBOOT_324P.hex
deleted
100644 → 0
View file @
1bd1a030
:10F800000C943E7C0C945B7C0C945B7C0C945B7C39
:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C
:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC
:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC
:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC
:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC
:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC
:10F870000C945B7C0C945B7C0C945B7C11241FBE11
:10F88000CFEFD8E0DEBFCDBF11E0A0E0B1E0E6E60B
:10F89000FFEF02C005900D92A030B107D9F712E03A
:10F8A000A0E0B1E001C01D92A930B107E1F70E94CC
:10F8B000537D0C94B27F0C94007CCF93DF93CDB733
:10F8C000DEB724970FB6F894DEBF0FBECDBF8823F6
:10F8D00009F481E020E0482F55274115510509F42E
:10F8E0003DC0289A19821A821B821C820BC0898112
:10F8F0009A81AB81BC810196A11DB11D89839A8338
:10F90000AB83BC8389819A81AB81BC8180589E4343
:10F91000A040B04060F3289819821A821B821C8292
:10F920000BC089819A81AB81BC810196A11DB11D5B
:10F9300089839A83AB83BC8389819A81AB81BC81A3
:10F9400080509A4FA040B04060F32F5F822F9927DC
:10F9500087FD9095841795070CF4C3CF19821A82FE
:10F960001B821C8289819A81AB81BC818050914726
:10F97000A240B040A0F489819A81AB81BC810196FC
:10F98000A11DB11D89839A83AB83BC8389819A8130
:10F99000AB81BC8180509147A240B04060F3249677
:10F9A0000FB6F894DEBF0FBECDBFDF91CF910895A3
:10F9B000EF92FF920F931F93EE24FF248701289864
:10F9C0008091C00087FD17C00894E11CF11C011D47
:10F9D000111D81E0E81689E0F8068DE3080780E054
:10F9E000180770F3E0910001F091010109958091F1
:10F9F000C00087FFE9CF289A8091C600992787FD2C
:10FA000090951F910F91FF90EF900895982F8091FE
:10FA1000C00085FFFCCF9093C60008950E94D87C5B
:10FA2000803271F0809102018F5F809302018530F6
:10FA300009F00895E0910001F09101010995089500
:10FA400084E10E94067D80E10E94067D0895CF93A7
:10FA5000C82F0E94D87C803241F0809102018F5FD4
:10FA600080930201853081F40AC084E10E94067D02
:10FA70008C2F0E94067D80E10E94067D05C0E091EA
:10FA80000001F09101010995CF910895282F90E090
:10FA900007C08091C0008823E4F78091C6009F5F73
:10FAA0009217B8F30895CFEFD8E0DEBFCDBF0000C6
:10FAB00094B714BE809160008861809360001092BA
:10FAC000600091FF74C189E18093C4001092C50069
:10FAD00088E18093C10086E08093C2005098589AD4
:10FAE000209A83E00E945D7C81E00E945D7C0E9400
:10FAF000D87C8033B9F18133C1F1803409F456C028
:10FB0000813409F45CC0823409F46EC0853409F490
:10FB100071C0803539F1813509F4F3C0823511F1B6
:10FB2000853509F4D3C0863509F4CBC0843609F491
:10FB300065C0843709F4EBC0853709F4D2C0863735
:10FB400009F44AC0809102018F5F809302018530E1
:10FB500071F6E0910001F091010109950E94D87CB5
:10FB6000803349F60E940E7DC2CF0E94D87CC82FF8
:10FB7000803241F784E10E94067D81E40E94067D87
:10FB800086E50E94067D82E50E94067D8C2F0E94FC
:10FB9000067D89E40E94067D83E50E94067D80E55E
:10FBA0000E94067D80E10E94067DA1CF0E94D87C44
:10FBB0008638C0F20E94D87C0E940E7D98CF0E94A9
:10FBC000D87C803809F407C1813809F400C1823833
:10FBD00009F4F9C0883921F080E00E94277D87CFA1
:10FBE00083E00E94277D83CF84E10E94467D0E94AE
:10FBF0000E7D7DCF85E00E94467DF9CF0E94D87CA6
:10FC0000809306020E94D87C8093050280910802AE
:10FC10008E7F809308020E94D87C853409F44BC003
:10FC2000E5E0F1E0119281E0E438F807D9F3D0F390
:10FC3000C0E0D0E0809105029091060218161906E6
:10FC400078F405E011E00E94D87CF80181938F01DF
:10FC500021968091050290910602C817D90798F362
:10FC60000E94D87C803209F06DCF8091080280FF1D
:10FC7000B6C0C0E0D0E02091050230910602121615
:10FC80001306B8F4E0910301F0910401A5E0B1E09E
:10FC9000F999FECFF2BDE1BD8D9180BDFA9AF99A36
:10FCA00031962196C217D30798F3F0930401E0939D
:10FCB000030184E175CF809108028160809308027E
:10FCC000AFCF84E00E94467D80E087CF0E94D87C41
:10FCD000809303010E94D87C809304010E940E7DD2
:10FCE00006CF0E94D87C803209F02CCF84E10E949C
:10FCF000067D8EE10E94067D85E90E94067D88E0F2
:10FD00004FCF0E940E7D88E080936000FFCF0E945D
:10FD1000D87C809306020E94D87C809305020E94C2
:10FD2000D87C853409F449C0809108028E7F809385
:10FD300008028091030190910401880F991F90930C
:10FD40000401809303010E94D87C803209F0CFCE59
:10FD500084E10E94067DC0E0D0E020910502309150
:10FD600006021216130608F01DCFE0910301F09170
:10FD700004018091080280FF96C0F999FECFF2BD80
:10FD8000E1BDF89A80B50E94067DE0910301F091F3
:10FD900004013196F0930401E093030120910502E0
:10FDA000309106022196C217D30718F3FBCEE091DB
:10FDB0000001F0910101099586CE809108028160D1
:10FDC00080930802C0CF80E10E94277D90CE81E021
:10FDD0000E94277D8CCE82E00E94277D88CE809174
:10FDE000030190910401880F991F9093040180935F
:10FDF00003018091050280FF09C080910502909166
:10FE0000060201969093060280930502F999FECFAF
:10FE10001127E0910301F0910401C5E0D1E0809148
:10FE2000050290910602103091F400915700017084
:10FE30000130D9F303E000935700E8950091570093
:10FE400001700130D9F301E100935700E895099062
:10FE500019900091570001700130D9F301E000932F
:10FE60005700E8951395103898F011270091570026
:10FE700001700130D9F305E000935700E895009137
:10FE8000570001700130D9F301E100935700E89564
:10FE90003296029709F0C7CF103011F00296E5CFE5
:10FEA000112484E17DCE869580FF06C03196F093C3
:10FEB0000401E093030176CF84910E94067D209196
:10FEC000050230910602E0910301F0910401EECFAA
:10FED0001F93CF930E94D87CC82F0E94067D0E945A
:10FEE000D87C182F0E94067DC1362CF0C7551136DC
:10FEF0003CF0175508C0C033D4F3C0531136CCF7CB
:10FF000010330CF01053C295C07FC10F8C2F99276E
:10FF100087FD9095CF911F910895CF93282F992712
:10FF200087FD9095807F907095958795959587959D
:10FF300095958795959587958A303CF0895AC22F7B
:10FF4000CF70CA303CF0C95A06C0805DC22FCF7056
:10FF5000CA30CCF7C05D0E94067D8C2F0E94067DC2
:06FF6000CF910895FFCFD0
:040000030000F80001
:00000001FF
ArduinoAddons/Arduino_0.xx/Gen6/bootloaders/atmega644p/ATmegaBOOT_644.hex
deleted
100644 → 0
View file @
1bd1a030
:10F800000C94387C0C94557C0C94557C0C94557C51
:10F810000C94557C0C94557C0C94557C0C94557C24
:10F820000C94557C0C94557C0C94557C0C94557C14
:10F830000C94557C0C94557C0C94557C0C94557C04
:10F840000C94557C0C94557C0C94557C0C94557CF4
:10F850000C94557C0C94557C0C94557C0C94557CE4
:10F860000C94557C0C94557C0C94557C0C94557CD4
:10F8700011241FBECFEFD0E1DEBFCDBF11E0A0E06D
:10F88000B1E0EAE5FFEF02C005900D92A030B107AC
:10F89000D9F712E0A0E0B1E001C01D92A930B10794
:10F8A000E1F70E944D7D0C94AC7F0C94007CCF93CB
:10F8B000DF93CDB7DEB724970FB6F894DEBF0FBE47
:10F8C000CDBF882309F481E020E0482F552741155A
:10F8D000510509F43DC0289A19821A821B821C82A4
:10F8E0000BC089819A81AB81BC810196A11DB11D9C
:10F8F00089839A83AB83BC8389819A81AB81BC81E4
:10F9000080589E43A040B04060F3289819821A8224
:10F910001B821C820BC089819A81AB81BC810196BC
:10F92000A11DB11D89839A83AB83BC8389819A8190
:10F93000AB81BC8180509A4FA040B04060F32F5FF4
:10F94000822F992787FD9095841795070CF4C3CFD4
:10F9500019821A821B821C8289819A81AB81BC81A7
:10F9600080509147A240B040A0F489819A81AB8138
:10F97000BC810196A11DB11D89839A83AB83BC8391
:10F9800089819A81AB81BC8180509147A240B0406F
:10F9900060F324960FB6F894DEBF0FBECDBFDF91A3
:10F9A000CF910895EF92FF920F931F93EE24FF24BF
:10F9B000870128988091C00087FD17C00894E11C3A
:10F9C000F11C011D111D81E0E81689E0F8068DE3A8
:10F9D000080780E0180770F3E0910001F091010141
:10F9E00009958091C00087FFE9CF289A8091C600D1
:10F9F000992787FD90951F910F91FF90EF900895A3
:10FA0000982F8091C00085FFFCCF9093C600089589
:10FA10000E94D27C803271F0809102018F5F8093CE
:10FA20000201853009F00895E0910001F091010193
:10FA30000995089584E10E94007D80E10E94007D87
:10FA40000895CF93C82F0E94D27C803241F08091DC
:10FA500002018F5F80930201853081F40AC084E146
:10FA60000E94007D8C2F0E94007D80E10E94007D1D
:10FA700005C0E0910001F09101010995CF91089531
:10FA8000282F90E007C08091C0008823E4F7809180
:10FA9000C6009F5F9217B8F30895CFEFD0E1DEBFA5
:10FAA000CDBF000094B714BE809160008861809340
:10FAB00060001092600091FF74C189E18093C400DE
:10FAC0001092C50088E18093C10086E08093C20057
:10FAD0005098589A209A83E00E94577C81E00E94B7
:10FAE000577C0E94D27C8033B9F18133C1F18034DC
:10FAF00009F456C0813409F45CC0823409F46EC044
:10FB0000853409F471C0803539F1813509F4F3C0C9
:10FB1000823511F1853509F4D3C0863509F4CBC09F
:10FB2000843609F465C0843709F4EBC0853709F4DD
:10FB3000D2C0863709F44AC0809102018F5F80935A
:10FB40000201853071F6E0910001F0910101099503
:10FB50000E94D27C803349F60E94087DC2CF0E9469
:10FB6000D27CC82F803241F784E10E94007D81E47D
:10FB70000E94007D86E50E94007D82E50E94007D56
:10FB80008C2F0E94007D89E40E94007D83E50E9405
:10FB9000007D80E50E94007D80E10E94007DA1CF74
:10FBA0000E94D27C8638C0F20E94D27C0E94087DDE
:10FBB00098CF0E94D27C803809F407C1813809F4BB
:10FBC00000C1823809F4F9C0883921F080E00E9430
:10FBD000217D87CF83E00E94217D83CF84E10E9435
:10FBE000407D0E94087D7DCF85E00E94407DF9CF59
:10FBF0000E94D27C809306020E94D27C80930502F0
:10FC0000809108028E7F809308020E94D27C853406
:10FC100009F44BC0E5E0F1E0119281E0E438F80727
:10FC2000D9F3D0F3C0E0D0E08091050290910602B4
:10FC30001816190678F405E011E00E94D27CF8014C
:10FC400081938F0121968091050290910602C81739
:10FC5000D90798F30E94D27C803209F06DCF809151
:10FC6000080280FFB6C0C0E0D0E0209105023091CC
:10FC7000060212161306B8F4E0910301F091040194
:10FC8000A5E0B1E0F999FECFF2BDE1BD8D9180BD57
:10FC9000FA9AF99A31962196C217D30798F3F093FE
:10FCA0000401E093030184E175CF80910802816033
:10FCB00080930802AFCF84E00E94407D80E087CF30
:10FCC0000E94D27C809303010E94D27C8093040125
:10FCD0000E94087D06CF0E94D27C803209F02CCF92
:10FCE00084E10E94007D8EE10E94007D86E90E94F1
:10FCF000007D89E04FCF0E94087D88E080936000FE
:10FD0000FFCF0E94D27C809306020E94D27C809317
:10FD100005020E94D27C853409F449C08091080212
:10FD20008E7F809308028091030190910401880FD7
:10FD3000991F90930401809303010E94D27C80322A
:10FD400009F0CFCE84E10E94007DC0E0D0E0209198
:10FD50000502309106021216130608F01DCFE0913D
:10FD60000301F09104018091080280FF96C0F99987
:10FD7000FECFF2BDE1BDF89A80B50E94007DE09112
:10FD80000301F09104013196F0930401E093030123
:10FD900020910502309106022196C217D30718F36D
:10FDA000FBCEE0910001F0910101099586CE809192
:10FDB0000802816080930802C0CF80E10E94217D0B
:10FDC00090CE81E00E94217D8CCE82E00E94217D38
:10FDD00088CE8091030190910401880F991F909320
:10FDE0000401809303018091050280FF09C0809186
:10FDF00005029091060201969093060280930502F7
:10FE0000F999FECF1127E0910301F0910401C5E0BB
:10FE1000D1E08091050290910602103091F400919A
:10FE2000570001700130D9F303E000935700E895C3
:10FE30000091570001700130D9F301E100935700A0
:10FE4000E895099019900091570001700130D9F39D
:10FE500001E000935700E8951395103898F01127AA
:10FE60000091570001700130D9F305E0009357006D
:10FE7000E8950091570001700130D9F301E100933A
:10FE80005700E8953296029709F0C7CF103011F06D
:10FE90000296E5CF112484E17DCE869580FF06C0D1
:10FEA0003196F0930401E093030176CF84910E9490
:10FEB000007D2091050230910602E0910301F0914E
:10FEC0000401EECF1F93CF930E94D27CC82F0E94D3
:10FED000007D0E94D27C182F0E94007DC1362CF03C
:10FEE000C75511363CF0175508C0C033D4F3C05382
:10FEF0001136CCF710330CF01053C295C07FC10FF0
:10FF00008C2F992787FD9095CF911F910895CF93BE
:10FF1000282F992787FD9095807F907095958795DC
:10FF20009595879595958795959587958A303CF019
:10FF3000895AC22FCF70CA303CF0C95A06C0805DC2
:10FF4000C22FCF70CA30CCF7C05D0E94007D8C2FCD
:0AFF50000E94007DCF910895FFCFBD
:040000030000F80001
:00000001FF
ArduinoAddons/Arduino_0.xx/Gen6/bootloaders/atmega644p/ATmegaBOOT_644P.hex
deleted
100644 → 0
View file @
1bd1a030
:10F800000C943E7C0C945B7C0C945B7C0C945B7C39
:10F810000C945B7C0C945B7C0C945B7C0C945B7C0C
:10F820000C945B7C0C945B7C0C945B7C0C945B7CFC
:10F830000C945B7C0C945B7C0C945B7C0C945B7CEC
:10F840000C945B7C0C945B7C0C945B7C0C945B7CDC
:10F850000C945B7C0C945B7C0C945B7C0C945B7CCC
:10F860000C945B7C0C945B7C0C945B7C0C945B7CBC
:10F870000C945B7C0C945B7C0C945B7C11241FBE11
:10F88000CFEFD0E1DEBFCDBF11E0A0E0B1E0E6E612
:10F89000FFEF02C005900D92A030B107D9F712E03A
:10F8A000A0E0B1E001C01D92A930B107E1F70E94CC
:10F8B000537D0C94B27F0C94007CCF93DF93CDB733
:10F8C000DEB724970FB6F894DEBF0FBECDBF8823F6
:10F8D00009F481E020E0482F55274115510509F42E
:10F8E0003DC0289A19821A821B821C820BC0898112
:10F8F0009A81AB81BC810196A11DB11D89839A8338
:10F90000AB83BC8389819A81AB81BC8180589E4343
:10F91000A040B04060F3289819821A821B821C8292
:10F920000BC089819A81AB81BC810196A11DB11D5B
:10F9300089839A83AB83BC8389819A81AB81BC81A3
:10F9400080509A4FA040B04060F32F5F822F9927DC
:10F9500087FD9095841795070CF4C3CF19821A82FE
:10F960001B821C8289819A81AB81BC818050914726
:10F97000A240B040A0F489819A81AB81BC810196FC
:10F98000A11DB11D89839A83AB83BC8389819A8130
:10F99000AB81BC8180509147A240B04060F3249677
:10F9A0000FB6F894DEBF0FBECDBFDF91CF910895A3
:10F9B000EF92FF920F931F93EE24FF248701289864
:10F9C0008091C00087FD17C00894E11CF11C011D47
:10F9D000111D81E0E81689E0F8068DE3080780E054
:10F9E000180770F3E0910001F091010109958091F1
:10F9F000C00087FFE9CF289A8091C600992787FD2C
:10FA000090951F910F91FF90EF900895982F8091FE
:10FA1000C00085FFFCCF9093C60008950E94D87C5B
:10FA2000803271F0809102018F5F809302018530F6
:10FA300009F00895E0910001F09101010995089500
:10FA400084E10E94067D80E10E94067D0895CF93A7
:10FA5000C82F0E94D87C803241F0809102018F5FD4
:10FA600080930201853081F40AC084E10E94067D02
:10FA70008C2F0E94067D80E10E94067D05C0E091EA
:10FA80000001F09101010995CF910895282F90E090
:10FA900007C08091C0008823E4F78091C6009F5F73
:10FAA0009217B8F30895CFEFD0E1DEBFCDBF0000CD
:10FAB00094B714BE809160008861809360001092BA
:10FAC000600091FF74C189E18093C4001092C50069
:10FAD00088E18093C10086E08093C2005098589AD4
:10FAE000209A83E00E945D7C81E00E945D7C0E9400
:10FAF000D87C8033B9F18133C1F1803409F456C028
:10FB0000813409F45CC0823409F46EC0853409F490
:10FB100071C0803539F1813509F4F3C0823511F1B6
:10FB2000853509F4D3C0863509F4CBC0843609F491
:10FB300065C0843709F4EBC0853709F4D2C0863735
:10FB400009F44AC0809102018F5F809302018530E1
:10FB500071F6E0910001F091010109950E94D87CB5
:10FB6000803349F60E940E7DC2CF0E94D87CC82FF8
:10FB7000803241F784E10E94067D81E40E94067D87
:10FB800086E50E94067D82E50E94067D8C2F0E94FC
:10FB9000067D89E40E94067D83E50E94067D80E55E
:10FBA0000E94067D80E10E94067DA1CF0E94D87C44
:10FBB0008638C0F20E94D87C0E940E7D98CF0E94A9
:10FBC000D87C803809F407C1813809F400C1823833
:10FBD00009F4F9C0883921F080E00E94277D87CFA1
:10FBE00083E00E94277D83CF84E10E94467D0E94AE
:10FBF0000E7D7DCF85E00E94467DF9CF0E94D87CA6
:10FC0000809306020E94D87C8093050280910802AE
:10FC10008E7F809308020E94D87C853409F44BC003
:10FC2000E5E0F1E0119281E0E438F807D9F3D0F390
:10FC3000C0E0D0E0809105029091060218161906E6
:10FC400078F405E011E00E94D87CF80181938F01DF
:10FC500021968091050290910602C817D90798F362
:10FC60000E94D87C803209F06DCF8091080280FF1D
:10FC7000B6C0C0E0D0E02091050230910602121615
:10FC80001306B8F4E0910301F0910401A5E0B1E09E
:10FC9000F999FECFF2BDE1BD8D9180BDFA9AF99A36
:10FCA00031962196C217D30798F3F0930401E0939D
:10FCB000030184E175CF809108028160809308027E
:10FCC000AFCF84E00E94467D80E087CF0E94D87C41
:10FCD000809303010E94D87C809304010E940E7DD2
:10FCE00006CF0E94D87C803209F02CCF84E10E949C
:10FCF000067D8EE10E94067D86E90E94067D8AE0EF
:10FD00004FCF0E940E7D88E080936000FFCF0E945D
:10FD1000D87C809306020E94D87C809305020E94C2
:10FD2000D87C853409F449C0809108028E7F809385
:10FD300008028091030190910401880F991F90930C
:10FD40000401809303010E94D87C803209F0CFCE59
:10FD500084E10E94067DC0E0D0E020910502309150
:10FD600006021216130608F01DCFE0910301F09170
:10FD700004018091080280FF96C0F999FECFF2BD80
:10FD8000E1BDF89A80B50E94067DE0910301F091F3
:10FD900004013196F0930401E093030120910502E0
:10FDA000309106022196C217D30718F3FBCEE091DB
:10FDB0000001F0910101099586CE809108028160D1
:10FDC00080930802C0CF80E10E94277D90CE81E021
:10FDD0000E94277D8CCE82E00E94277D88CE809174
:10FDE000030190910401880F991F9093040180935F
:10FDF00003018091050280FF09C080910502909166
:10FE0000060201969093060280930502F999FECFAF
:10FE10001127E0910301F0910401C5E0D1E0809148
:10FE2000050290910602103091F400915700017084
:10FE30000130D9F303E000935700E8950091570093
:10FE400001700130D9F301E100935700E895099062
:10FE500019900091570001700130D9F301E000932F
:10FE60005700E8951395103898F011270091570026
:10FE700001700130D9F305E000935700E895009137
:10FE8000570001700130D9F301E100935700E89564
:10FE90003296029709F0C7CF103011F00296E5CFE5
:10FEA000112484E17DCE869580FF06C03196F093C3
:10FEB0000401E093030176CF84910E94067D209196
:10FEC000050230910602E0910301F0910401EECFAA
:10FED0001F93CF930E94D87CC82F0E94067D0E945A
:10FEE000D87C182F0E94067DC1362CF0C7551136DC
:10FEF0003CF0175508C0C033D4F3C0531136CCF7CB
:10FF000010330CF01053C295C07FC10F8C2F99276E
:10FF100087FD9095CF911F910895CF93282F992712
:10FF200087FD9095807F907095958795959587959D
:10FF300095958795959587958A303CF0895AC22F7B
:10FF4000CF70CA303CF0C95A06C0805DC22FCF7056
:10FF5000CA30CCF7C05D0E94067D8C2F0E94067DC2
:06FF6000CF910895FFCFD0
:040000030000F80001
:00000001FF
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment