avrboot/chipdef.h

135 lines
3.9 KiB
C
Raw Normal View History

2006-05-01 19:10:39 +02:00
#ifndef CHIPDEF_H
#define CHIPDEF_H
2006-05-01 19:12:13 +02:00
#include <avr/io.h>
// TODO: make use of RAMEND in the avr-libc io-files and
// avoid a lot of by-device definitions here
2006-05-01 19:10:39 +02:00
#if defined(__AVR_ATmega169__)
#define sig_byte3 0x1E
#define sig_byte2 0x94
#define sig_byte1 0x05
#define devtype 0x79 // Mega 169 device code
2006-05-01 19:12:13 +02:00
// #define PAGESIZE 128 // 2*64 Words = Size in Bytes
2006-05-01 19:10:39 +02:00
#ifdef _B128
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*8192 / SPM_PAGESIZE)- (2*128 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B256
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*8192 / SPM_PAGESIZE)- (2*256 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B512
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*8192 / SPM_PAGESIZE)- (2*512 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B1024
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*8192 / SPM_PAGESIZE)- (2*1024 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B2048
#error "_B2048 not suppoted on this device"
#endif
#elif defined(__AVR_ATmega16__)
#define sig_byte3 0x1E
#define sig_byte2 0x94
#define sig_byte1 0x03
#define devtype 0x75 // Mega16 device code
2006-05-01 19:12:13 +02:00
// #define PAGESIZE 128 // Size in Bytes
2006-05-01 19:10:39 +02:00
#ifdef _B128
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*8192 / SPM_PAGESIZE)- (2*128 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B256
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*8192 / SPM_PAGESIZE)- (2*256 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B512
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*8192 / SPM_PAGESIZE)- (2*512 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B1024
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*8192 / SPM_PAGESIZE)- (2*1024 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B2048
#error "_B2048 not suppoted on this device"
#endif
#elif defined(__AVR_ATmega8__)
#define sig_byte3 0x1E
#define sig_byte2 0x93
#define sig_byte1 0x07
#define devtype 0x77 // Mega8 boot device code
2006-05-01 19:12:13 +02:00
// #define PAGESIZE 64 // Size in Bytes
2006-05-01 19:10:39 +02:00
#ifdef _B128
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*4096 / SPM_PAGESIZE)- (2*128 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B256
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*4096 / SPM_PAGESIZE)- (2*256 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B512
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*4096 / SPM_PAGESIZE)- (2*512 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B1024
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*4096 / SPM_PAGESIZE)- (2*1024 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B2048
#error "_B2048 not suppoted on this device"
#endif
#elif defined(__AVR_ATmega32__)
#define sig_byte3 0x1E
#define sig_byte2 0x95
#define sig_byte1 0x02
#define devtype 0x73 // Mega32 device code
2006-05-01 19:12:13 +02:00
// #define PAGESIZE 128 // Size in Bytes
2006-05-01 19:10:39 +02:00
#ifdef _B128
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*16384 / SPM_PAGESIZE)- (2*128 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B256
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*16384 / SPM_PAGESIZE)- (2*256 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B512
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*16384 / SPM_PAGESIZE)- (2*512 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B1024
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*16384 / SPM_PAGESIZE)- (2*1024 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#ifdef _B2048
2006-05-01 19:12:13 +02:00
#define APP_PAGES ((2*16384 / SPM_PAGESIZE)- (2*2048 / SPM_PAGESIZE ))
#define APP_END APP_PAGES * SPM_PAGESIZE
2006-05-01 19:10:39 +02:00
#endif
#else
#error "no definition for MCU available in chipdef.h"
#endif
#endif