From 503b4eba677f44f42ecd1699dff036466f8b9c09 Mon Sep 17 00:00:00 2001 From: jakeg00dwin Date: Fri, 22 Mar 2024 11:43:28 -0700 Subject: [PATCH] updated the avrgcc toolchain file --- toolchains/avrgcc_tc.cmake | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/toolchains/avrgcc_tc.cmake b/toolchains/avrgcc_tc.cmake index 6c534fb..14d2597 100644 --- a/toolchains/avrgcc_tc.cmake +++ b/toolchains/avrgcc_tc.cmake @@ -1,6 +1,9 @@ #Name of the OS set(CMAKE_SYSTEM_NAME ) +set(PROG_TYPE usbasp) + +#Default MCU setup set(MCU atmega328p) set(F_CPU 16000000) set(BAUD 9600) @@ -40,3 +43,18 @@ set(CMAKE_C_FLAGS "${CFLAGS}") set(CMAKE_CXX_FLAGS "${CXXFLAGS}") set(CMAKE_ASM_FLAGS "${CFLAGS}") + +# Project setup +include_directories(${INC_PATH} ${LIB_INC_PATH}) +add_executable(${PROJECT_NAME} ${SRC_FILES} ${LIB_SRC_FILES}) +set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}.elf") + +# Compiling targets +add_custom_target(strip ALL ${AVRSTRIP} "${PROJECT_NAME}.elf" DEPENDS ${PROJECT_NAME}) +add_custom_target(hex ALL ${OBJCOPY} -R .eeprom -O ihex "${PROJECT_NAME}.elf" "${PROJECT_NAME}.hex" DEPENDS strip) +add_custom_target(eeprom ${OBJCOPY} -j .eeprom --change-section-lma .eeprom=0 -O ihex "${PROJECT_NAME}.elf" "${PROJECT_NAME}.eeprom" DEPENDS strip) + +# We want "flash" to be a build target. +add_custom_target(flash ${AVRDUDE} -c ${PROG_TYPE} -p ${MCU} -U flash:w:${PROJECT_NAME}.hex DEPENDS hex) + +set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.hex;${PROJECT_NAME}.eeprom;${PROJECT_NAME}.lst")