#ifndef CONFIG_H_ #define CONFIG_H_ #include #include //Configure project //Select MCU in project properties //Undefine this if needed #define _DEBUG_ //#define _NO_BOOTLOADER_ //Choose one #define _SLAVE_MODULE_ //#define _SLAVE_EXT_ //#define _CUSTOM_TYPE_ //After this see idibus_hw.h to change PIN definition //Done! //For 328pb #ifdef __ATmega328PB__ #define FLASH_SIZE 256*1024 //DONT FORGET TO CHANGE LINKER OPTIONS!!!! #define locationInBoot (0x3FE8UL) //CAREFUL ONLY 48 byte in size for data #define locationInApp (0x37C0UL) //FUSES #define F_Low 0xE0 #define F_Ext 0xFC #ifdef _DEBUG_ #define F_High 0xC0 //Allow DebugWIRE + EEPROM save #define F_Lock 0xFF //Disable LOCKS #else #define F_High 0xC8 //No DEBUG thing + No EEPROM save #define F_Lock 0xCC #endif #define SRAM_size 2048UL #endif //For 2560 #ifdef __ATmega2560__ #define _LONG_ADDR_SPACE_ #define _FAT_CRC_ #define FLASH_SIZE 256*1024 //Settings in the linker #define locationInBoot (0x1FF80ULL) #define locationInApp (0x1EF80ULL) //FUSES #define F_Low 0xE0 #define F_Ext 0xFC #ifdef _DEBUG_ #define F_High 0x00 //Enable JTAG and OCD + EEPROM save + no bootloader #define F_Lock 0xFF //Disable LOCKS #else #define F_High 0xC8 //No DEBUG thing + No EEPROM save #define F_Lock 0xCC #endif #define SRAM_size 8192UL #endif //For 1280 #ifdef __ATmega1280__ #define _LONG_ADDR_SPACE_ #define _FAT_CRC_ #define FLASH_SIZE 128*1024 //Settings in the linker #define locationInBoot (0x0FF80ULL) #define locationInApp (0x0EF80ULL) //FUSES #define F_Low 0xE0 #define F_Ext 0xFC #ifdef _DEBUG_ #define F_High 0x00 //Enable JTAG and OCD + EEPROM save #define F_Lock 0xFF //Disable LOCKS #else #define F_High 0xC8 //No DEBUG thing + No EEPROM save #define F_Lock 0xCC #endif #define SRAM_size 8192UL #endif //COMMON Define #define PAGE_COUNT (((locationInApp*2)/SPM_PAGESIZE)+1) #define LAST_FLASH_PAGE_ADDRW ((FLASH_SIZE - SPM_PAGESIZE)/2) #endif /* CONFIG_H_ */