# ############################### # AVR-GCC toolchain file # ############################### # Specify the cross-compiler set(CMAKE_SYSTEM_NAME Generic) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR avr) # Specify the compiler and linker set(AVR_MCU atmega328p) # The old Classic #set(AVR_MCU attiny85) # The older ATtiny series, avr25 #set(AVR_MCU attiny404) # this is the avrxmega3 series #set(AVR_MCU avr64dd28) # Newer DX series, avrxmega2 # The default frequency of an 328p devboard using the external crystal. #set(F_CPU 16000000) #set(F_CPU 8000000) add_compile_definitions(F_CPU=16000000UL) # add_compile_definitions(MCU=atmega328p) add_compile_definitions(__AVR_ATmega328P__) # Define the toolchain executables set(CMAKE_C_COMPILER avr-gcc) set(CMAKE_CXX_COMPILER avr-g++) set(CMAKE_ASM_COMPILER avr-gcc) set(CMAKE_LINKER avr-ld) set(CMAKE_OBJCOPY avr-objcopy) set(CMAKE_SIZE avr-size) # Define compile options #set(CMAKE_C_FLAGS_INIT "-mmcu=${AVR_MCU} -DF_CPU=16000000UL") #set(CMAKE_CXX_FLAGS_INIT "-mmcu=${AVR_MCU} -DF_CPU=16000000UL") #set(CMAKE_EXE_LINKER_FLAGS_INIT "-mmcu=${AVR_MCU}") set(CMAKE_C_FLAGS " -Os -mmcu=${AVR_MCU} -DF_CPU=16000000UL") set(CMAKE_CXX_FLAGS "-mmcu=${AVR_MCU} -DF_CPU=16000000UL") set(CMAKE_EXE_LINKER_FLAGS_INIT "-mmcu=${AVR_MCU}") # Define the archiver and other tools set(CMAKE_AR avr-ar) set(CMAKE_RANLIB avr-ranlib)