|
|
|
# Lookup Helper Manifest
|
|
|
|
# This file is for connecting all targets to their respective locations in the framework
|
|
|
|
|
|
|
|
|
|
|
|
[arch]
|
|
|
|
PROJECT_NAME = ""
|
|
|
|
CC = "${TOOLCHAIN}-gcc"
|
|
|
|
CXX = "${TOOLCHAIN}-g++"
|
|
|
|
OBJCOPY = "${TOOLCHAIN}-objcopy"
|
|
|
|
OBJDUMP = "${TOOLCHAIN}-objdump"
|
|
|
|
GDB = "${TOOLCHAIN}-gdb"
|
|
|
|
SIZE = "${TOOLCHAIN}-size"
|
|
|
|
AS = "${TOOLCHAIN}-as"
|
|
|
|
DIR_INCLUDES = ["-I$(QUOTE)../../../inc$(QUOTE)"]
|
|
|
|
DEPS = "$(OBJS:%.o=%.d)"
|
|
|
|
DEPS_AS_ARGS = "$(OBJS_AS_ARGS:%.o=%.d)"
|
|
|
|
OBJS = ["src/main.o"]
|
|
|
|
OBJS_AS_ARGS = ["$(QUOTE)src/main.o$(QUOTE)"]
|
|
|
|
|
|
|
|
CLEAN_PREREQS = [""]
|
|
|
|
CLEAN_CMDS = ["@rm -f $(OBJS_AS_ARGS)",
|
|
|
|
"@rm -f $(DEPS_AS_ARGS)",
|
|
|
|
"@rm -f $(PROJECT_NAME).bin",
|
|
|
|
"@rm -f $(PROJECT_NAME).elf",
|
|
|
|
"@rm -f $(PROJECT_NAME).hex"]
|
|
|
|
|
|
|
|
DEBUG_PREREQS = ["all"]
|
|
|
|
DEBUG_CMDS = ["@$(GDB) $(PROJECT_NAME).elf -x $(QUOTE)scripts/debug.gdb$(QUOTE)"]
|
|
|
|
|
|
|
|
PUSH_PREREQS = ["all"]
|
|
|
|
PUSH_CMDS = ["@echo $(QUOTE)$(QUOTE)",
|
|
|
|
"@echo $(QUOTE)Uploading $(PROJECT_NAME).elf...$(QUOTE)",
|
|
|
|
"@$(GDB) $(PROJECT_NAME).elf -x $(QUOTE)scripts/push.gdb$(QUOTE) >/dev/null",
|
|
|
|
"@echo $(QUOTE)$(QUOTE)$(PROJECT_NAME).elf $(QUOTE) uploaded!$(QUOTE)",
|
|
|
|
"@$(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(PROJECT_NAME).elf$(QUOTE)"]
|
|
|
|
|
|
|
|
ELF_TARGET_PREREQS = ["$(OBJS)"]
|
|
|
|
ELF_TARGET_CMDS = ["$(QUOTE)$(CC)$(QUOTE) -o $@ $(OBJS_AS_ARGS) $(ELF_FLAGS)"]
|
|
|
|
|
|
|
|
BIN_TARGET_PREREQS = ["$(PROJECT_NAME).elf"]
|
|
|
|
BIN_TARGET_CMDS = ["$(QUOTE)$(OBJCOPY)$(QUOTE) -O binary $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE)"]
|
|
|
|
|
|
|
|
HEX_TARGET_PREREQS = ["$(PROJECT_NAME).elf"]
|
|
|
|
HEX_TARGET_CMDS = ["$(QUOTE)$(OBJCOPY)$(QUOTE) -O ihex $(HEX_FLAGS) $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE)"]
|
|
|
|
|
|
|
|
[arch.arm]
|
|
|
|
TOOLCHAIN = "arm-none-eabi"
|
|
|
|
# TOOLCHAIN = "${ESF_DIR}/toolchains/arm-none-eabi-toolchain/bin/arm-none-eabi"
|
|
|
|
CFLAGS = ["-x c", "-DDEBUG", "-Os",
|
|
|
|
"-g3",
|
|
|
|
"-Wall",
|
|
|
|
"-c",
|
|
|
|
"-std=gnu99",
|
|
|
|
"$(DIR_INCLUDES)",
|
|
|
|
"-MD -MP",
|
|
|
|
"-MF$(QUOTE)$(@:%.o=%.d)$(QUOTE)",
|
|
|
|
"-MT$(QUOTE)$(@:%.o=%.d)$(QUOTE)",
|
|
|
|
"-MT$(QUOTE)$(@:%.o=%.o)$(QUOTE)"]
|
|
|
|
|
|
|
|
ELF_FLAGS = ["-Wl,--start-group -l m",
|
|
|
|
"-Wl,--end-group -mthumb",
|
|
|
|
"-Wl,-Map=$(QUOTE)$(PROJECT_NAME).map$(QUOTE)",
|
|
|
|
"--specs=nano.specs",
|
|
|
|
"-Wl,--gc-sections",
|
|
|
|
"-T$(QUOTE)$(LD_SCRIPT)$(QUOTE)",
|
|
|
|
"-L$(QUOTE)$(LD_PATH)$(QUOTE)"]
|
|
|
|
|
|
|
|
HEX_FLAGS = ["-R .eeprom",
|
|
|
|
"-R .fuse",
|
|
|
|
"-R .lock",
|
|
|
|
"-R .signature"]
|
|
|
|
EEP_FLAGS = ["-j .eeprom --set-section-flags=.eeprom=alloc,load",
|
|
|
|
"--change-section-lma",
|
|
|
|
".eeprom=0",
|
|
|
|
"--no-change-warnings"]
|
|
|
|
DIR_INCLUDES = ["-I$(QUOTE)../../../esf/arm/common/inc$(QUOTE)",
|
|
|
|
"-I$(QUOTE)../../../esf/arm/common/inc/cmsis$(QUOTE)"]
|
|
|
|
ALL_PREREQS = ["$(SUB_DIRS)",
|
|
|
|
"$(PROJECT_NAME).elf",
|
|
|
|
"$(PROJECT_NAME).bin",
|
|
|
|
"$(PROJECT_NAME).hex",
|
|
|
|
"$(PROJECT_NAME).eep",
|
|
|
|
"$(PROJECT_NAME).lss"]
|
|
|
|
ALL_CMDS = ["$(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(PROJECT_NAME).elf$(QUOTE)"]
|
|
|
|
|
|
|
|
EEP_TARGET_PREREQS = ["$(PROJECT_NAME).elf"]
|
|
|
|
EEP_TARGET_CMDS = ["$(QUOTE)$(OBJCOPY)$(QUOTE) $(EEP_FLAGS) -O binary $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE) || exit 0"]
|
|
|
|
LSS_TARGET_PREREQS = ["$(PROJECT_NAME).elf"]
|
|
|
|
LSS_TARGET_CMDS = ["$(QUOTE)$(OBJDUMP)$(QUOTE) -h -S $(QUOTE)$<$(QUOTE) > $(QUOTE)$@$(QUOTE)"]
|
|
|
|
|
|
|
|
CLEAN_CMDS = ["@rm -f $(PROJECT_NAME).a",
|
|
|
|
"@rm -f $(PROJECT_NAME).lss",
|
|
|
|
"@rm -f $(PROJECT_NAME).srec",
|
|
|
|
"@rm -f $(PROJECT_NAME).map",
|
|
|
|
"@rm -f $(PROJECT_NAME).eep"]
|
|
|
|
|
|
|
|
[arch.arm.samd21a]
|
|
|
|
MCPU = "cortex-m0plus"
|
|
|
|
CFLAGS = ["-D$(MCU)", "-mcpu=$(MCPU)"]
|
|
|
|
DIR_INCLUDES = ["-I$(QUOTE)../../../esf/arm/SAMD21/SAMD21A/mcu/inc$(QUOTE)"]
|
|
|
|
LD_PATH = "../../../esf/arm/SAMD21/SAMD21A/ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21e15a]
|
|
|
|
MCU = "__SAMD21E15A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21e15a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21e16a]
|
|
|
|
MCU = "__SAMD21E16A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21e16a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21e17a]
|
|
|
|
MCU = "__SAMD21E17A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21e17a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21e18a]
|
|
|
|
MCU = "__SAMD21E18A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21e18a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21g15a]
|
|
|
|
MCU = "__SAMD21G15A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21g15a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21g16a]
|
|
|
|
MCU = "__SAMD21G16A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21g16a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21g17a]
|
|
|
|
MCU = "__SAMD21G17A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21g17a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21g17au]
|
|
|
|
MCU = "__SAMD21G17AU__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21g17au_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21g18a]
|
|
|
|
MCU = "__SAMD21G18A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21g18a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21g18au]
|
|
|
|
MCU = "__SAMD21G18AU__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21g18au_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21j15a]
|
|
|
|
MCU = "__SAMD21J15A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21j15a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21j16a]
|
|
|
|
MCU = "__SAMD21J16A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21j16a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21j17a]
|
|
|
|
MCU = "__SAMD21J17A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21j17a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd21a.samd21j18a]
|
|
|
|
MCU = "__SAMD21J18A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd21j18a_flash.ld"
|
|
|
|
OBJS = ["esf/arm/SAMD21/SAMD21A/mcu/src/startup_samd21j18a.o",
|
|
|
|
"esf/arm/SAMD21/SAMD21A/mcu/src/system_samd21j18a.o"]
|
|
|
|
|
|
|
|
[arch.arm.samd51a]
|
|
|
|
MCPU = "cortex-m4"
|
|
|
|
FPU = "fpv4-sp-d16"
|
|
|
|
FLOAT_ABI = "hard"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51g18a]
|
|
|
|
MCU = "__SAMD51G18A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51g18a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51g19a]
|
|
|
|
MCU = "__SAMD51G19A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51g19a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51j18a]
|
|
|
|
MCU = "__SAMD51J18A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51j18a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51j19a]
|
|
|
|
MCU = "__SAMD51J19A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51j19a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51j20a]
|
|
|
|
MCU = "__SAMD51J20A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51j20a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51n19a]
|
|
|
|
MCU = "__SAMD51N19A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51n19a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51n20a]
|
|
|
|
MCU = "__SAMD51N20A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51n20a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51p19a]
|
|
|
|
MCU = "__SAMD51P19A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51p19a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.samd51a.samd51p20a]
|
|
|
|
MCU = "__SAMD51P20A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/samd51p20a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.same54a]
|
|
|
|
MCPU = "cortex-m4"
|
|
|
|
FPU = "fpv4-sp-d16"
|
|
|
|
FLOAT_ABI = "hard"
|
|
|
|
OBJS = ["esf/arm/SAME54/SAME54A/mcu/src/startup_same54.o",
|
|
|
|
"esf/arm/SAME54/SAME54A/mcu/src/system_same54.o"]
|
|
|
|
CFLAGS = ["-D$(MCU)", "-mcpu=$(MCPU)"]
|
|
|
|
ELF_FLAGS = ["-D$(MCU)", "-mcpu=$(MCPU)"]
|
|
|
|
DIR_INCLUDES = ["-I$(QUOTE)../../../esf/arm/SAME54/SAME54A/mcu/inc$(QUOTE)"]
|
|
|
|
LD_PATH = "../../../esf/arm/SAME54/SAME54A/ld"
|
|
|
|
|
|
|
|
[arch.arm.same54a.same54n19a]
|
|
|
|
MCU = "__SAME54N19A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/same54n19a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.same54a.same54n20a]
|
|
|
|
MCU = "__SAME54N20A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/same54n20a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.same54a.same54p19a]
|
|
|
|
MCU = "__SAME54P19A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/same54p19a_flash.ld"
|
|
|
|
|
|
|
|
[arch.arm.same54a.same54p20a]
|
|
|
|
MCU = "__SAME54P20A__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/same54p20a_flash.ld"
|
|
|
|
|
|
|
|
[arch.avr]
|
|
|
|
CC = "avr-gcc"
|
|
|
|
CXX = "avr-g++"
|
|
|
|
OBJCOPY = "avr-objcopy"
|
|
|
|
OBJDUMP = "avr-objdump"
|
|
|
|
SIZE = "avr-size"
|
|
|
|
AS = "avr-as"
|
|
|
|
|
|
|
|
[arch.riscv]
|
|
|
|
TOOLCHAIN = "${esf_DIR}/toolchains/riscv/bin/riscv64-unknown-elf"
|
|
|
|
CFLAGS = ["-x c", "-DDEBUG", "-Os",
|
|
|
|
"-g3",
|
|
|
|
"-Wall",
|
|
|
|
"-c",
|
|
|
|
"-std=gnu11",
|
|
|
|
"-fno-diagnostics-show-caret",
|
|
|
|
"-fdata-sections",
|
|
|
|
"-ffunction-sections",
|
|
|
|
"-funsigned-bitfields",
|
|
|
|
"$(DIR_INCLUDES)",
|
|
|
|
"-MD -MP",
|
|
|
|
"-MT$(QUOTE)$(@:%.o=%.o)$(QUOTE)",
|
|
|
|
"-MF$(QUOTE)$(@:%.o=%.d)$(QUOTE)"]
|
|
|
|
ELF_FLAGS = ["-nostartfiles",
|
|
|
|
"-Wl,--gc-sections",
|
|
|
|
"-Wl,--script=$(LD_SCRIPT)"]
|
|
|
|
LD_PATH = "../../../esf/ld"
|
|
|
|
[arch.riscv.fe310]
|
|
|
|
[arch.riscv.fe310g]
|
|
|
|
CFLAGS = ["-DF_CPU=256000000"]
|
|
|
|
[arch.riscv.fe310g.fe310g000]
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/fe310g000.ld"
|
|
|
|
[arch.riscv.fe310g.fe310g002]
|
|
|
|
MCU = "__FE310G002__"
|
|
|
|
LD_SCRIPT = "$(LD_PATH)/fe310g002.ld"
|
|
|
|
OBJS = ["esf/mcu/src/startup_fe310.o"]
|