]>
git.gir.st - tmk_keyboard.git/blob - vusb/bootloader_usbasp.c
2 Copyright 2011 Jun Wako <wakojun@gmail.com>
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #include <avr/interrupt.h>
20 #include "bootloader.h"
23 void bootloader_jump(void) {
25 // This makes custom USBasploader come up.
30 PORTB
= 0; PORTC
= 0; PORTD
= 0;
31 DDRB
= 0; DDRC
= 0; DDRD
= 0;
34 EIMSK
= 0; EECR
= 0; SPCR
= 0;
35 ACSR
= 0; SPMCSR
= 0; WDTCSR
= 0; PCICR
= 0;
36 TIMSK0
= 0; TIMSK1
= 0; TIMSK2
= 0;
37 ADCSRA
= 0; TWCR
= 0; UCSR0B
= 0;
39 // Boot Loader Section Start Address:
40 // BOOTSZ Size Address
41 // (lock bit) (word) (word) (byte)
42 // '11' 128 0x1F80 0x3F00
43 // '10' 256 0x1F00 0x3E00
44 // '01' 512 0x1E00 0x3C00
45 // '00' 1024 0x1C00 0x3800
46 asm volatile("jmp 0x3800");