diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b2a3e7c --- /dev/null +++ b/Makefile @@ -0,0 +1,182 @@ +print-% : ; @echo $* = $($*) +# Generated Variables +PROJECT_NAME=testdir +CC=arm-none-eabi-gcc +CCX=arm-none-eabi-g++ +OBJCOPY=arm-none-eabi-objcopy +OBJDUMP=arm-none-eabi-objdump +SIZE=arm-none-eabi-size +GDB=arm-none-eabi-gdb +AS=arm-none-eabi-as + +MCPU=cortex-m0plus +MCU=__SAMD21J18A__ + +LD_PATH=../ESF/ld +LD_SCRIPT=$(LD_PATH)/samd21j18a_flash.ld + +# Generated Flags +CFLAGS=-x c \ +-DDEBUG \ +-Os \ +-ffunction-sections \ +-mlong-calls \ +-g3 \ +-Wall \ +-c \ +-std=gnu99 \ +-D$(MCU) \ +-mcpu=$(MCPU) \ +$(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 -mcpu=$(MCPU) \ +-T$(QUOTE)$(LD_SCRIPT)$(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 + +ifdef SystemRoot + SHELL = cmd.exe + MK_DIR = mkdir +else + ifeq ($(shell uname), Linux) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), CYGWIN) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), MINGW32) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), MINGW64) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), DARWIN) + MK_DIR = mkdir -p + endif +endif + +# List the subdirectories for creating object files +SUB_DIRS+= \ +src \ +ESF/mcu/src + +OBJS+= \ +ESF/mcu/src/startup_samd21j18a.o \ +ESF/mcu/src/system_samd21j18a.o \ +src/main.o + +# List the object files +OBJS_AS_ARGS+= \ +$(QUOTE)ESF/mcu/src/startup_samd21j18a.o$(QUOTE) \ +$(QUOTE)ESF/mcu/src/system_samd21j18a.o$(QUOTE) \ +$(QUOTE)src/main.o$(QUOTE) + +# List the directories containing header files +DIR_INCLUDES += \ +-I$(QUOTE)../ESF/mcu/inc$(QUOTE) \ +-I$(QUOTE)../ESF/common/inc$(QUOTE) \ +-I$(QUOTE)../ESF/common/inc/cmsis$(QUOTE) \ +-I$(QUOTE)../inc$(QUOTE) + +# List the dependency files +DEPS := $(OBJS:%.o=%.d) + +DEPS_AS_ARGS := $(OBJS_AS_ARGS:%.o=%.d) + +vpath %.c ../ +vpath %.s ../ +vpath %.S ../ + +.PHONY: debug clean + +# All Targets +all: $(SUB_DIRS) $(PROJECT_NAME).elf \ +$(PROJECT_NAME).bin \ +$(PROJECT_NAME).hex \ +$(PROJECT_NAME).eep \ +$(PROJECT_NAME).lss + $(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(PROJECT_NAME).elf$(QUOTE) + +# Linker target +# Make ELF +$(PROJECT_NAME).elf: $(OBJS) + @echo Building target: $@ + @echo Invoking: ARM/GNU Linker + $(QUOTE)$(CC)$(QUOTE) -o $@ $(OBJS_AS_ARGS) $(ELF_FLAGS) + + @echo Finished building target: $@ + +# Make BIN +$(PROJECT_NAME).bin: $(PROJECT_NAME).elf + @echo Producing $@ + $(QUOTE)$(OBJCOPY)$(QUOTE) -O binary $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE) + +# Make HEX +$(PROJECT_NAME).hex: $(PROJECT_NAME).elf + @echo Producing $@ + $(QUOTE)$(OBJCOPY)$(QUOTE) -O ihex $(HEX_FLAGS) $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE) + +# Make EEP +$(PROJECT_NAME).eep: $(PROJECT_NAME).elf + @echo Producing $@ + $(QUOTE)$(OBJCOPY)$(QUOTE) $(EEP_FLAGS) -O binary $(QUOTE)$<$(QUOTE) \ + $(QUOTE)$@$(QUOTE) || exit 0 + +# Make LSS +$(PROJECT_NAME).lss: $(PROJECT_NAME).elf + $(QUOTE)$(OBJDUMP)$(QUOTE) -h -S $(QUOTE)$<$(QUOTE) > $(QUOTE)$@$(QUOTE) + +# Compiler targets +%.o: %.c + @echo Building file: $< + @echo ARM/GNU C Compiler + $(QUOTE)$(CC)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + +%.o: %.s + @echo Building file: $< + @echo ARM/GNU Assembler + $(QUOTE)$(AS)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + +%.o: %.S + @echo Building file: $< + @echo ARM/GNU Preprocessing Assembler + $(QUOTE)$(CC)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + +$(SUB_DIRS): + $(MK_DIR) "$@" + +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(strip $(DEPS)),) +-include $(DEPS) +endif +endif + +clean: + rm -f $(OBJS_AS_ARGS) + rm -f $(DEPS_AS_ARGS) + rm -f $(PROJECT_NAME).a $(PROJECT_NAME).hex $(PROJECT_NAME).bin \ + $(PROJECT_NAME).lss $(PROJECT_NAME).eep $(PROJECT_NAME).map \ + $(PROJECT_NAME).srec $(PROJECT_NAME).elf + +debug: $(PROJECT_NAME).elf + $(QUOTE)arm-none-eabi-gdb$(QUOTE) -iex $(QUOTE)target extended-remote localhost:3333$(QUOTE) $(PROJECT_NAME).elf + +QUOTE := " diff --git a/d21test/.igloo/ESF/mcu/src/startup_samd21j18a.d b/d21test/.igloo/ESF/mcu/src/startup_samd21j18a.d new file mode 100644 index 0000000..67f5cff --- /dev/null +++ b/d21test/.igloo/ESF/mcu/src/startup_samd21j18a.d @@ -0,0 +1,97 @@ +ESF/mcu/src/startup_samd21j18a.d ESF/mcu/src/startup_samd21j18a.o: \ + ../ESF/mcu/src/startup_samd21j18a.c ../ESF/mcu/inc/samd21j18a.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/lib/gcc/arm-none-eabi/6.3.1/include/stdint.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/stdint.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/machine/_default_types.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/features.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/_newlib_version.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_intsup.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_stdint.h \ + ../ESF/common/inc/cmsis/core_cm0plus.h \ + ../ESF/common/inc/cmsis/cmsis_version.h \ + ../ESF/common/inc/cmsis/cmsis_compiler.h \ + ../ESF/common/inc/cmsis/cmsis_gcc.h ../ESF/mcu/inc/component/ac.h \ + ../ESF/mcu/inc/component/adc.h ../ESF/mcu/inc/component/dac.h \ + ../ESF/mcu/inc/component/dmac.h ../ESF/mcu/inc/component/dsu.h \ + ../ESF/mcu/inc/component/eic.h ../ESF/mcu/inc/component/evsys.h \ + ../ESF/mcu/inc/component/gclk.h ../ESF/mcu/inc/component/hmatrixb.h \ + ../ESF/mcu/inc/component/i2s.h ../ESF/mcu/inc/component/mtb.h \ + ../ESF/mcu/inc/component/nvmctrl.h ../ESF/mcu/inc/component/pac.h \ + ../ESF/mcu/inc/component/pm.h ../ESF/mcu/inc/component/port.h \ + ../ESF/mcu/inc/component/ptc.h ../ESF/mcu/inc/component/rtc.h \ + ../ESF/mcu/inc/component/sercom.h ../ESF/mcu/inc/component/sysctrl.h \ + ../ESF/mcu/inc/component/tc.h ../ESF/mcu/inc/component/tcc.h \ + ../ESF/mcu/inc/component/usb.h ../ESF/mcu/inc/component/wdt.h \ + ../ESF/mcu/inc/pio/samd21j18a.h + +../ESF/mcu/inc/samd21j18a.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/lib/gcc/arm-none-eabi/6.3.1/include/stdint.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/stdint.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/machine/_default_types.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/features.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/_newlib_version.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_intsup.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_stdint.h: + +../ESF/common/inc/cmsis/core_cm0plus.h: + +../ESF/common/inc/cmsis/cmsis_version.h: + +../ESF/common/inc/cmsis/cmsis_compiler.h: + +../ESF/common/inc/cmsis/cmsis_gcc.h: + +../ESF/mcu/inc/component/ac.h: + +../ESF/mcu/inc/component/adc.h: + +../ESF/mcu/inc/component/dac.h: + +../ESF/mcu/inc/component/dmac.h: + +../ESF/mcu/inc/component/dsu.h: + +../ESF/mcu/inc/component/eic.h: + +../ESF/mcu/inc/component/evsys.h: + +../ESF/mcu/inc/component/gclk.h: + +../ESF/mcu/inc/component/hmatrixb.h: + +../ESF/mcu/inc/component/i2s.h: + +../ESF/mcu/inc/component/mtb.h: + +../ESF/mcu/inc/component/nvmctrl.h: + +../ESF/mcu/inc/component/pac.h: + +../ESF/mcu/inc/component/pm.h: + +../ESF/mcu/inc/component/port.h: + +../ESF/mcu/inc/component/ptc.h: + +../ESF/mcu/inc/component/rtc.h: + +../ESF/mcu/inc/component/sercom.h: + +../ESF/mcu/inc/component/sysctrl.h: + +../ESF/mcu/inc/component/tc.h: + +../ESF/mcu/inc/component/tcc.h: + +../ESF/mcu/inc/component/usb.h: + +../ESF/mcu/inc/component/wdt.h: + +../ESF/mcu/inc/pio/samd21j18a.h: diff --git a/d21test/.igloo/ESF/mcu/src/startup_samd21j18a.o b/d21test/.igloo/ESF/mcu/src/startup_samd21j18a.o new file mode 100644 index 0000000..e61dc4e Binary files /dev/null and b/d21test/.igloo/ESF/mcu/src/startup_samd21j18a.o differ diff --git a/d21test/.igloo/ESF/mcu/src/system_samd21j18a.d b/d21test/.igloo/ESF/mcu/src/system_samd21j18a.d new file mode 100644 index 0000000..3260507 --- /dev/null +++ b/d21test/.igloo/ESF/mcu/src/system_samd21j18a.d @@ -0,0 +1,97 @@ +ESF/mcu/src/system_samd21j18a.d ESF/mcu/src/system_samd21j18a.o: \ + ../ESF/mcu/src/system_samd21j18a.c ../ESF/mcu/inc/samd21j18a.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/lib/gcc/arm-none-eabi/6.3.1/include/stdint.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/stdint.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/machine/_default_types.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/features.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/_newlib_version.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_intsup.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_stdint.h \ + ../ESF/common/inc/cmsis/core_cm0plus.h \ + ../ESF/common/inc/cmsis/cmsis_version.h \ + ../ESF/common/inc/cmsis/cmsis_compiler.h \ + ../ESF/common/inc/cmsis/cmsis_gcc.h ../ESF/mcu/inc/component/ac.h \ + ../ESF/mcu/inc/component/adc.h ../ESF/mcu/inc/component/dac.h \ + ../ESF/mcu/inc/component/dmac.h ../ESF/mcu/inc/component/dsu.h \ + ../ESF/mcu/inc/component/eic.h ../ESF/mcu/inc/component/evsys.h \ + ../ESF/mcu/inc/component/gclk.h ../ESF/mcu/inc/component/hmatrixb.h \ + ../ESF/mcu/inc/component/i2s.h ../ESF/mcu/inc/component/mtb.h \ + ../ESF/mcu/inc/component/nvmctrl.h ../ESF/mcu/inc/component/pac.h \ + ../ESF/mcu/inc/component/pm.h ../ESF/mcu/inc/component/port.h \ + ../ESF/mcu/inc/component/ptc.h ../ESF/mcu/inc/component/rtc.h \ + ../ESF/mcu/inc/component/sercom.h ../ESF/mcu/inc/component/sysctrl.h \ + ../ESF/mcu/inc/component/tc.h ../ESF/mcu/inc/component/tcc.h \ + ../ESF/mcu/inc/component/usb.h ../ESF/mcu/inc/component/wdt.h \ + ../ESF/mcu/inc/pio/samd21j18a.h + +../ESF/mcu/inc/samd21j18a.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/lib/gcc/arm-none-eabi/6.3.1/include/stdint.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/stdint.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/machine/_default_types.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/features.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/_newlib_version.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_intsup.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_stdint.h: + +../ESF/common/inc/cmsis/core_cm0plus.h: + +../ESF/common/inc/cmsis/cmsis_version.h: + +../ESF/common/inc/cmsis/cmsis_compiler.h: + +../ESF/common/inc/cmsis/cmsis_gcc.h: + +../ESF/mcu/inc/component/ac.h: + +../ESF/mcu/inc/component/adc.h: + +../ESF/mcu/inc/component/dac.h: + +../ESF/mcu/inc/component/dmac.h: + +../ESF/mcu/inc/component/dsu.h: + +../ESF/mcu/inc/component/eic.h: + +../ESF/mcu/inc/component/evsys.h: + +../ESF/mcu/inc/component/gclk.h: + +../ESF/mcu/inc/component/hmatrixb.h: + +../ESF/mcu/inc/component/i2s.h: + +../ESF/mcu/inc/component/mtb.h: + +../ESF/mcu/inc/component/nvmctrl.h: + +../ESF/mcu/inc/component/pac.h: + +../ESF/mcu/inc/component/pm.h: + +../ESF/mcu/inc/component/port.h: + +../ESF/mcu/inc/component/ptc.h: + +../ESF/mcu/inc/component/rtc.h: + +../ESF/mcu/inc/component/sercom.h: + +../ESF/mcu/inc/component/sysctrl.h: + +../ESF/mcu/inc/component/tc.h: + +../ESF/mcu/inc/component/tcc.h: + +../ESF/mcu/inc/component/usb.h: + +../ESF/mcu/inc/component/wdt.h: + +../ESF/mcu/inc/pio/samd21j18a.h: diff --git a/d21test/.igloo/ESF/mcu/src/system_samd21j18a.o b/d21test/.igloo/ESF/mcu/src/system_samd21j18a.o new file mode 100644 index 0000000..46f4f16 Binary files /dev/null and b/d21test/.igloo/ESF/mcu/src/system_samd21j18a.o differ diff --git a/d21test/.igloo/Makefile b/d21test/.igloo/Makefile new file mode 100644 index 0000000..042d6c0 --- /dev/null +++ b/d21test/.igloo/Makefile @@ -0,0 +1,194 @@ +# ePenguin Generated Variables +PROJECT_NAME=d21test +TOOLCHAIN=${ESF_DIR}/toolchains/arm/bin/arm-none-eabi +CC=${TOOLCHAIN}-gcc +CXX=${TOOLCHAIN}-g++ +OBJCOPY=${TOOLCHAIN}-objcopy +OBJDUMP=${TOOLCHAIN}-objdump +GDB=${TOOLCHAIN}-gdb +SIZE=${TOOLCHAIN}-size +AS=${TOOLCHAIN}-as + + +MCPU=cortex-m0plus +MCU=__SAMD21J18A__ +LD_PATH=../ESF/ld +LD_SCRIPT=$(LD_PATH)/samd21j18a_flash.ld + + +CFLAGS= \ +-D$(MCU) \ +-mcpu=$(MCPU) \ +-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 + + +ifdef SystemRoot + SHELL = cmd.exe + MK_DIR = mkdir +else + ifeq ($(shell uname), Linux) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), CYGWIN) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), MINGW32) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), MINGW64) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), DARWIN) + MK_DIR = mkdir -p + endif +endif +SUB_DIRS+= \ +src \ +ESF/mcu/src + +OBJS+= \ +ESF/mcu/src/startup_samd21j18a.o \ +ESF/mcu/src/system_samd21j18a.o \ +src/main.o + +OBJS_AS_ARGS+= \ +$(QUOTE)ESF/mcu/src/startup_samd21j18a.o$(QUOTE) \ +$(QUOTE)ESF/mcu/src/system_samd21j18a.o$(QUOTE) \ +$(QUOTE)src/main.o$(QUOTE) + +DIR_INCLUDES+= \ +-I$(QUOTE)../ESF/common/inc$(QUOTE) \ +-I$(QUOTE)../ESF/common/inc/cmsis$(QUOTE) \ +-I$(QUOTE)../ESF/mcu/inc$(QUOTE) \ +-I$(QUOTE)../inc$(QUOTE) + +DEPS:=$(OBJS:%.o=%.d) + +DEPS_AS_ARGS:=$(OBJS:%.o=%.d) + +vpath %.c ../ +vpath %.s ../ +vpath %.S ../ + +.PHONY: debug clean + +all:\ +$(SUB_DIRS)\ +$(PROJECT_NAME).elf\ +$(PROJECT_NAME).bin\ +$(PROJECT_NAME).hex\ +$(PROJECT_NAME).eep\ +$(PROJECT_NAME).lss + \ + $(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(PROJECT_NAME).elf$(QUOTE) + +$(PROJECT_NAME).elf:\ +$(OBJS) + \ + $(QUOTE)$(CC)$(QUOTE) -o $@ $(OBJS_AS_ARGS) $(ELF_FLAGS) + +$(PROJECT_NAME).bin:\ +$(PROJECT_NAME).elf + \ + $(QUOTE)$(OBJCOPY)$(QUOTE) -O binary $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE) + +$(PROJECT_NAME).hex:\ +$(PROJECT_NAME).elf + \ + $(QUOTE)$(OBJCOPY)$(QUOTE) -O ihex $(HEX_FLAGS) $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE) + +$(PROJECT_NAME).eep:\ +$(PROJECT_NAME).elf + \ + $(QUOTE)$(OBJCOPY)$(QUOTE) $(EEP_FLAGS) -O binary $(QUOTE)$<$(QUOTE)\ + $(QUOTE)$@$(QUOTE) || exit 0 + +$(PROJECT_NAME).lss:\ +$(PROJECT_NAME).elf + \ + $(QUOTE)$(OBJDUMP)$(QUOTE) -h -S $(QUOTE)$<$(QUOTE) > $(QUOTE)$@$(QUOTE) + +# Compiler targets +%.o: %.c + @echo Building file: $< + @echo ARM/GNU C Compiler + $(QUOTE)$(CC)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + +%.o: %.s + @echo Building file: $< + @echo ARM/GNU Assembler + $(QUOTE)$(AS)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + +%.o: %.S + @echo Building file: $< + @echo ARM/GNU Preprocessing Assembler + $(QUOTE)$(CC)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + + +$(SUB_DIRS): + $(MK_DIR) $(QUOTE)$@$(QUOTE) + +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(strip $(DEPS)),) +-include $(DEPS) +endif +endif + +clean: + \ + 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 \ + 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:\ +$(PROJECT_NAME).elf + \ + $(QUOTE)arm-none-eabi-gdb$(QUOTE) -iex $(QUOTE)target extended-remote localhost:3333$(QUOTE) $(PROJECT_NAME).elf + +QUOTE:=" diff --git a/d21test/.igloo/d21test.bin b/d21test/.igloo/d21test.bin new file mode 100644 index 0000000..57804fc Binary files /dev/null and b/d21test/.igloo/d21test.bin differ diff --git a/d21test/.igloo/d21test.elf b/d21test/.igloo/d21test.elf new file mode 100644 index 0000000..b6c6ed0 Binary files /dev/null and b/d21test/.igloo/d21test.elf differ diff --git a/d21test/.igloo/d21test.hex b/d21test/.igloo/d21test.hex new file mode 100644 index 0000000..c03c62a --- /dev/null +++ b/d21test/.igloo/d21test.hex @@ -0,0 +1,37 @@ +:100000002020002023010000210100002101000028 +:1000100000000000000000000000000000000000E0 +:1000200000000000000000000000000021010000AE +:10003000000000000000000021010000210100007C +:100040002101000021010000210100002101000028 +:100050002101000021010000210100002101000018 +:100060002101000021010000210100002101000008 +:1000700021010000210100002101000021010000F8 +:1000800021010000210100002101000021010000E8 +:1000900021010000210100002101000021010000D8 +:1000A00021010000210100002101000021010000C8 +:1000B00010B5074C2378002B07D1064B002B02D03C +:1000C000054800E000BF0123237010BC01BC0047BD +:1000D00000000020000000003C0200000A4B10B5A8 +:1000E000002B03D009490A4800E000BF0948036813 +:1000F000002B02D110BC01BC0047074B002BF9D0EC +:1001000000F00CF8F6E7C0460000000004000020F4 +:100110003C0200003C020000000000001847C046FE +:10012000FEE70F480F4970B5884204D000230E4CFB +:10013000CA18A2420ED300210C4B0D4A93420DD394 +:10014000FF210C4B0C4A8B43936000F03DF800F00C +:1001500015F8FEE7C55804331560E9E702C3EDE77B +:100160003C020000000000200000002000000020F1 +:100170001C0000200000000000ED00E08023104A79 +:100180009B0011680B43136002230E4A11680B4356 +:100190001360FA2252006423C046013B002BFBD1BE +:1001A000013A002AF7D1FA22520006E0C046013B8C +:1001B000002BFBD1013A002AEBD06423F6E7C046BE +:1001C000004400418044004170B500260E4D0F4CA4 +:1001D000641BA410A6420BD1002600F01FF80C4DA2 +:1001E0000C4C641BA410A64208D170BC01BC004793 +:1001F000B300EB5800F010F80136EBE7B300EB5812 +:1002000000F00AF80136EEE728020000280200009C +:10021000280200002C0200001847C046F8B5C0466E +:10022000F8BC08BC9E467047DD000000F8B5C0462B +:0C023000F8BC08BC9E467047B1000000FE +:00000001FF diff --git a/d21test/.igloo/d21test.lss b/d21test/.igloo/d21test.lss new file mode 100644 index 0000000..069bdff --- /dev/null +++ b/d21test/.igloo/d21test.lss @@ -0,0 +1,270 @@ + +d21test.elf: file format elf32-littlearm + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 0000023c 00000000 00000000 00010000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .relocate 00000000 20000000 20000000 0001023c 2**0 + CONTENTS + 2 .bss 0000001c 20000000 20000000 00020000 2**2 + ALLOC + 3 .stack 00002004 2000001c 2000001c 00020000 2**0 + ALLOC + 4 .ARM.attributes 0000002d 00000000 00000000 0001023c 2**0 + CONTENTS, READONLY + 5 .comment 00000059 00000000 00000000 00010269 2**0 + CONTENTS, READONLY + 6 .debug_info 00000704 00000000 00000000 000102c2 2**0 + CONTENTS, READONLY, DEBUGGING + 7 .debug_abbrev 0000024d 00000000 00000000 000109c6 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_loc 00000177 00000000 00000000 00010c13 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_aranges 00000040 00000000 00000000 00010d8a 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_macro 00012994 00000000 00000000 00010dca 2**0 + CONTENTS, READONLY, DEBUGGING + 11 .debug_line 00000881 00000000 00000000 0002375e 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_str 000938bb 00000000 00000000 00023fdf 2**0 + CONTENTS, READONLY, DEBUGGING + 13 .debug_frame 00000088 00000000 00000000 000b789c 2**2 + CONTENTS, READONLY, DEBUGGING + 14 .debug_ranges 00000010 00000000 00000000 000b7924 2**0 + CONTENTS, READONLY, DEBUGGING + +Disassembly of section .text: + +00000000 : + 0: 20 20 00 20 23 01 00 00 21 01 00 00 21 01 00 00 . #...!...!... + ... + 2c: 21 01 00 00 00 00 00 00 00 00 00 00 21 01 00 00 !...........!... + 3c: 21 01 00 00 21 01 00 00 21 01 00 00 21 01 00 00 !...!...!...!... + 4c: 21 01 00 00 21 01 00 00 21 01 00 00 21 01 00 00 !...!...!...!... + 5c: 21 01 00 00 21 01 00 00 21 01 00 00 21 01 00 00 !...!...!...!... + 6c: 21 01 00 00 21 01 00 00 21 01 00 00 21 01 00 00 !...!...!...!... + 7c: 21 01 00 00 21 01 00 00 21 01 00 00 21 01 00 00 !...!...!...!... + 8c: 21 01 00 00 21 01 00 00 21 01 00 00 21 01 00 00 !...!...!...!... + 9c: 21 01 00 00 21 01 00 00 21 01 00 00 21 01 00 00 !...!...!...!... + ac: 21 01 00 00 !... + +000000b0 <__do_global_dtors_aux>: + b0: b510 push {r4, lr} + b2: 4c07 ldr r4, [pc, #28] ; (d0 <__do_global_dtors_aux+0x20>) + b4: 7823 ldrb r3, [r4, #0] + b6: 2b00 cmp r3, #0 + b8: d107 bne.n ca <__do_global_dtors_aux+0x1a> + ba: 4b06 ldr r3, [pc, #24] ; (d4 <__do_global_dtors_aux+0x24>) + bc: 2b00 cmp r3, #0 + be: d002 beq.n c6 <__do_global_dtors_aux+0x16> + c0: 4805 ldr r0, [pc, #20] ; (d8 <__do_global_dtors_aux+0x28>) + c2: e000 b.n c6 <__do_global_dtors_aux+0x16> + c4: bf00 nop + c6: 2301 movs r3, #1 + c8: 7023 strb r3, [r4, #0] + ca: bc10 pop {r4} + cc: bc01 pop {r0} + ce: 4700 bx r0 + d0: 20000000 .word 0x20000000 + d4: 00000000 .word 0x00000000 + d8: 0000023c .word 0x0000023c + +000000dc : + dc: 4b0a ldr r3, [pc, #40] ; (108 ) + de: b510 push {r4, lr} + e0: 2b00 cmp r3, #0 + e2: d003 beq.n ec + e4: 4909 ldr r1, [pc, #36] ; (10c ) + e6: 480a ldr r0, [pc, #40] ; (110 ) + e8: e000 b.n ec + ea: bf00 nop + ec: 4809 ldr r0, [pc, #36] ; (114 ) + ee: 6803 ldr r3, [r0, #0] + f0: 2b00 cmp r3, #0 + f2: d102 bne.n fa + f4: bc10 pop {r4} + f6: bc01 pop {r0} + f8: 4700 bx r0 + fa: 4b07 ldr r3, [pc, #28] ; (118 ) + fc: 2b00 cmp r3, #0 + fe: d0f9 beq.n f4 + 100: f000 f80c bl 11c + 104: e7f6 b.n f4 + 106: 46c0 nop ; (mov r8, r8) + 108: 00000000 .word 0x00000000 + 10c: 20000004 .word 0x20000004 + 110: 0000023c .word 0x0000023c + 114: 0000023c .word 0x0000023c + 118: 00000000 .word 0x00000000 + 11c: 4718 bx r3 + 11e: 46c0 nop ; (mov r8, r8) + +00000120 : + +/** + * \brief Default interrupt handler for unused IRQs. + */ +void Dummy_Handler(void) +{ + 120: e7fe b.n 120 + +00000122 : + if (pSrc != pDest) { + 122: 480f ldr r0, [pc, #60] ; (160 ) + 124: 490f ldr r1, [pc, #60] ; (164 ) +{ + 126: b570 push {r4, r5, r6, lr} + if (pSrc != pDest) { + 128: 4288 cmp r0, r1 + 12a: d004 beq.n 136 + 12c: 2300 movs r3, #0 + for (; pDest < &_erelocate;) { + 12e: 4c0e ldr r4, [pc, #56] ; (168 ) + 130: 18ca adds r2, r1, r3 + 132: 42a2 cmp r2, r4 + 134: d30e bcc.n 154 + *pDest++ = 0; + 136: 2100 movs r1, #0 + 138: 4b0c ldr r3, [pc, #48] ; (16c ) + for (pDest = &_szero; pDest < &_ezero;) { + 13a: 4a0d ldr r2, [pc, #52] ; (170 ) + 13c: 4293 cmp r3, r2 + 13e: d30d bcc.n 15c + SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk); + 140: 21ff movs r1, #255 ; 0xff + 142: 4b0c ldr r3, [pc, #48] ; (174 ) + 144: 4a0c ldr r2, [pc, #48] ; (178 ) + 146: 438b bics r3, r1 + 148: 6093 str r3, [r2, #8] + __libc_init_array(); + 14a: f000 f83d bl 1c8 <__libc_init_array> + main(); + 14e: f000 f815 bl 17c
+ 152: e7fe b.n 152 + *pDest++ = *pSrc++; + 154: 58c5 ldr r5, [r0, r3] + 156: 3304 adds r3, #4 + 158: 6015 str r5, [r2, #0] + 15a: e7e9 b.n 130 + *pDest++ = 0; + 15c: c302 stmia r3!, {r1} + 15e: e7ed b.n 13c + 160: 0000023c .word 0x0000023c + 164: 20000000 .word 0x20000000 + 168: 20000000 .word 0x20000000 + 16c: 20000000 .word 0x20000000 + 170: 2000001c .word 0x2000001c + 174: 00000000 .word 0x00000000 + 178: e000ed00 .word 0xe000ed00 + +0000017c
: + + +void init_pin(int port, int pin) +{ + uint32_t* dir_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_DIR_OFF)); + *dir_reg |= (1 << pin); + 17c: 2380 movs r3, #128 ; 0x80 + 17e: 4a10 ldr r2, [pc, #64] ; (1c0 ) + 180: 009b lsls r3, r3, #2 + 182: 6811 ldr r1, [r2, #0] + 184: 430b orrs r3, r1 + 186: 6013 str r3, [r2, #0] + 188: 2302 movs r3, #2 + 18a: 4a0e ldr r2, [pc, #56] ; (1c4 ) + 18c: 6811 ldr r1, [r2, #0] + 18e: 430b orrs r3, r1 + 190: 6013 str r3, [r2, #0] +{ + 192: 22fa movs r2, #250 ; 0xfa + 194: 0052 lsls r2, r2, #1 + 196: 2364 movs r3, #100 ; 0x64 + asm volatile("nop"); + 198: 46c0 nop ; (mov r8, r8) + 19a: 3b01 subs r3, #1 + for(i=0;i<100;i++) + 19c: 2b00 cmp r3, #0 + 19e: d1fb bne.n 198 + 1a0: 3a01 subs r2, #1 + for(;n>0;n--) + 1a2: 2a00 cmp r2, #0 + 1a4: d1f7 bne.n 196 + 1a6: 22fa movs r2, #250 ; 0xfa + 1a8: 0052 lsls r2, r2, #1 + 1aa: e006 b.n 1ba + asm volatile("nop"); + 1ac: 46c0 nop ; (mov r8, r8) + 1ae: 3b01 subs r3, #1 + for(i=0;i<100;i++) + 1b0: 2b00 cmp r3, #0 + 1b2: d1fb bne.n 1ac + 1b4: 3a01 subs r2, #1 + for(;n>0;n--) + 1b6: 2a00 cmp r2, #0 + 1b8: d0eb beq.n 192 +{ + 1ba: 2364 movs r3, #100 ; 0x64 + 1bc: e7f6 b.n 1ac + 1be: 46c0 nop ; (mov r8, r8) + 1c0: 41004400 .word 0x41004400 + 1c4: 41004480 .word 0x41004480 + +000001c8 <__libc_init_array>: + 1c8: b570 push {r4, r5, r6, lr} + 1ca: 2600 movs r6, #0 + 1cc: 4d0e ldr r5, [pc, #56] ; (208 <__libc_init_array+0x40>) + 1ce: 4c0f ldr r4, [pc, #60] ; (20c <__libc_init_array+0x44>) + 1d0: 1b64 subs r4, r4, r5 + 1d2: 10a4 asrs r4, r4, #2 + 1d4: 42a6 cmp r6, r4 + 1d6: d10b bne.n 1f0 <__libc_init_array+0x28> + 1d8: 2600 movs r6, #0 + 1da: f000 f81f bl 21c <_init> + 1de: 4d0c ldr r5, [pc, #48] ; (210 <__libc_init_array+0x48>) + 1e0: 4c0c ldr r4, [pc, #48] ; (214 <__libc_init_array+0x4c>) + 1e2: 1b64 subs r4, r4, r5 + 1e4: 10a4 asrs r4, r4, #2 + 1e6: 42a6 cmp r6, r4 + 1e8: d108 bne.n 1fc <__libc_init_array+0x34> + 1ea: bc70 pop {r4, r5, r6} + 1ec: bc01 pop {r0} + 1ee: 4700 bx r0 + 1f0: 00b3 lsls r3, r6, #2 + 1f2: 58eb ldr r3, [r5, r3] + 1f4: f000 f810 bl 218 <__libc_init_array+0x50> + 1f8: 3601 adds r6, #1 + 1fa: e7eb b.n 1d4 <__libc_init_array+0xc> + 1fc: 00b3 lsls r3, r6, #2 + 1fe: 58eb ldr r3, [r5, r3] + 200: f000 f80a bl 218 <__libc_init_array+0x50> + 204: 3601 adds r6, #1 + 206: e7ee b.n 1e6 <__libc_init_array+0x1e> + 208: 00000228 .word 0x00000228 + 20c: 00000228 .word 0x00000228 + 210: 00000228 .word 0x00000228 + 214: 0000022c .word 0x0000022c + 218: 4718 bx r3 + 21a: 46c0 nop ; (mov r8, r8) + +0000021c <_init>: + 21c: b5f8 push {r3, r4, r5, r6, r7, lr} + 21e: 46c0 nop ; (mov r8, r8) + 220: bcf8 pop {r3, r4, r5, r6, r7} + 222: bc08 pop {r3} + 224: 469e mov lr, r3 + 226: 4770 bx lr + +00000228 <__init_array_start>: + 228: 000000dd .word 0x000000dd + +0000022c <_fini>: + 22c: b5f8 push {r3, r4, r5, r6, r7, lr} + 22e: 46c0 nop ; (mov r8, r8) + 230: bcf8 pop {r3, r4, r5, r6, r7} + 232: bc08 pop {r3} + 234: 469e mov lr, r3 + 236: 4770 bx lr + +00000238 <__fini_array_start>: + 238: 000000b1 .word 0x000000b1 diff --git a/d21test/.igloo/d21test.map b/d21test/.igloo/d21test.map new file mode 100644 index 0000000..4264ba4 --- /dev/null +++ b/d21test/.igloo/d21test.map @@ -0,0 +1,551 @@ +Archive member included to satisfy reference by file (symbol) + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-exit.o) + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o (exit) +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-impure.o) + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-exit.o) (_global_impure_ptr) +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-init.o) + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o (__libc_init_array) +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-memset.o) + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o (memset) + +Discarded input sections + + .text 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crti.o + .data 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crti.o + .bss 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crti.o + .data 0x0000000000000000 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + .text 0x0000000000000000 0xfc /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o + .data 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o + .bss 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o + .ARM.extab 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o + .ARM.exidx 0x0000000000000000 0x8 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o + .ARM.attributes + 0x0000000000000000 0x1a /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/startup_samd21j18a.o + .data 0x0000000000000000 0x0 ESF/mcu/src/startup_samd21j18a.o + .bss 0x0000000000000000 0x0 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 ESF/mcu/src/system_samd21j18a.o + .text 0x0000000000000000 0x20 ESF/mcu/src/system_samd21j18a.o + .data 0x0000000000000000 0x4 ESF/mcu/src/system_samd21j18a.o + .bss 0x0000000000000000 0x0 ESF/mcu/src/system_samd21j18a.o + .debug_info 0x0000000000000000 0xc3 ESF/mcu/src/system_samd21j18a.o + .debug_abbrev 0x0000000000000000 0x7b ESF/mcu/src/system_samd21j18a.o + .debug_aranges + 0x0000000000000000 0x20 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x1a3 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x8a4 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x1c ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x22 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x87 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x51 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xef ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x6a ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x1df ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x7f ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x1c ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x22 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xb5 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x3ad ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x72b ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x946 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x289 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xfb7 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x52d ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xc48 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x957 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x47c ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x58 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xa6e ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x23e ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x3fe ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x52 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x80e ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x3d8 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xe53 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x2675 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x10e2 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x793 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x20f6 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x193f ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x348 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x30d ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x232d ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x3d8 ESF/mcu/src/system_samd21j18a.o + .debug_line 0x0000000000000000 0x42a ESF/mcu/src/system_samd21j18a.o + .debug_str 0x0000000000000000 0x938a4 ESF/mcu/src/system_samd21j18a.o + .comment 0x0000000000000000 0x5a ESF/mcu/src/system_samd21j18a.o + .debug_frame 0x0000000000000000 0x30 ESF/mcu/src/system_samd21j18a.o + .ARM.attributes + 0x0000000000000000 0x32 ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .group 0x0000000000000000 0x8 src/main.o + .text 0x0000000000000000 0x0 src/main.o + .data 0x0000000000000000 0x0 src/main.o + .bss 0x0000000000000000 0x0 src/main.o + .debug_macro 0x0000000000000000 0x8a4 src/main.o + .debug_macro 0x0000000000000000 0x1c src/main.o + .debug_macro 0x0000000000000000 0x22 src/main.o + .debug_macro 0x0000000000000000 0x87 src/main.o + .debug_macro 0x0000000000000000 0x51 src/main.o + .debug_macro 0x0000000000000000 0xef src/main.o + .debug_macro 0x0000000000000000 0x6a src/main.o + .debug_macro 0x0000000000000000 0x1df src/main.o + .debug_macro 0x0000000000000000 0x7f src/main.o + .debug_macro 0x0000000000000000 0x1c src/main.o + .debug_macro 0x0000000000000000 0x22 src/main.o + .debug_macro 0x0000000000000000 0xb5 src/main.o + .debug_macro 0x0000000000000000 0x3ad src/main.o + .debug_macro 0x0000000000000000 0x72b src/main.o + .debug_macro 0x0000000000000000 0x946 src/main.o + .debug_macro 0x0000000000000000 0x289 src/main.o + .debug_macro 0x0000000000000000 0xfb7 src/main.o + .debug_macro 0x0000000000000000 0x52d src/main.o + .debug_macro 0x0000000000000000 0xc48 src/main.o + .debug_macro 0x0000000000000000 0x957 src/main.o + .debug_macro 0x0000000000000000 0x47c src/main.o + .debug_macro 0x0000000000000000 0x58 src/main.o + .debug_macro 0x0000000000000000 0xa6e src/main.o + .debug_macro 0x0000000000000000 0x23e src/main.o + .debug_macro 0x0000000000000000 0x3fe src/main.o + .debug_macro 0x0000000000000000 0x52 src/main.o + .debug_macro 0x0000000000000000 0x80e src/main.o + .debug_macro 0x0000000000000000 0x3d8 src/main.o + .debug_macro 0x0000000000000000 0xe53 src/main.o + .debug_macro 0x0000000000000000 0x2675 src/main.o + .debug_macro 0x0000000000000000 0x10e2 src/main.o + .debug_macro 0x0000000000000000 0x793 src/main.o + .debug_macro 0x0000000000000000 0x20f6 src/main.o + .debug_macro 0x0000000000000000 0x193f src/main.o + .debug_macro 0x0000000000000000 0x348 src/main.o + .debug_macro 0x0000000000000000 0x30d src/main.o + .debug_macro 0x0000000000000000 0x232d src/main.o + .debug_macro 0x0000000000000000 0x3d8 src/main.o + .text 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-exit.o) + .data 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-exit.o) + .bss 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-exit.o) + .text.exit 0x0000000000000000 0x30 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-exit.o) + .debug_frame 0x0000000000000000 0x28 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-exit.o) + .ARM.attributes + 0x0000000000000000 0x30 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-exit.o) + .text 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-impure.o) + .data 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-impure.o) + .bss 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-impure.o) + .data._impure_ptr + 0x0000000000000000 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-impure.o) + .data.impure_data + 0x0000000000000000 0x60 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-impure.o) + .rodata._global_impure_ptr + 0x0000000000000000 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-impure.o) + .ARM.attributes + 0x0000000000000000 0x30 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-impure.o) + .text 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-init.o) + .data 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-init.o) + .bss 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-init.o) + .text 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-memset.o) + .data 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-memset.o) + .bss 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-memset.o) + .text.memset 0x0000000000000000 0x10 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-memset.o) + .debug_frame 0x0000000000000000 0x20 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-memset.o) + .ARM.attributes + 0x0000000000000000 0x30 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-memset.o) + .text 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtend.o + .data 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtend.o + .bss 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtend.o + .eh_frame 0x0000000000000000 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtend.o + .jcr 0x0000000000000000 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtend.o + .ARM.attributes + 0x0000000000000000 0x30 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtend.o + .text 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtn.o + .data 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtn.o + .bss 0x0000000000000000 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtn.o + +Memory Configuration + +Name Origin Length Attributes +rom 0x0000000000000000 0x0000000000040000 xr +ram 0x0000000020000000 0x0000000000008000 xrw +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crti.o +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/crt0.o +LOAD ESF/mcu/src/startup_samd21j18a.o +LOAD ESF/mcu/src/system_samd21j18a.o +LOAD src/main.o +START GROUP +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libm.a +END GROUP +START GROUP +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/libgcc.a +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a +END GROUP +START GROUP +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/libgcc.a +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a +END GROUP +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtend.o +LOAD /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtn.o + 0x0000000000002000 STACK_SIZE = DEFINED (STACK_SIZE)?STACK_SIZE:DEFINED (__stack_size__)?__stack_size__:0x2000 + +.text 0x0000000000000000 0x23c + 0x0000000000000000 . = ALIGN (0x4) + 0x0000000000000000 _sfixed = . + *(.vectors .vectors.*) + .vectors 0x0000000000000000 0xb0 ESF/mcu/src/startup_samd21j18a.o + 0x0000000000000000 exception_table + *(.text .text.* .gnu.linkonce.t.*) + .text 0x00000000000000b0 0x70 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + .text 0x0000000000000120 0x5c ESF/mcu/src/startup_samd21j18a.o + 0x0000000000000120 SVCall_Handler + 0x0000000000000120 DMAC_Handler + 0x0000000000000120 HardFault_Handler + 0x0000000000000120 AC_Handler + 0x0000000000000120 SysTick_Handler + 0x0000000000000120 PendSV_Handler + 0x0000000000000120 TC7_Handler + 0x0000000000000120 SERCOM1_Handler + 0x0000000000000120 ADC_Handler + 0x0000000000000120 NonMaskableInt_Handler + 0x0000000000000120 TCC1_Handler + 0x0000000000000120 SERCOM2_Handler + 0x0000000000000120 TCC0_Handler + 0x0000000000000120 RTC_Handler + 0x0000000000000120 EIC_Handler + 0x0000000000000120 TC6_Handler + 0x0000000000000120 WDT_Handler + 0x0000000000000120 TC4_Handler + 0x0000000000000120 USB_Handler + 0x0000000000000120 TC3_Handler + 0x0000000000000120 Dummy_Handler + 0x0000000000000120 PM_Handler + 0x0000000000000120 SERCOM5_Handler + 0x0000000000000120 TCC2_Handler + 0x0000000000000120 EVSYS_Handler + 0x0000000000000120 SERCOM3_Handler + 0x0000000000000120 SERCOM4_Handler + 0x0000000000000120 I2S_Handler + 0x0000000000000120 NVMCTRL_Handler + 0x0000000000000120 SERCOM0_Handler + 0x0000000000000120 DAC_Handler + 0x0000000000000120 PTC_Handler + 0x0000000000000120 TC5_Handler + 0x0000000000000120 SYSCTRL_Handler + 0x0000000000000122 Reset_Handler + .text.startup 0x000000000000017c 0x4c src/main.o + 0x000000000000017c main + .text.__libc_init_array + 0x00000000000001c8 0x54 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-init.o) + 0x00000000000001c8 __libc_init_array + *(.glue_7t) + .glue_7t 0x000000000000021c 0x0 linker stubs + *(.glue_7) + .glue_7 0x000000000000021c 0x0 linker stubs + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + 0x000000000000021c . = ALIGN (0x4) + *(.init) + .init 0x000000000000021c 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crti.o + 0x000000000000021c _init + .init 0x0000000000000220 0x8 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtn.o + 0x0000000000000228 . = ALIGN (0x4) + 0x0000000000000228 __preinit_array_start = . + *(.preinit_array) + 0x0000000000000228 __preinit_array_end = . + 0x0000000000000228 . = ALIGN (0x4) + 0x0000000000000228 __init_array_start = . + *(SORT(.init_array.*)) + *(.init_array) + .init_array 0x0000000000000228 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + 0x000000000000022c __init_array_end = . + 0x000000000000022c . = ALIGN (0x4) + *crtbegin.o(.ctors) + *(EXCLUDE_FILE(*crtend.o) .ctors) + *(SORT(.ctors.*)) + *crtend.o(.ctors) + 0x000000000000022c . = ALIGN (0x4) + *(.fini) + .fini 0x000000000000022c 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crti.o + 0x000000000000022c _fini + .fini 0x0000000000000230 0x8 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtn.o + 0x0000000000000238 . = ALIGN (0x4) + 0x0000000000000238 __fini_array_start = . + *(.fini_array) + .fini_array 0x0000000000000238 0x4 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + *(SORT(.fini_array.*)) + 0x000000000000023c __fini_array_end = . + *crtbegin.o(.dtors) + *(EXCLUDE_FILE(*crtend.o) .dtors) + *(SORT(.dtors.*)) + *crtend.o(.dtors) + 0x000000000000023c . = ALIGN (0x4) + 0x000000000000023c _efixed = . + [!provide] PROVIDE (__exidx_start, .) + +.vfp11_veneer 0x000000000000023c 0x0 + .vfp11_veneer 0x000000000000023c 0x0 linker stubs + +.v4_bx 0x000000000000023c 0x0 + .v4_bx 0x000000000000023c 0x0 linker stubs + +.iplt 0x000000000000023c 0x0 + .iplt 0x000000000000023c 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + +.eh_frame 0x000000000000023c 0x0 + .eh_frame 0x000000000000023c 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + +.rel.dyn 0x000000000000023c 0x0 + .rel.iplt 0x000000000000023c 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + +.jcr 0x000000000000023c 0x0 + .jcr 0x000000000000023c 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + +.igot.plt 0x000000000000023c 0x0 + .igot.plt 0x000000000000023c 0x0 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + +.ARM.exidx + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + [!provide] PROVIDE (__exidx_end, .) + 0x000000000000023c . = ALIGN (0x4) + 0x000000000000023c _etext = . + +.relocate 0x0000000020000000 0x0 load address 0x000000000000023c + 0x0000000020000000 . = ALIGN (0x4) + 0x0000000020000000 _srelocate = . + *(.ramfunc .ramfunc.*) + *(.data .data.*) + 0x0000000020000000 . = ALIGN (0x4) + 0x0000000020000000 _erelocate = . + +.bss 0x0000000020000000 0x1c + 0x0000000020000000 . = ALIGN (0x4) + 0x0000000020000000 _sbss = . + 0x0000000020000000 _szero = . + *(.bss .bss.*) + .bss 0x0000000020000000 0x1c /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + *(COMMON) + 0x000000002000001c . = ALIGN (0x4) + 0x000000002000001c _ebss = . + 0x000000002000001c _ezero = . + +.stack 0x000000002000001c 0x2004 + 0x0000000020000020 . = ALIGN (0x8) + *fill* 0x000000002000001c 0x4 + 0x0000000020000020 _sstack = . + 0x0000000020002020 . = (. + STACK_SIZE) + *fill* 0x0000000020000020 0x2000 + 0x0000000020002020 . = ALIGN (0x8) + 0x0000000020002020 _estack = . + 0x0000000020002020 . = ALIGN (0x4) + 0x0000000020002020 _end = . +OUTPUT(d21test.elf elf32-littlearm) + +.ARM.attributes + 0x0000000000000000 0x2d + .ARM.attributes + 0x0000000000000000 0x16 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crti.o + .ARM.attributes + 0x0000000000000016 0x30 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtbegin.o + .ARM.attributes + 0x0000000000000046 0x32 ESF/mcu/src/startup_samd21j18a.o + .ARM.attributes + 0x0000000000000078 0x32 src/main.o + .ARM.attributes + 0x00000000000000aa 0x30 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-init.o) + .ARM.attributes + 0x00000000000000da 0x16 /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/thumb/crtn.o + +.comment 0x0000000000000000 0x59 + .comment 0x0000000000000000 0x59 ESF/mcu/src/startup_samd21j18a.o + 0x5a (size before relaxing) + .comment 0x0000000000000059 0x5a src/main.o + +.debug_info 0x0000000000000000 0x704 + .debug_info 0x0000000000000000 0x4df ESF/mcu/src/startup_samd21j18a.o + .debug_info 0x00000000000004df 0x225 src/main.o + +.debug_abbrev 0x0000000000000000 0x24d + .debug_abbrev 0x0000000000000000 0x14d ESF/mcu/src/startup_samd21j18a.o + .debug_abbrev 0x000000000000014d 0x100 src/main.o + +.debug_loc 0x0000000000000000 0x177 + .debug_loc 0x0000000000000000 0x4b ESF/mcu/src/startup_samd21j18a.o + .debug_loc 0x000000000000004b 0x12c src/main.o + +.debug_aranges 0x0000000000000000 0x40 + .debug_aranges + 0x0000000000000000 0x20 ESF/mcu/src/startup_samd21j18a.o + .debug_aranges + 0x0000000000000020 0x20 src/main.o + +.debug_macro 0x0000000000000000 0x12994 + .debug_macro 0x0000000000000000 0x19d ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000019d 0x8a4 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000a41 0x1c ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000a5d 0x22 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000a7f 0x87 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000b06 0x51 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000b57 0xef ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000c46 0x6a ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000cb0 0x1df ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000e8f 0x7f ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000f0e 0x1c ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000f2a 0x22 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000f4c 0xb5 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000001001 0x3ad ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000013ae 0x72b ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000001ad9 0x946 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000241f 0x289 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000026a8 0xfb7 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000365f 0x52d ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000003b8c 0xc48 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000047d4 0x957 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000512b 0x47c ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000055a7 0x58 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000055ff 0xa6e ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000606d 0x23e ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000062ab 0x3fe ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000066a9 0x52 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000066fb 0x80e ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000006f09 0x3d8 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000072e1 0xe53 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000008134 0x2675 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000a7a9 0x10e2 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000b88b 0x793 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000c01e 0x20f6 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000e114 0x193f ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000fa53 0x348 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000fd9b 0x30d ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000100a8 0x232d ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000123d5 0x3d8 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000127ad 0x1e7 src/main.o + +.debug_line 0x0000000000000000 0x881 + .debug_line 0x0000000000000000 0x440 ESF/mcu/src/startup_samd21j18a.o + .debug_line 0x0000000000000440 0x441 src/main.o + +.debug_str 0x0000000000000000 0x938bb + .debug_str 0x0000000000000000 0x937c2 ESF/mcu/src/startup_samd21j18a.o + 0x93bff (size before relaxing) + .debug_str 0x00000000000937c2 0xf9 src/main.o + 0x93935 (size before relaxing) + +.debug_frame 0x0000000000000000 0x88 + .debug_frame 0x0000000000000000 0x3c ESF/mcu/src/startup_samd21j18a.o + .debug_frame 0x000000000000003c 0x20 src/main.o + .debug_frame 0x000000000000005c 0x2c /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/thumb/libc_nano.a(lib_a-init.o) + +.debug_ranges 0x0000000000000000 0x10 + .debug_ranges 0x0000000000000000 0x10 src/main.o diff --git a/d21test/.igloo/output.txt b/d21test/.igloo/output.txt new file mode 100644 index 0000000..6803fa2 --- /dev/null +++ b/d21test/.igloo/output.txt @@ -0,0 +1,5 @@ +Building target: d21test.elf +Invoking: ARM/GNU Linker +"arm-none-eabi-gcc" -o d21test.elf "ESF/mcu/src/startup_samd21j18a.o" +"ESF/mcu/src/system_samd21j18a.o" "src/main.o" +-Wl,--start-group -l m -Wl,--end-group -mthumb -Wl,-Map="d21test.map" --specs=nano.specs -Wl,--gc-sections diff --git a/d21test/.igloo/src/main.d b/d21test/.igloo/src/main.d new file mode 100644 index 0000000..282d36c --- /dev/null +++ b/d21test/.igloo/src/main.d @@ -0,0 +1,101 @@ +src/main.d src/main.o: ../src/main.c ../inc/esf.h ../ESF/mcu/inc/sam.h \ + ../ESF/mcu/inc/samd21j18a.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/lib/gcc/arm-none-eabi/6.3.1/include/stdint.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/stdint.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/machine/_default_types.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/features.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/_newlib_version.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_intsup.h \ + /storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_stdint.h \ + ../ESF/common/inc/cmsis/core_cm0plus.h \ + ../ESF/common/inc/cmsis/cmsis_version.h \ + ../ESF/common/inc/cmsis/cmsis_compiler.h \ + ../ESF/common/inc/cmsis/cmsis_gcc.h ../ESF/mcu/inc/component/ac.h \ + ../ESF/mcu/inc/component/adc.h ../ESF/mcu/inc/component/dac.h \ + ../ESF/mcu/inc/component/dmac.h ../ESF/mcu/inc/component/dsu.h \ + ../ESF/mcu/inc/component/eic.h ../ESF/mcu/inc/component/evsys.h \ + ../ESF/mcu/inc/component/gclk.h ../ESF/mcu/inc/component/hmatrixb.h \ + ../ESF/mcu/inc/component/i2s.h ../ESF/mcu/inc/component/mtb.h \ + ../ESF/mcu/inc/component/nvmctrl.h ../ESF/mcu/inc/component/pac.h \ + ../ESF/mcu/inc/component/pm.h ../ESF/mcu/inc/component/port.h \ + ../ESF/mcu/inc/component/ptc.h ../ESF/mcu/inc/component/rtc.h \ + ../ESF/mcu/inc/component/sercom.h ../ESF/mcu/inc/component/sysctrl.h \ + ../ESF/mcu/inc/component/tc.h ../ESF/mcu/inc/component/tcc.h \ + ../ESF/mcu/inc/component/usb.h ../ESF/mcu/inc/component/wdt.h \ + ../ESF/mcu/inc/pio/samd21j18a.h + +../inc/esf.h: + +../ESF/mcu/inc/sam.h: + +../ESF/mcu/inc/samd21j18a.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/lib/gcc/arm-none-eabi/6.3.1/include/stdint.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/stdint.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/machine/_default_types.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/features.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/_newlib_version.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_intsup.h: + +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/toolchains/arm/arm-none-eabi/include/sys/_stdint.h: + +../ESF/common/inc/cmsis/core_cm0plus.h: + +../ESF/common/inc/cmsis/cmsis_version.h: + +../ESF/common/inc/cmsis/cmsis_compiler.h: + +../ESF/common/inc/cmsis/cmsis_gcc.h: + +../ESF/mcu/inc/component/ac.h: + +../ESF/mcu/inc/component/adc.h: + +../ESF/mcu/inc/component/dac.h: + +../ESF/mcu/inc/component/dmac.h: + +../ESF/mcu/inc/component/dsu.h: + +../ESF/mcu/inc/component/eic.h: + +../ESF/mcu/inc/component/evsys.h: + +../ESF/mcu/inc/component/gclk.h: + +../ESF/mcu/inc/component/hmatrixb.h: + +../ESF/mcu/inc/component/i2s.h: + +../ESF/mcu/inc/component/mtb.h: + +../ESF/mcu/inc/component/nvmctrl.h: + +../ESF/mcu/inc/component/pac.h: + +../ESF/mcu/inc/component/pm.h: + +../ESF/mcu/inc/component/port.h: + +../ESF/mcu/inc/component/ptc.h: + +../ESF/mcu/inc/component/rtc.h: + +../ESF/mcu/inc/component/sercom.h: + +../ESF/mcu/inc/component/sysctrl.h: + +../ESF/mcu/inc/component/tc.h: + +../ESF/mcu/inc/component/tcc.h: + +../ESF/mcu/inc/component/usb.h: + +../ESF/mcu/inc/component/wdt.h: + +../ESF/mcu/inc/pio/samd21j18a.h: diff --git a/d21test/.igloo/src/main.o b/d21test/.igloo/src/main.o new file mode 100644 index 0000000..c7ec9a2 Binary files /dev/null and b/d21test/.igloo/src/main.o differ diff --git a/d21test/ESF/common b/d21test/ESF/common new file mode 120000 index 0000000..a00cb7c --- /dev/null +++ b/d21test/ESF/common @@ -0,0 +1 @@ +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/arch/arm/common \ No newline at end of file diff --git a/d21test/ESF/ld b/d21test/ESF/ld new file mode 120000 index 0000000..4c63c1a --- /dev/null +++ b/d21test/ESF/ld @@ -0,0 +1 @@ +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/arch/arm/SAMD21/SAMD21A/ld \ No newline at end of file diff --git a/d21test/ESF/mcu b/d21test/ESF/mcu new file mode 120000 index 0000000..e9b93eb --- /dev/null +++ b/d21test/ESF/mcu @@ -0,0 +1 @@ +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/arch/arm/SAMD21/SAMD21A/mcu \ No newline at end of file diff --git a/d21test/inc/esf.h b/d21test/inc/esf.h new file mode 100644 index 0000000..fc3d8f1 --- /dev/null +++ b/d21test/inc/esf.h @@ -0,0 +1 @@ +#include "sam.h" diff --git a/d21test/src/main.c b/d21test/src/main.c new file mode 100644 index 0000000..c72cf06 --- /dev/null +++ b/d21test/src/main.c @@ -0,0 +1,84 @@ +#include "esf.h" + +#define PORT_ADDR (0x41004400) + +#define PORT_GROUP_SIZE (0x80) + +#define PORT_A_OFF (0x00) +#define PORT_B_OFF (0x80) + +#define PORT_DIR_OFF (0x00) +#define PORT_OUT_OFF (0x10) + +// LED 0: PA09 +// LED 1: PB01 + +#define LED0_PORT (0) +#define LED0_PIN (9) + +#define LED1_PORT (1) +#define LED1_PIN (1) + +static void init_pin(int port, int pin); +static void set_pin(int port, int pin); +static void clr_pin(int port, int pin); + +static void delay(int n) +{ + int i; + + for(;n>0;n--) + { + for(i=0;i<100;i++) + { + + asm volatile("nop"); + } + } +} + + + +int main() +{ + init_pin(LED0_PORT, LED0_PIN); + init_pin(LED1_PORT, LED1_PIN); + + for(;;) + { + set_pin(LED0_PORT, LED0_PIN); + clr_pin(LED1_PORT, LED1_PIN); + delay(500); + clr_pin(LED0_PORT, LED0_PIN); + set_pin(LED1_PORT, LED1_PIN); + delay(500); + } + return 0; +} + +// port 0: A +// port 1: B + + +void init_pin(int port, int pin) +{ + uint32_t* dir_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_DIR_OFF)); + *dir_reg |= (1 << pin); +} + +void set_pin(int port, int pin) +{ + uint32_t* out_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_OUT_OFF)); + *out_reg |= (1 << pin); +} + +void clr_pin(int port, int pin) +{ + uint32_t* out_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_OUT_OFF)); + *out_reg &= ~(1 << pin); +} + + + + + diff --git a/d21test1/.igloo/ESF/mcu/src/startup_samd21j18a.d b/d21test1/.igloo/ESF/mcu/src/startup_samd21j18a.d new file mode 100644 index 0000000..1585356 --- /dev/null +++ b/d21test1/.igloo/ESF/mcu/src/startup_samd21j18a.d @@ -0,0 +1,61 @@ +ESF/mcu/src/startup_samd21j18a.d ESF/mcu/src/startup_samd21j18a.o: \ + ../ESF/mcu/src/startup_samd21j18a.c ../ESF/mcu/inc/samd21j18a.h \ + /usr/lib/gcc/arm-none-eabi/10.2.0/include/stdint.h \ + /usr/arm-none-eabi/include/stdint.h \ + /usr/arm-none-eabi/include/machine/_default_types.h \ + /usr/arm-none-eabi/include/sys/features.h \ + /usr/arm-none-eabi/include/_newlib_version.h \ + /usr/arm-none-eabi/include/sys/_intsup.h \ + /usr/arm-none-eabi/include/sys/_stdint.h \ + ../ESF/common/inc/cmsis/core_cm0plus.h \ + ../ESF/common/inc/cmsis/cmsis_version.h \ + ../ESF/common/inc/cmsis/cmsis_compiler.h \ + ../ESF/common/inc/cmsis/cmsis_gcc.h ../ESF/mcu/inc/component/ac.h \ + ../ESF/mcu/inc/component/adc.h ../ESF/mcu/inc/component/dac.h \ + ../ESF/mcu/inc/component/dmac.h ../ESF/mcu/inc/component/dsu.h \ + ../ESF/mcu/inc/component/eic.h ../ESF/mcu/inc/component/evsys.h \ + ../ESF/mcu/inc/component/gclk.h ../ESF/mcu/inc/component/hmatrixb.h \ + ../ESF/mcu/inc/component/i2s.h ../ESF/mcu/inc/component/mtb.h \ + ../ESF/mcu/inc/component/nvmctrl.h ../ESF/mcu/inc/component/pac.h \ + ../ESF/mcu/inc/component/pm.h ../ESF/mcu/inc/component/port.h \ + ../ESF/mcu/inc/component/ptc.h ../ESF/mcu/inc/component/rtc.h \ + ../ESF/mcu/inc/component/sercom.h ../ESF/mcu/inc/component/sysctrl.h \ + ../ESF/mcu/inc/component/tc.h ../ESF/mcu/inc/component/tcc.h \ + ../ESF/mcu/inc/component/usb.h ../ESF/mcu/inc/component/wdt.h \ + ../ESF/mcu/inc/pio/samd21j18a.h +../ESF/mcu/inc/samd21j18a.h: +/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdint.h: +/usr/arm-none-eabi/include/stdint.h: +/usr/arm-none-eabi/include/machine/_default_types.h: +/usr/arm-none-eabi/include/sys/features.h: +/usr/arm-none-eabi/include/_newlib_version.h: +/usr/arm-none-eabi/include/sys/_intsup.h: +/usr/arm-none-eabi/include/sys/_stdint.h: +../ESF/common/inc/cmsis/core_cm0plus.h: +../ESF/common/inc/cmsis/cmsis_version.h: +../ESF/common/inc/cmsis/cmsis_compiler.h: +../ESF/common/inc/cmsis/cmsis_gcc.h: +../ESF/mcu/inc/component/ac.h: +../ESF/mcu/inc/component/adc.h: +../ESF/mcu/inc/component/dac.h: +../ESF/mcu/inc/component/dmac.h: +../ESF/mcu/inc/component/dsu.h: +../ESF/mcu/inc/component/eic.h: +../ESF/mcu/inc/component/evsys.h: +../ESF/mcu/inc/component/gclk.h: +../ESF/mcu/inc/component/hmatrixb.h: +../ESF/mcu/inc/component/i2s.h: +../ESF/mcu/inc/component/mtb.h: +../ESF/mcu/inc/component/nvmctrl.h: +../ESF/mcu/inc/component/pac.h: +../ESF/mcu/inc/component/pm.h: +../ESF/mcu/inc/component/port.h: +../ESF/mcu/inc/component/ptc.h: +../ESF/mcu/inc/component/rtc.h: +../ESF/mcu/inc/component/sercom.h: +../ESF/mcu/inc/component/sysctrl.h: +../ESF/mcu/inc/component/tc.h: +../ESF/mcu/inc/component/tcc.h: +../ESF/mcu/inc/component/usb.h: +../ESF/mcu/inc/component/wdt.h: +../ESF/mcu/inc/pio/samd21j18a.h: diff --git a/d21test1/.igloo/ESF/mcu/src/startup_samd21j18a.o b/d21test1/.igloo/ESF/mcu/src/startup_samd21j18a.o new file mode 100644 index 0000000..7d55761 Binary files /dev/null and b/d21test1/.igloo/ESF/mcu/src/startup_samd21j18a.o differ diff --git a/d21test1/.igloo/ESF/mcu/src/system_samd21j18a.d b/d21test1/.igloo/ESF/mcu/src/system_samd21j18a.d new file mode 100644 index 0000000..cd4da30 --- /dev/null +++ b/d21test1/.igloo/ESF/mcu/src/system_samd21j18a.d @@ -0,0 +1,61 @@ +ESF/mcu/src/system_samd21j18a.d ESF/mcu/src/system_samd21j18a.o: \ + ../ESF/mcu/src/system_samd21j18a.c ../ESF/mcu/inc/samd21j18a.h \ + /usr/lib/gcc/arm-none-eabi/10.2.0/include/stdint.h \ + /usr/arm-none-eabi/include/stdint.h \ + /usr/arm-none-eabi/include/machine/_default_types.h \ + /usr/arm-none-eabi/include/sys/features.h \ + /usr/arm-none-eabi/include/_newlib_version.h \ + /usr/arm-none-eabi/include/sys/_intsup.h \ + /usr/arm-none-eabi/include/sys/_stdint.h \ + ../ESF/common/inc/cmsis/core_cm0plus.h \ + ../ESF/common/inc/cmsis/cmsis_version.h \ + ../ESF/common/inc/cmsis/cmsis_compiler.h \ + ../ESF/common/inc/cmsis/cmsis_gcc.h ../ESF/mcu/inc/component/ac.h \ + ../ESF/mcu/inc/component/adc.h ../ESF/mcu/inc/component/dac.h \ + ../ESF/mcu/inc/component/dmac.h ../ESF/mcu/inc/component/dsu.h \ + ../ESF/mcu/inc/component/eic.h ../ESF/mcu/inc/component/evsys.h \ + ../ESF/mcu/inc/component/gclk.h ../ESF/mcu/inc/component/hmatrixb.h \ + ../ESF/mcu/inc/component/i2s.h ../ESF/mcu/inc/component/mtb.h \ + ../ESF/mcu/inc/component/nvmctrl.h ../ESF/mcu/inc/component/pac.h \ + ../ESF/mcu/inc/component/pm.h ../ESF/mcu/inc/component/port.h \ + ../ESF/mcu/inc/component/ptc.h ../ESF/mcu/inc/component/rtc.h \ + ../ESF/mcu/inc/component/sercom.h ../ESF/mcu/inc/component/sysctrl.h \ + ../ESF/mcu/inc/component/tc.h ../ESF/mcu/inc/component/tcc.h \ + ../ESF/mcu/inc/component/usb.h ../ESF/mcu/inc/component/wdt.h \ + ../ESF/mcu/inc/pio/samd21j18a.h +../ESF/mcu/inc/samd21j18a.h: +/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdint.h: +/usr/arm-none-eabi/include/stdint.h: +/usr/arm-none-eabi/include/machine/_default_types.h: +/usr/arm-none-eabi/include/sys/features.h: +/usr/arm-none-eabi/include/_newlib_version.h: +/usr/arm-none-eabi/include/sys/_intsup.h: +/usr/arm-none-eabi/include/sys/_stdint.h: +../ESF/common/inc/cmsis/core_cm0plus.h: +../ESF/common/inc/cmsis/cmsis_version.h: +../ESF/common/inc/cmsis/cmsis_compiler.h: +../ESF/common/inc/cmsis/cmsis_gcc.h: +../ESF/mcu/inc/component/ac.h: +../ESF/mcu/inc/component/adc.h: +../ESF/mcu/inc/component/dac.h: +../ESF/mcu/inc/component/dmac.h: +../ESF/mcu/inc/component/dsu.h: +../ESF/mcu/inc/component/eic.h: +../ESF/mcu/inc/component/evsys.h: +../ESF/mcu/inc/component/gclk.h: +../ESF/mcu/inc/component/hmatrixb.h: +../ESF/mcu/inc/component/i2s.h: +../ESF/mcu/inc/component/mtb.h: +../ESF/mcu/inc/component/nvmctrl.h: +../ESF/mcu/inc/component/pac.h: +../ESF/mcu/inc/component/pm.h: +../ESF/mcu/inc/component/port.h: +../ESF/mcu/inc/component/ptc.h: +../ESF/mcu/inc/component/rtc.h: +../ESF/mcu/inc/component/sercom.h: +../ESF/mcu/inc/component/sysctrl.h: +../ESF/mcu/inc/component/tc.h: +../ESF/mcu/inc/component/tcc.h: +../ESF/mcu/inc/component/usb.h: +../ESF/mcu/inc/component/wdt.h: +../ESF/mcu/inc/pio/samd21j18a.h: diff --git a/d21test1/.igloo/ESF/mcu/src/system_samd21j18a.o b/d21test1/.igloo/ESF/mcu/src/system_samd21j18a.o new file mode 100644 index 0000000..8f4ef43 Binary files /dev/null and b/d21test1/.igloo/ESF/mcu/src/system_samd21j18a.o differ diff --git a/d21test1/.igloo/Makefile b/d21test1/.igloo/Makefile new file mode 100644 index 0000000..b2a3e7c --- /dev/null +++ b/d21test1/.igloo/Makefile @@ -0,0 +1,182 @@ +print-% : ; @echo $* = $($*) +# Generated Variables +PROJECT_NAME=testdir +CC=arm-none-eabi-gcc +CCX=arm-none-eabi-g++ +OBJCOPY=arm-none-eabi-objcopy +OBJDUMP=arm-none-eabi-objdump +SIZE=arm-none-eabi-size +GDB=arm-none-eabi-gdb +AS=arm-none-eabi-as + +MCPU=cortex-m0plus +MCU=__SAMD21J18A__ + +LD_PATH=../ESF/ld +LD_SCRIPT=$(LD_PATH)/samd21j18a_flash.ld + +# Generated Flags +CFLAGS=-x c \ +-DDEBUG \ +-Os \ +-ffunction-sections \ +-mlong-calls \ +-g3 \ +-Wall \ +-c \ +-std=gnu99 \ +-D$(MCU) \ +-mcpu=$(MCPU) \ +$(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 -mcpu=$(MCPU) \ +-T$(QUOTE)$(LD_SCRIPT)$(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 + +ifdef SystemRoot + SHELL = cmd.exe + MK_DIR = mkdir +else + ifeq ($(shell uname), Linux) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), CYGWIN) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), MINGW32) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), MINGW64) + MK_DIR = mkdir -p + endif + + ifeq ($(shell uname | cut -d _ -f 1), DARWIN) + MK_DIR = mkdir -p + endif +endif + +# List the subdirectories for creating object files +SUB_DIRS+= \ +src \ +ESF/mcu/src + +OBJS+= \ +ESF/mcu/src/startup_samd21j18a.o \ +ESF/mcu/src/system_samd21j18a.o \ +src/main.o + +# List the object files +OBJS_AS_ARGS+= \ +$(QUOTE)ESF/mcu/src/startup_samd21j18a.o$(QUOTE) \ +$(QUOTE)ESF/mcu/src/system_samd21j18a.o$(QUOTE) \ +$(QUOTE)src/main.o$(QUOTE) + +# List the directories containing header files +DIR_INCLUDES += \ +-I$(QUOTE)../ESF/mcu/inc$(QUOTE) \ +-I$(QUOTE)../ESF/common/inc$(QUOTE) \ +-I$(QUOTE)../ESF/common/inc/cmsis$(QUOTE) \ +-I$(QUOTE)../inc$(QUOTE) + +# List the dependency files +DEPS := $(OBJS:%.o=%.d) + +DEPS_AS_ARGS := $(OBJS_AS_ARGS:%.o=%.d) + +vpath %.c ../ +vpath %.s ../ +vpath %.S ../ + +.PHONY: debug clean + +# All Targets +all: $(SUB_DIRS) $(PROJECT_NAME).elf \ +$(PROJECT_NAME).bin \ +$(PROJECT_NAME).hex \ +$(PROJECT_NAME).eep \ +$(PROJECT_NAME).lss + $(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(PROJECT_NAME).elf$(QUOTE) + +# Linker target +# Make ELF +$(PROJECT_NAME).elf: $(OBJS) + @echo Building target: $@ + @echo Invoking: ARM/GNU Linker + $(QUOTE)$(CC)$(QUOTE) -o $@ $(OBJS_AS_ARGS) $(ELF_FLAGS) + + @echo Finished building target: $@ + +# Make BIN +$(PROJECT_NAME).bin: $(PROJECT_NAME).elf + @echo Producing $@ + $(QUOTE)$(OBJCOPY)$(QUOTE) -O binary $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE) + +# Make HEX +$(PROJECT_NAME).hex: $(PROJECT_NAME).elf + @echo Producing $@ + $(QUOTE)$(OBJCOPY)$(QUOTE) -O ihex $(HEX_FLAGS) $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE) + +# Make EEP +$(PROJECT_NAME).eep: $(PROJECT_NAME).elf + @echo Producing $@ + $(QUOTE)$(OBJCOPY)$(QUOTE) $(EEP_FLAGS) -O binary $(QUOTE)$<$(QUOTE) \ + $(QUOTE)$@$(QUOTE) || exit 0 + +# Make LSS +$(PROJECT_NAME).lss: $(PROJECT_NAME).elf + $(QUOTE)$(OBJDUMP)$(QUOTE) -h -S $(QUOTE)$<$(QUOTE) > $(QUOTE)$@$(QUOTE) + +# Compiler targets +%.o: %.c + @echo Building file: $< + @echo ARM/GNU C Compiler + $(QUOTE)$(CC)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + +%.o: %.s + @echo Building file: $< + @echo ARM/GNU Assembler + $(QUOTE)$(AS)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + +%.o: %.S + @echo Building file: $< + @echo ARM/GNU Preprocessing Assembler + $(QUOTE)$(CC)$(QUOTE) $(CFLAGS) -o $(QUOTE)$@$(QUOTE) $(QUOTE)$<$(QUOTE) + @echo Finished building: $< + +$(SUB_DIRS): + $(MK_DIR) "$@" + +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(strip $(DEPS)),) +-include $(DEPS) +endif +endif + +clean: + rm -f $(OBJS_AS_ARGS) + rm -f $(DEPS_AS_ARGS) + rm -f $(PROJECT_NAME).a $(PROJECT_NAME).hex $(PROJECT_NAME).bin \ + $(PROJECT_NAME).lss $(PROJECT_NAME).eep $(PROJECT_NAME).map \ + $(PROJECT_NAME).srec $(PROJECT_NAME).elf + +debug: $(PROJECT_NAME).elf + $(QUOTE)arm-none-eabi-gdb$(QUOTE) -iex $(QUOTE)target extended-remote localhost:3333$(QUOTE) $(PROJECT_NAME).elf + +QUOTE := " diff --git a/d21test1/.igloo/src/main.d b/d21test1/.igloo/src/main.d new file mode 100644 index 0000000..5fa3a43 --- /dev/null +++ b/d21test1/.igloo/src/main.d @@ -0,0 +1,63 @@ +src/main.d src/main.o: ../src/main.c ../inc/esf.h ../ESF/mcu/inc/sam.h \ + ../ESF/mcu/inc/samd21j18a.h \ + /usr/lib/gcc/arm-none-eabi/10.2.0/include/stdint.h \ + /usr/arm-none-eabi/include/stdint.h \ + /usr/arm-none-eabi/include/machine/_default_types.h \ + /usr/arm-none-eabi/include/sys/features.h \ + /usr/arm-none-eabi/include/_newlib_version.h \ + /usr/arm-none-eabi/include/sys/_intsup.h \ + /usr/arm-none-eabi/include/sys/_stdint.h \ + ../ESF/common/inc/cmsis/core_cm0plus.h \ + ../ESF/common/inc/cmsis/cmsis_version.h \ + ../ESF/common/inc/cmsis/cmsis_compiler.h \ + ../ESF/common/inc/cmsis/cmsis_gcc.h ../ESF/mcu/inc/component/ac.h \ + ../ESF/mcu/inc/component/adc.h ../ESF/mcu/inc/component/dac.h \ + ../ESF/mcu/inc/component/dmac.h ../ESF/mcu/inc/component/dsu.h \ + ../ESF/mcu/inc/component/eic.h ../ESF/mcu/inc/component/evsys.h \ + ../ESF/mcu/inc/component/gclk.h ../ESF/mcu/inc/component/hmatrixb.h \ + ../ESF/mcu/inc/component/i2s.h ../ESF/mcu/inc/component/mtb.h \ + ../ESF/mcu/inc/component/nvmctrl.h ../ESF/mcu/inc/component/pac.h \ + ../ESF/mcu/inc/component/pm.h ../ESF/mcu/inc/component/port.h \ + ../ESF/mcu/inc/component/ptc.h ../ESF/mcu/inc/component/rtc.h \ + ../ESF/mcu/inc/component/sercom.h ../ESF/mcu/inc/component/sysctrl.h \ + ../ESF/mcu/inc/component/tc.h ../ESF/mcu/inc/component/tcc.h \ + ../ESF/mcu/inc/component/usb.h ../ESF/mcu/inc/component/wdt.h \ + ../ESF/mcu/inc/pio/samd21j18a.h +../inc/esf.h: +../ESF/mcu/inc/sam.h: +../ESF/mcu/inc/samd21j18a.h: +/usr/lib/gcc/arm-none-eabi/10.2.0/include/stdint.h: +/usr/arm-none-eabi/include/stdint.h: +/usr/arm-none-eabi/include/machine/_default_types.h: +/usr/arm-none-eabi/include/sys/features.h: +/usr/arm-none-eabi/include/_newlib_version.h: +/usr/arm-none-eabi/include/sys/_intsup.h: +/usr/arm-none-eabi/include/sys/_stdint.h: +../ESF/common/inc/cmsis/core_cm0plus.h: +../ESF/common/inc/cmsis/cmsis_version.h: +../ESF/common/inc/cmsis/cmsis_compiler.h: +../ESF/common/inc/cmsis/cmsis_gcc.h: +../ESF/mcu/inc/component/ac.h: +../ESF/mcu/inc/component/adc.h: +../ESF/mcu/inc/component/dac.h: +../ESF/mcu/inc/component/dmac.h: +../ESF/mcu/inc/component/dsu.h: +../ESF/mcu/inc/component/eic.h: +../ESF/mcu/inc/component/evsys.h: +../ESF/mcu/inc/component/gclk.h: +../ESF/mcu/inc/component/hmatrixb.h: +../ESF/mcu/inc/component/i2s.h: +../ESF/mcu/inc/component/mtb.h: +../ESF/mcu/inc/component/nvmctrl.h: +../ESF/mcu/inc/component/pac.h: +../ESF/mcu/inc/component/pm.h: +../ESF/mcu/inc/component/port.h: +../ESF/mcu/inc/component/ptc.h: +../ESF/mcu/inc/component/rtc.h: +../ESF/mcu/inc/component/sercom.h: +../ESF/mcu/inc/component/sysctrl.h: +../ESF/mcu/inc/component/tc.h: +../ESF/mcu/inc/component/tcc.h: +../ESF/mcu/inc/component/usb.h: +../ESF/mcu/inc/component/wdt.h: +../ESF/mcu/inc/pio/samd21j18a.h: diff --git a/d21test1/.igloo/src/main.o b/d21test1/.igloo/src/main.o new file mode 100644 index 0000000..948a2ce Binary files /dev/null and b/d21test1/.igloo/src/main.o differ diff --git a/d21test1/.igloo/testdir.bin b/d21test1/.igloo/testdir.bin new file mode 100644 index 0000000..cc2913a Binary files /dev/null and b/d21test1/.igloo/testdir.bin differ diff --git a/d21test1/.igloo/testdir.eep b/d21test1/.igloo/testdir.eep new file mode 100644 index 0000000..e69de29 diff --git a/d21test1/.igloo/testdir.elf b/d21test1/.igloo/testdir.elf new file mode 100644 index 0000000..870bc21 Binary files /dev/null and b/d21test1/.igloo/testdir.elf differ diff --git a/d21test1/.igloo/testdir.hex b/d21test1/.igloo/testdir.hex new file mode 100644 index 0000000..49943a5 --- /dev/null +++ b/d21test1/.igloo/testdir.hex @@ -0,0 +1,41 @@ +:1000000020200020FD000000F9000000F9000000A1 +:1000100000000000000000000000000000000000E0 +:10002000000000000000000000000000F9000000D7 +:100030000000000000000000F9000000F9000000CE +:10004000F9000000F9000000F9000000F9000000CC +:10005000F9000000F9000000F9000000F9000000BC +:10006000F9000000F9000000F9000000F9000000AC +:10007000F9000000F9000000F9000000F90000009C +:10008000F9000000F9000000F9000000F90000008C +:10009000F9000000F9000000F9000000F90000007C +:1000A000F9000000F9000000F9000000F90000006C +:1000B00010B5064C2378002B07D1054B002B02D03E +:1000C000044800E000BF0123237010BD00000020A1 +:1000D0000000000078020000044B10B5002B03D094 +:1000E0000349044800E000BF10BDC0460000000006 +:1000F0000400002078020000FEE7000013491448C5 +:1001000010B581420AD0134BC41E0022A34203D370 +:1001100003331A1A920892000F4B98470F48104B5E +:10012000C11E0022994203D803331A1A9208920082 +:1001300000210C4B9847FF220B4B93430B4A9360D3 +:100140000B4B98470B4B9847FEE7C04678020000E0 +:100150000000002000000020350200000000002008 +:100160001C000020470200000000000000ED00E03D +:10017000ED0100007901000030B580250224164A07 +:10018000AD0013682B431360144A136823431360B4 +:10019000134B144AFA20196840002943196011686A +:1001A000A14311606421C04601390029FBD1013807 +:1001B0000028F7D118680C490140FA20196011682D +:1001C0004000214311606421C04601390029FBD160 +:1001D00001380028F7D1DDE70044004180440041A8 +:1001E0001044004190440041FFFDFFFF70B5002620 +:1001F0000C4D0D4C641BA410A64209D1002600F042 +:100200002BF80A4D0A4C641BA410A64205D170BD00 +:10021000B300EB5898470136EEE7B300EB58984728 +:100220000136F2E76402000064020000640200008C +:1002300068020000002310B59A4200D110BDCC5CCA +:10024000C4540133F8E703008218934200D1704789 +:1002500019700133F9E70000F8B5C046F8BC08BCD6 +:100260009E467047D9000000F8B5C046F8BC08BCEF +:080270009E467047B10000003A +:00000001FF diff --git a/d21test1/.igloo/testdir.lss b/d21test1/.igloo/testdir.lss new file mode 100644 index 0000000..8f33fea --- /dev/null +++ b/d21test1/.igloo/testdir.lss @@ -0,0 +1,328 @@ + +testdir.elf: file format elf32-littlearm + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 00000278 00000000 00000000 00010000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .relocate 00000000 20000000 20000000 00010278 2**0 + CONTENTS + 2 .bss 0000001c 20000000 20000000 00020000 2**2 + ALLOC + 3 .stack 00002004 2000001c 2000001c 00020000 2**0 + ALLOC + 4 .ARM.attributes 00000028 00000000 00000000 00010278 2**0 + CONTENTS, READONLY + 5 .comment 0000001e 00000000 00000000 000102a0 2**0 + CONTENTS, READONLY + 6 .debug_info 000007fa 00000000 00000000 000102be 2**0 + CONTENTS, READONLY, DEBUGGING, OCTETS + 7 .debug_abbrev 0000028b 00000000 00000000 00010ab8 2**0 + CONTENTS, READONLY, DEBUGGING, OCTETS + 8 .debug_aranges 00000048 00000000 00000000 00010d43 2**0 + CONTENTS, READONLY, DEBUGGING, OCTETS + 9 .debug_ranges 00000118 00000000 00000000 00010d8b 2**0 + CONTENTS, READONLY, DEBUGGING, OCTETS + 10 .debug_macro 00012b53 00000000 00000000 00010ea3 2**0 + CONTENTS, READONLY, DEBUGGING, OCTETS + 11 .debug_line 000007b8 00000000 00000000 000239f6 2**0 + CONTENTS, READONLY, DEBUGGING, OCTETS + 12 .debug_str 00093ff8 00000000 00000000 000241ae 2**0 + CONTENTS, READONLY, DEBUGGING, OCTETS + 13 .debug_frame 000000d8 00000000 00000000 000b81a8 2**2 + CONTENTS, READONLY, DEBUGGING, OCTETS + 14 .debug_loc 0000027c 00000000 00000000 000b8280 2**0 + CONTENTS, READONLY, DEBUGGING, OCTETS + +Disassembly of section .text: + +00000000 : + 0: 20 20 00 20 fd 00 00 00 f9 00 00 00 f9 00 00 00 . ............ + ... + 2c: f9 00 00 00 00 00 00 00 00 00 00 00 f9 00 00 00 ................ + 3c: f9 00 00 00 f9 00 00 00 f9 00 00 00 f9 00 00 00 ................ + 4c: f9 00 00 00 f9 00 00 00 f9 00 00 00 f9 00 00 00 ................ + 5c: f9 00 00 00 f9 00 00 00 f9 00 00 00 f9 00 00 00 ................ + 6c: f9 00 00 00 f9 00 00 00 f9 00 00 00 f9 00 00 00 ................ + 7c: f9 00 00 00 f9 00 00 00 f9 00 00 00 f9 00 00 00 ................ + 8c: f9 00 00 00 f9 00 00 00 f9 00 00 00 f9 00 00 00 ................ + 9c: f9 00 00 00 f9 00 00 00 f9 00 00 00 f9 00 00 00 ................ + ac: f9 00 00 00 .... + +000000b0 <__do_global_dtors_aux>: + b0: b510 push {r4, lr} + b2: 4c06 ldr r4, [pc, #24] ; (cc <__do_global_dtors_aux+0x1c>) + b4: 7823 ldrb r3, [r4, #0] + b6: 2b00 cmp r3, #0 + b8: d107 bne.n ca <__do_global_dtors_aux+0x1a> + ba: 4b05 ldr r3, [pc, #20] ; (d0 <__do_global_dtors_aux+0x20>) + bc: 2b00 cmp r3, #0 + be: d002 beq.n c6 <__do_global_dtors_aux+0x16> + c0: 4804 ldr r0, [pc, #16] ; (d4 <__do_global_dtors_aux+0x24>) + c2: e000 b.n c6 <__do_global_dtors_aux+0x16> + c4: bf00 nop + c6: 2301 movs r3, #1 + c8: 7023 strb r3, [r4, #0] + ca: bd10 pop {r4, pc} + cc: 20000000 .word 0x20000000 + d0: 00000000 .word 0x00000000 + d4: 00000278 .word 0x00000278 + +000000d8 : + d8: 4b04 ldr r3, [pc, #16] ; (ec ) + da: b510 push {r4, lr} + dc: 2b00 cmp r3, #0 + de: d003 beq.n e8 + e0: 4903 ldr r1, [pc, #12] ; (f0 ) + e2: 4804 ldr r0, [pc, #16] ; (f4 ) + e4: e000 b.n e8 + e6: bf00 nop + e8: bd10 pop {r4, pc} + ea: 46c0 nop ; (mov r8, r8) + ec: 00000000 .word 0x00000000 + f0: 20000004 .word 0x20000004 + f4: 00000278 .word 0x00000278 + +000000f8 : +/** + * \brief Default interrupt handler for unused IRQs. + */ +void Dummy_Handler(void) +{ + while (1) { + f8: e7fe b.n f8 + ... + +000000fc : + if (pSrc != pDest) { + fc: 4913 ldr r1, [pc, #76] ; (14c ) + fe: 4814 ldr r0, [pc, #80] ; (150 ) +{ + 100: b510 push {r4, lr} + if (pSrc != pDest) { + 102: 4281 cmp r1, r0 + 104: d00a beq.n 11c + *pDest++ = *pSrc++; + 106: 4b13 ldr r3, [pc, #76] ; (154 ) + 108: 1ec4 subs r4, r0, #3 + 10a: 2200 movs r2, #0 + 10c: 42a3 cmp r3, r4 + 10e: d303 bcc.n 118 + 110: 3303 adds r3, #3 + 112: 1a1a subs r2, r3, r0 + 114: 0892 lsrs r2, r2, #2 + 116: 0092 lsls r2, r2, #2 + 118: 4b0f ldr r3, [pc, #60] ; (158 ) + 11a: 4798 blx r3 + *pDest++ = 0; + 11c: 480f ldr r0, [pc, #60] ; (15c ) + 11e: 4b10 ldr r3, [pc, #64] ; (160 ) + 120: 1ec1 subs r1, r0, #3 + 122: 2200 movs r2, #0 + 124: 4299 cmp r1, r3 + 126: d803 bhi.n 130 + 128: 3303 adds r3, #3 + 12a: 1a1a subs r2, r3, r0 + 12c: 0892 lsrs r2, r2, #2 + 12e: 0092 lsls r2, r2, #2 + 130: 2100 movs r1, #0 + 132: 4b0c ldr r3, [pc, #48] ; (164 ) + 134: 4798 blx r3 + SCB->VTOR = ((uint32_t) pSrc & SCB_VTOR_TBLOFF_Msk); + 136: 22ff movs r2, #255 ; 0xff + 138: 4b0b ldr r3, [pc, #44] ; (168 ) + 13a: 4393 bics r3, r2 + 13c: 4a0b ldr r2, [pc, #44] ; (16c ) + 13e: 6093 str r3, [r2, #8] + __libc_init_array(); + 140: 4b0b ldr r3, [pc, #44] ; (170 ) + 142: 4798 blx r3 + main(); + 144: 4b0b ldr r3, [pc, #44] ; (174 ) + 146: 4798 blx r3 + while (1); + 148: e7fe b.n 148 + 14a: 46c0 nop ; (mov r8, r8) + 14c: 00000278 .word 0x00000278 + 150: 20000000 .word 0x20000000 + 154: 20000000 .word 0x20000000 + 158: 00000235 .word 0x00000235 + 15c: 20000000 .word 0x20000000 + 160: 2000001c .word 0x2000001c + 164: 00000247 .word 0x00000247 + 168: 00000000 .word 0x00000000 + 16c: e000ed00 .word 0xe000ed00 + 170: 000001ed .word 0x000001ed + 174: 00000179 .word 0x00000179 + +00000178
: +} + + + +int main() +{ + 178: b530 push {r4, r5, lr} + + +void init_pin(int port, int pin) +{ + uint32_t* dir_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_DIR_OFF)); + *dir_reg |= (1 << pin); + 17a: 2580 movs r5, #128 ; 0x80 + 17c: 2402 movs r4, #2 + 17e: 4a16 ldr r2, [pc, #88] ; (1d8 ) + 180: 00ad lsls r5, r5, #2 + 182: 6813 ldr r3, [r2, #0] + 184: 432b orrs r3, r5 + 186: 6013 str r3, [r2, #0] + 188: 4a14 ldr r2, [pc, #80] ; (1dc ) + 18a: 6813 ldr r3, [r2, #0] + 18c: 4323 orrs r3, r4 + 18e: 6013 str r3, [r2, #0] +} + +void set_pin(int port, int pin) +{ + uint32_t* out_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_OUT_OFF)); + *out_reg |= (1 << pin); + 190: 4b13 ldr r3, [pc, #76] ; (1e0 ) +} + +void clr_pin(int port, int pin) +{ + uint32_t* out_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_OUT_OFF)); + *out_reg &= ~(1 << pin); + 192: 4a14 ldr r2, [pc, #80] ; (1e4 ) + 194: 20fa movs r0, #250 ; 0xfa + *out_reg |= (1 << pin); + 196: 6819 ldr r1, [r3, #0] + *out_reg &= ~(1 << pin); + 198: 0040 lsls r0, r0, #1 + *out_reg |= (1 << pin); + 19a: 4329 orrs r1, r5 + 19c: 6019 str r1, [r3, #0] + *out_reg &= ~(1 << pin); + 19e: 6811 ldr r1, [r2, #0] + 1a0: 43a1 bics r1, r4 + 1a2: 6011 str r1, [r2, #0] +{ + 1a4: 2164 movs r1, #100 ; 0x64 + asm volatile("nop"); + 1a6: 46c0 nop ; (mov r8, r8) + for(i=0;i<100;i++) + 1a8: 3901 subs r1, #1 + 1aa: 2900 cmp r1, #0 + 1ac: d1fb bne.n 1a6 + for(;n>0;n--) + 1ae: 3801 subs r0, #1 + 1b0: 2800 cmp r0, #0 + 1b2: d1f7 bne.n 1a4 + *out_reg &= ~(1 << pin); + 1b4: 6818 ldr r0, [r3, #0] + 1b6: 490c ldr r1, [pc, #48] ; (1e8 ) + 1b8: 4001 ands r1, r0 + *out_reg |= (1 << pin); + 1ba: 20fa movs r0, #250 ; 0xfa + *out_reg &= ~(1 << pin); + 1bc: 6019 str r1, [r3, #0] + *out_reg |= (1 << pin); + 1be: 6811 ldr r1, [r2, #0] + 1c0: 0040 lsls r0, r0, #1 + 1c2: 4321 orrs r1, r4 + 1c4: 6011 str r1, [r2, #0] + *out_reg &= ~(1 << pin); + 1c6: 2164 movs r1, #100 ; 0x64 + asm volatile("nop"); + 1c8: 46c0 nop ; (mov r8, r8) + for(i=0;i<100;i++) + 1ca: 3901 subs r1, #1 + 1cc: 2900 cmp r1, #0 + 1ce: d1fb bne.n 1c8 + for(;n>0;n--) + 1d0: 3801 subs r0, #1 + 1d2: 2800 cmp r0, #0 + 1d4: d1f7 bne.n 1c6 + 1d6: e7dd b.n 194 + 1d8: 41004400 .word 0x41004400 + 1dc: 41004480 .word 0x41004480 + 1e0: 41004410 .word 0x41004410 + 1e4: 41004490 .word 0x41004490 + 1e8: fffffdff .word 0xfffffdff + +000001ec <__libc_init_array>: + 1ec: b570 push {r4, r5, r6, lr} + 1ee: 2600 movs r6, #0 + 1f0: 4d0c ldr r5, [pc, #48] ; (224 <__libc_init_array+0x38>) + 1f2: 4c0d ldr r4, [pc, #52] ; (228 <__libc_init_array+0x3c>) + 1f4: 1b64 subs r4, r4, r5 + 1f6: 10a4 asrs r4, r4, #2 + 1f8: 42a6 cmp r6, r4 + 1fa: d109 bne.n 210 <__libc_init_array+0x24> + 1fc: 2600 movs r6, #0 + 1fe: f000 f82b bl 258 <_init> + 202: 4d0a ldr r5, [pc, #40] ; (22c <__libc_init_array+0x40>) + 204: 4c0a ldr r4, [pc, #40] ; (230 <__libc_init_array+0x44>) + 206: 1b64 subs r4, r4, r5 + 208: 10a4 asrs r4, r4, #2 + 20a: 42a6 cmp r6, r4 + 20c: d105 bne.n 21a <__libc_init_array+0x2e> + 20e: bd70 pop {r4, r5, r6, pc} + 210: 00b3 lsls r3, r6, #2 + 212: 58eb ldr r3, [r5, r3] + 214: 4798 blx r3 + 216: 3601 adds r6, #1 + 218: e7ee b.n 1f8 <__libc_init_array+0xc> + 21a: 00b3 lsls r3, r6, #2 + 21c: 58eb ldr r3, [r5, r3] + 21e: 4798 blx r3 + 220: 3601 adds r6, #1 + 222: e7f2 b.n 20a <__libc_init_array+0x1e> + 224: 00000264 .word 0x00000264 + 228: 00000264 .word 0x00000264 + 22c: 00000264 .word 0x00000264 + 230: 00000268 .word 0x00000268 + +00000234 : + 234: 2300 movs r3, #0 + 236: b510 push {r4, lr} + 238: 429a cmp r2, r3 + 23a: d100 bne.n 23e + 23c: bd10 pop {r4, pc} + 23e: 5ccc ldrb r4, [r1, r3] + 240: 54c4 strb r4, [r0, r3] + 242: 3301 adds r3, #1 + 244: e7f8 b.n 238 + +00000246 : + 246: 0003 movs r3, r0 + 248: 1882 adds r2, r0, r2 + 24a: 4293 cmp r3, r2 + 24c: d100 bne.n 250 + 24e: 4770 bx lr + 250: 7019 strb r1, [r3, #0] + 252: 3301 adds r3, #1 + 254: e7f9 b.n 24a + ... + +00000258 <_init>: + 258: b5f8 push {r3, r4, r5, r6, r7, lr} + 25a: 46c0 nop ; (mov r8, r8) + 25c: bcf8 pop {r3, r4, r5, r6, r7} + 25e: bc08 pop {r3} + 260: 469e mov lr, r3 + 262: 4770 bx lr + +00000264 <__frame_dummy_init_array_entry>: + 264: 00d9 0000 .... + +00000268 <_fini>: + 268: b5f8 push {r3, r4, r5, r6, r7, lr} + 26a: 46c0 nop ; (mov r8, r8) + 26c: bcf8 pop {r3, r4, r5, r6, r7} + 26e: bc08 pop {r3} + 270: 469e mov lr, r3 + 272: 4770 bx lr + +00000274 <__do_global_dtors_aux_fini_array_entry>: + 274: 00b1 0000 .... diff --git a/d21test1/.igloo/testdir.map b/d21test1/.igloo/testdir.map new file mode 100644 index 0000000..5a7ec53 --- /dev/null +++ b/d21test1/.igloo/testdir.map @@ -0,0 +1,678 @@ +Archive member included to satisfy reference by file (symbol) + +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (atexit) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (exit) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (__libc_fini_array) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) (_global_impure_ptr) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (__libc_init_array) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + ESF/mcu/src/startup_samd21j18a.o (memcpy) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o (memset) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) (__register_exitproc) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) (__call_exitprocs) +/usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) (__retarget_lock_acquire_recursive) + +Allocating common symbols +Common symbol size file + +__lock___atexit_recursive_mutex + 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___arc4random_mutex + 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___env_recursive_mutex + 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___sinit_recursive_mutex + 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___malloc_recursive_mutex + 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___at_quick_exit_mutex + 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___dd_hash_mutex + 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___tz_mutex 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) +__lock___sfp_recursive_mutex + 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + +Discarded input sections + + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crti.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crti.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crti.o + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + .data.__dso_handle + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + .text 0x0000000000000000 0x74 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.extab 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.exidx 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .ARM.attributes + 0x0000000000000000 0x1b /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/startup_samd21j18a.o + .text 0x0000000000000000 0x0 ESF/mcu/src/startup_samd21j18a.o + .data 0x0000000000000000 0x0 ESF/mcu/src/startup_samd21j18a.o + .bss 0x0000000000000000 0x0 ESF/mcu/src/startup_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc ESF/mcu/src/system_samd21j18a.o + .text 0x0000000000000000 0x0 ESF/mcu/src/system_samd21j18a.o + .data 0x0000000000000000 0x4 ESF/mcu/src/system_samd21j18a.o + .bss 0x0000000000000000 0x0 ESF/mcu/src/system_samd21j18a.o + .text.SystemInit + 0x0000000000000000 0x10 ESF/mcu/src/system_samd21j18a.o + .text.SystemCoreClockUpdate + 0x0000000000000000 0x10 ESF/mcu/src/system_samd21j18a.o + .debug_info 0x0000000000000000 0xba ESF/mcu/src/system_samd21j18a.o + .debug_abbrev 0x0000000000000000 0x83 ESF/mcu/src/system_samd21j18a.o + .debug_aranges + 0x0000000000000000 0x20 ESF/mcu/src/system_samd21j18a.o + .debug_ranges 0x0000000000000000 0x10 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x1a3 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xa4e ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x1c ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x22 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x8e ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x51 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x103 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x6a ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x1df ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x7f ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x1c ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x22 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xaf ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x3ad ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x72b ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x946 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x289 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xfb7 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x52d ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xc48 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x957 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x47c ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x58 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xa6e ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x23e ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x3fe ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x52 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x80e ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x3d8 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0xe53 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x2675 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x10e2 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x793 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x20f6 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x193f ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x348 ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x30d ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x232d ESF/mcu/src/system_samd21j18a.o + .debug_macro 0x0000000000000000 0x3d8 ESF/mcu/src/system_samd21j18a.o + .debug_line 0x0000000000000000 0x2f5 ESF/mcu/src/system_samd21j18a.o + .debug_str 0x0000000000000000 0x93fcf ESF/mcu/src/system_samd21j18a.o + .comment 0x0000000000000000 0x1f ESF/mcu/src/system_samd21j18a.o + .debug_frame 0x0000000000000000 0x30 ESF/mcu/src/system_samd21j18a.o + .ARM.attributes + 0x0000000000000000 0x2c ESF/mcu/src/system_samd21j18a.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .group 0x0000000000000000 0xc src/main.o + .text 0x0000000000000000 0x0 src/main.o + .data 0x0000000000000000 0x0 src/main.o + .bss 0x0000000000000000 0x0 src/main.o + .debug_macro 0x0000000000000000 0xa4e src/main.o + .debug_macro 0x0000000000000000 0x1c src/main.o + .debug_macro 0x0000000000000000 0x22 src/main.o + .debug_macro 0x0000000000000000 0x8e src/main.o + .debug_macro 0x0000000000000000 0x51 src/main.o + .debug_macro 0x0000000000000000 0x103 src/main.o + .debug_macro 0x0000000000000000 0x6a src/main.o + .debug_macro 0x0000000000000000 0x1df src/main.o + .debug_macro 0x0000000000000000 0x7f src/main.o + .debug_macro 0x0000000000000000 0x1c src/main.o + .debug_macro 0x0000000000000000 0x22 src/main.o + .debug_macro 0x0000000000000000 0xaf src/main.o + .debug_macro 0x0000000000000000 0x3ad src/main.o + .debug_macro 0x0000000000000000 0x72b src/main.o + .debug_macro 0x0000000000000000 0x946 src/main.o + .debug_macro 0x0000000000000000 0x289 src/main.o + .debug_macro 0x0000000000000000 0xfb7 src/main.o + .debug_macro 0x0000000000000000 0x52d src/main.o + .debug_macro 0x0000000000000000 0xc48 src/main.o + .debug_macro 0x0000000000000000 0x957 src/main.o + .debug_macro 0x0000000000000000 0x47c src/main.o + .debug_macro 0x0000000000000000 0x58 src/main.o + .debug_macro 0x0000000000000000 0xa6e src/main.o + .debug_macro 0x0000000000000000 0x23e src/main.o + .debug_macro 0x0000000000000000 0x3fe src/main.o + .debug_macro 0x0000000000000000 0x52 src/main.o + .debug_macro 0x0000000000000000 0x80e src/main.o + .debug_macro 0x0000000000000000 0x3d8 src/main.o + .debug_macro 0x0000000000000000 0xe53 src/main.o + .debug_macro 0x0000000000000000 0x2675 src/main.o + .debug_macro 0x0000000000000000 0x10e2 src/main.o + .debug_macro 0x0000000000000000 0x793 src/main.o + .debug_macro 0x0000000000000000 0x20f6 src/main.o + .debug_macro 0x0000000000000000 0x193f src/main.o + .debug_macro 0x0000000000000000 0x348 src/main.o + .debug_macro 0x0000000000000000 0x30d src/main.o + .debug_macro 0x0000000000000000 0x232d src/main.o + .debug_macro 0x0000000000000000 0x3d8 src/main.o + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) + .text.atexit 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) + .debug_frame 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-atexit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .text.exit 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .debug_frame 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-exit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) + .text.__libc_fini_array + 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) + .debug_frame 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-fini.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .data._impure_ptr + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .data.impure_data + 0x0000000000000000 0x60 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .rodata._global_impure_ptr + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-impure.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + .text.__register_exitproc + 0x0000000000000000 0xcc /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + .bss._global_atexit0 + 0x0000000000000000 0x8c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + .data.__atexit_dummy + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + .debug_frame 0x0000000000000000 0x30 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__atexit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + .text.__call_exitprocs + 0x0000000000000000 0xb0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + .bss._global_atexit + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + .data.__atexit_recursive_mutex + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + .debug_frame 0x0000000000000000 0x34 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-__call_atexit.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_init + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_init_recursive + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_close + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_close_recursive + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_acquire + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_acquire_recursive + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_try_acquire + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_try_acquire_recursive + 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_release + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text.__retarget_lock_release_recursive + 0x0000000000000000 0x2 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .debug_frame 0x0000000000000000 0xb0 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + COMMON 0x0000000000000000 0x9 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-lock.o) + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtend.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtend.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtend.o + .eh_frame 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtend.o + .ARM.attributes + 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtend.o + .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtn.o + .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtn.o + .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtn.o + +Memory Configuration + +Name Origin Length Attributes +rom 0x0000000000000000 0x0000000000040000 xr +ram 0x0000000020000000 0x0000000000008000 xrw +*default* 0x0000000000000000 0xffffffffffffffff + +Linker script and memory map + +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crti.o +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/crt0.o +LOAD ESF/mcu/src/startup_samd21j18a.o +LOAD ESF/mcu/src/system_samd21j18a.o +LOAD src/main.o +START GROUP +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libm.a +END GROUP +START GROUP +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/libgcc.a +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a +END GROUP +START GROUP +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/libgcc.a +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a +END GROUP +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtend.o +LOAD /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtn.o + 0x0000000000002000 STACK_SIZE = DEFINED (STACK_SIZE)?STACK_SIZE:DEFINED (__stack_size__)?__stack_size__:0x2000 + +.text 0x0000000000000000 0x278 + 0x0000000000000000 . = ALIGN (0x4) + 0x0000000000000000 _sfixed = . + *(.vectors .vectors.*) + .vectors 0x0000000000000000 0xb0 ESF/mcu/src/startup_samd21j18a.o + 0x0000000000000000 exception_table + *(.text .text.* .gnu.linkonce.t.*) + .text.__do_global_dtors_aux + 0x00000000000000b0 0x28 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + .text.frame_dummy + 0x00000000000000d8 0x20 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + .text.Dummy_Handler + 0x00000000000000f8 0x2 ESF/mcu/src/startup_samd21j18a.o + 0x00000000000000f8 SVCall_Handler + 0x00000000000000f8 DMAC_Handler + 0x00000000000000f8 HardFault_Handler + 0x00000000000000f8 AC_Handler + 0x00000000000000f8 SysTick_Handler + 0x00000000000000f8 PendSV_Handler + 0x00000000000000f8 TC7_Handler + 0x00000000000000f8 SERCOM1_Handler + 0x00000000000000f8 ADC_Handler + 0x00000000000000f8 NonMaskableInt_Handler + 0x00000000000000f8 TCC1_Handler + 0x00000000000000f8 SERCOM2_Handler + 0x00000000000000f8 TCC0_Handler + 0x00000000000000f8 RTC_Handler + 0x00000000000000f8 EIC_Handler + 0x00000000000000f8 TC6_Handler + 0x00000000000000f8 WDT_Handler + 0x00000000000000f8 TC4_Handler + 0x00000000000000f8 USB_Handler + 0x00000000000000f8 TC3_Handler + 0x00000000000000f8 Dummy_Handler + 0x00000000000000f8 PM_Handler + 0x00000000000000f8 SERCOM5_Handler + 0x00000000000000f8 TCC2_Handler + 0x00000000000000f8 EVSYS_Handler + 0x00000000000000f8 SERCOM3_Handler + 0x00000000000000f8 SERCOM4_Handler + 0x00000000000000f8 I2S_Handler + 0x00000000000000f8 NVMCTRL_Handler + 0x00000000000000f8 SERCOM0_Handler + 0x00000000000000f8 DAC_Handler + 0x00000000000000f8 PTC_Handler + 0x00000000000000f8 TC5_Handler + 0x00000000000000f8 SYSCTRL_Handler + *fill* 0x00000000000000fa 0x2 + .text.Reset_Handler + 0x00000000000000fc 0x7c ESF/mcu/src/startup_samd21j18a.o + 0x00000000000000fc Reset_Handler + .text.startup.main + 0x0000000000000178 0x74 src/main.o + 0x0000000000000178 main + .text.__libc_init_array + 0x00000000000001ec 0x48 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + 0x00000000000001ec __libc_init_array + .text.memcpy 0x0000000000000234 0x12 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + 0x0000000000000234 memcpy + .text.memset 0x0000000000000246 0x10 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + 0x0000000000000246 memset + *(.glue_7t) + .glue_7t 0x0000000000000256 0x0 linker stubs + *(.glue_7) + .glue_7 0x0000000000000256 0x0 linker stubs + *(.rodata .rodata* .gnu.linkonce.r.*) + *(.ARM.extab* .gnu.linkonce.armextab.*) + 0x0000000000000258 . = ALIGN (0x4) + *fill* 0x0000000000000256 0x2 + *(.init) + .init 0x0000000000000258 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crti.o + 0x0000000000000258 _init + .init 0x000000000000025c 0x8 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtn.o + 0x0000000000000264 . = ALIGN (0x4) + 0x0000000000000264 __preinit_array_start = . + *(.preinit_array) + 0x0000000000000264 __preinit_array_end = . + 0x0000000000000264 . = ALIGN (0x4) + 0x0000000000000264 __init_array_start = . + *(SORT_BY_NAME(.init_array.*)) + *(.init_array) + .init_array 0x0000000000000264 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + 0x0000000000000268 __init_array_end = . + 0x0000000000000268 . = ALIGN (0x4) + *crtbegin.o(.ctors) + *(EXCLUDE_FILE(*crtend.o) .ctors) + *(SORT_BY_NAME(.ctors.*)) + *crtend.o(.ctors) + 0x0000000000000268 . = ALIGN (0x4) + *(.fini) + .fini 0x0000000000000268 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crti.o + 0x0000000000000268 _fini + .fini 0x000000000000026c 0x8 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtn.o + 0x0000000000000274 . = ALIGN (0x4) + 0x0000000000000274 __fini_array_start = . + *(.fini_array) + .fini_array 0x0000000000000274 0x4 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + *(SORT_BY_NAME(.fini_array.*)) + 0x0000000000000278 __fini_array_end = . + *crtbegin.o(.dtors) + *(EXCLUDE_FILE(*crtend.o) .dtors) + *(SORT_BY_NAME(.dtors.*)) + *crtend.o(.dtors) + 0x0000000000000278 . = ALIGN (0x4) + 0x0000000000000278 _efixed = . + [!provide] PROVIDE (__exidx_start = .) + +.vfp11_veneer 0x0000000000000278 0x0 + .vfp11_veneer 0x0000000000000278 0x0 linker stubs + +.v4_bx 0x0000000000000278 0x0 + .v4_bx 0x0000000000000278 0x0 linker stubs + +.iplt 0x0000000000000278 0x0 + .iplt 0x0000000000000278 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + +.igot.plt 0x0000000000000278 0x0 + .igot.plt 0x0000000000000278 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + +.eh_frame 0x0000000000000278 0x0 + .eh_frame 0x0000000000000278 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + +.rel.dyn 0x0000000000000278 0x0 + .rel.iplt 0x0000000000000278 0x0 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + +.ARM.exidx + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + [!provide] PROVIDE (__exidx_end = .) + 0x0000000000000278 . = ALIGN (0x4) + 0x0000000000000278 _etext = . + +.relocate 0x0000000020000000 0x0 load address 0x0000000000000278 + 0x0000000020000000 . = ALIGN (0x4) + 0x0000000020000000 _srelocate = . + *(.ramfunc .ramfunc.*) + *(.data .data.*) + 0x0000000020000000 . = ALIGN (0x4) + 0x0000000020000000 _erelocate = . + +.bss 0x0000000020000000 0x1c + 0x0000000020000000 . = ALIGN (0x4) + 0x0000000020000000 _sbss = . + 0x0000000020000000 _szero = . + *(.bss .bss.*) + .bss.completed.1 + 0x0000000020000000 0x1 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + *fill* 0x0000000020000001 0x3 + .bss.object.0 0x0000000020000004 0x18 /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + *(COMMON) + 0x000000002000001c . = ALIGN (0x4) + 0x000000002000001c _ebss = . + 0x000000002000001c _ezero = . + +.stack 0x000000002000001c 0x2004 + 0x0000000020000020 . = ALIGN (0x8) + *fill* 0x000000002000001c 0x4 + 0x0000000020000020 _sstack = . + 0x0000000020002020 . = (. + STACK_SIZE) + *fill* 0x0000000020000020 0x2000 + 0x0000000020002020 . = ALIGN (0x8) + 0x0000000020002020 _estack = . + 0x0000000020002020 . = ALIGN (0x4) + 0x0000000020002020 _end = . +OUTPUT(testdir.elf elf32-littlearm) +LOAD linker stubs + +.ARM.attributes + 0x0000000000000000 0x28 + .ARM.attributes + 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crti.o + .ARM.attributes + 0x000000000000001e 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtbegin.o + .ARM.attributes + 0x000000000000004a 0x2c ESF/mcu/src/startup_samd21j18a.o + .ARM.attributes + 0x0000000000000076 0x2c src/main.o + .ARM.attributes + 0x00000000000000a2 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .ARM.attributes + 0x00000000000000ce 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .ARM.attributes + 0x00000000000000fa 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + .ARM.attributes + 0x0000000000000126 0x1e /usr/lib/gcc/arm-none-eabi/10.2.0/thumb/v6-m/nofp/crtn.o + +.comment 0x0000000000000000 0x1e + .comment 0x0000000000000000 0x1e ESF/mcu/src/startup_samd21j18a.o + 0x1f (size before relaxing) + .comment 0x000000000000001e 0x1f src/main.o + +.debug_info 0x0000000000000000 0x7fa + .debug_info 0x0000000000000000 0x4a3 ESF/mcu/src/startup_samd21j18a.o + .debug_info 0x00000000000004a3 0x357 src/main.o + +.debug_abbrev 0x0000000000000000 0x28b + .debug_abbrev 0x0000000000000000 0x181 ESF/mcu/src/startup_samd21j18a.o + .debug_abbrev 0x0000000000000181 0x10a src/main.o + +.debug_aranges 0x0000000000000000 0x48 + .debug_aranges + 0x0000000000000000 0x28 ESF/mcu/src/startup_samd21j18a.o + .debug_aranges + 0x0000000000000028 0x20 src/main.o + +.debug_ranges 0x0000000000000000 0x118 + .debug_ranges 0x0000000000000000 0x18 ESF/mcu/src/startup_samd21j18a.o + .debug_ranges 0x0000000000000018 0x100 src/main.o + +.debug_macro 0x0000000000000000 0x12b53 + .debug_macro 0x0000000000000000 0x19d ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000019d 0xa4e ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000beb 0x1c ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000c07 0x22 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000c29 0x8e ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000cb7 0x51 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000d08 0x103 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000e0b 0x6a ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000000e75 0x1df ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000001054 0x7f ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000010d3 0x1c ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000010ef 0x22 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000001111 0xaf ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000011c0 0x3ad ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000156d 0x72b ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000001c98 0x946 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000025de 0x289 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000002867 0xfb7 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000381e 0x52d ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000003d4b 0xc48 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000004993 0x957 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000052ea 0x47c ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000005766 0x58 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000057be 0xa6e ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000622c 0x23e ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000646a 0x3fe ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000006868 0x52 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000068ba 0x80e ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000070c8 0x3d8 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000074a0 0xe53 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x00000000000082f3 0x2675 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000a968 0x10e2 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000ba4a 0x793 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000c1dd 0x20f6 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000e2d3 0x193f ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000fc12 0x348 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000000ff5a 0x30d ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000010267 0x232d ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x0000000000012594 0x3d8 ESF/mcu/src/startup_samd21j18a.o + .debug_macro 0x000000000001296c 0x1e7 src/main.o + +.debug_line 0x0000000000000000 0x7b8 + .debug_line 0x0000000000000000 0x34e ESF/mcu/src/startup_samd21j18a.o + .debug_line 0x000000000000034e 0x46a src/main.o + +.debug_str 0x0000000000000000 0x93ff8 + .debug_str 0x0000000000000000 0x93eff ESF/mcu/src/startup_samd21j18a.o + 0x9434a (size before relaxing) + .debug_str 0x0000000000093eff 0xf9 src/main.o + 0x94060 (size before relaxing) + +.debug_frame 0x0000000000000000 0xd8 + .debug_frame 0x0000000000000000 0x38 ESF/mcu/src/startup_samd21j18a.o + .debug_frame 0x0000000000000038 0x2c src/main.o + .debug_frame 0x0000000000000064 0x2c /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-init.o) + .debug_frame 0x0000000000000090 0x28 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memcpy-stub.o) + .debug_frame 0x00000000000000b8 0x20 /usr/lib/gcc/arm-none-eabi/10.2.0/../../../../arm-none-eabi/lib/thumb/v6-m/nofp/libc_nano.a(lib_a-memset.o) + +.debug_loc 0x0000000000000000 0x27c + .debug_loc 0x0000000000000000 0x27c src/main.o diff --git a/d21test1/ESF/common b/d21test1/ESF/common new file mode 120000 index 0000000..a00cb7c --- /dev/null +++ b/d21test1/ESF/common @@ -0,0 +1 @@ +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/arch/arm/common \ No newline at end of file diff --git a/d21test1/ESF/ld b/d21test1/ESF/ld new file mode 120000 index 0000000..4c63c1a --- /dev/null +++ b/d21test1/ESF/ld @@ -0,0 +1 @@ +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/arch/arm/SAMD21/SAMD21A/ld \ No newline at end of file diff --git a/d21test1/ESF/mcu b/d21test1/ESF/mcu new file mode 120000 index 0000000..e9b93eb --- /dev/null +++ b/d21test1/ESF/mcu @@ -0,0 +1 @@ +/storage/Shared/Documents/Projects/ePenguin/ePenguin-Software-Framework/arch/arm/SAMD21/SAMD21A/mcu \ No newline at end of file diff --git a/d21test1/inc/esf.h b/d21test1/inc/esf.h new file mode 100644 index 0000000..fc3d8f1 --- /dev/null +++ b/d21test1/inc/esf.h @@ -0,0 +1 @@ +#include "sam.h" diff --git a/d21test1/src/main.c b/d21test1/src/main.c new file mode 100644 index 0000000..c72cf06 --- /dev/null +++ b/d21test1/src/main.c @@ -0,0 +1,84 @@ +#include "esf.h" + +#define PORT_ADDR (0x41004400) + +#define PORT_GROUP_SIZE (0x80) + +#define PORT_A_OFF (0x00) +#define PORT_B_OFF (0x80) + +#define PORT_DIR_OFF (0x00) +#define PORT_OUT_OFF (0x10) + +// LED 0: PA09 +// LED 1: PB01 + +#define LED0_PORT (0) +#define LED0_PIN (9) + +#define LED1_PORT (1) +#define LED1_PIN (1) + +static void init_pin(int port, int pin); +static void set_pin(int port, int pin); +static void clr_pin(int port, int pin); + +static void delay(int n) +{ + int i; + + for(;n>0;n--) + { + for(i=0;i<100;i++) + { + + asm volatile("nop"); + } + } +} + + + +int main() +{ + init_pin(LED0_PORT, LED0_PIN); + init_pin(LED1_PORT, LED1_PIN); + + for(;;) + { + set_pin(LED0_PORT, LED0_PIN); + clr_pin(LED1_PORT, LED1_PIN); + delay(500); + clr_pin(LED0_PORT, LED0_PIN); + set_pin(LED1_PORT, LED1_PIN); + delay(500); + } + return 0; +} + +// port 0: A +// port 1: B + + +void init_pin(int port, int pin) +{ + uint32_t* dir_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_DIR_OFF)); + *dir_reg |= (1 << pin); +} + +void set_pin(int port, int pin) +{ + uint32_t* out_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_OUT_OFF)); + *out_reg |= (1 << pin); +} + +void clr_pin(int port, int pin) +{ + uint32_t* out_reg = (uint32_t*)((PORT_ADDR | (port * PORT_GROUP_SIZE) | PORT_OUT_OFF)); + *out_reg &= ~(1 << pin); +} + + + + +