Arduino/hardware/arduino/sam/platform.txt

73 lines
4.0 KiB
Plaintext
Raw Normal View History

2012-01-11 04:59:16 -08:00
name=Atmel SAM
#compiler.path Official default is correct, only need to change this if you want to overide the initial default
compiler.path={0}/hardware/tools/CodeSourcery_arm/bin/
compiler.c.cmd=arm-none-eabi-gcc
compiler.c.flags=-c -g -Os -w -mthumb -mlong-calls -ffunction-sections -nostdlib --param max-inline-insns-single=500 -Dprintf=iprintf
compiler.c.elf.flags=-Os -Wl,--gc-sections
compiler.c.elf.cmd=arm-none-eabi-gcc
compiler.S.flags=-c -g -assembler-with-cpp
compiler.cpp.cmd=arm-none-eabi-g++
compiler.cpp.flags=-c -g -Os -w -mthumb -mlong-calls -ffunction-sections -nostdlib --param max-inline-insns-single=500 -fno-rtti -fno-exceptions -Dprintf=iprintf
compiler.ar.cmd=arm-none-eabi-ar
compiler.ar.flags=rcs
compiler.objcopy.cmd=arm-none-eabi-objcopy
compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0
compiler.elf2hex.flags=-O binary
compiler.elf2hex.cmd=arm-none-eabi-objcopy
compiler.ldflags=
compiler.cpudef=-mcpu=
compiler.size.cmd=arm-none-eabi-size
compiler.upload.cmd=
compiler.upload.flags=
compiler.define=-DARDUINO=
library.path=./hardware/sam/cores/sam
library.core.path=./libraries;./hardware/sam/libraries
2011-06-25 09:53:35 -07:00
#########Compiler Recipe#################################
2012-01-11 04:59:16 -08:00
2011-06-25 09:53:35 -07:00
##compile c object files
##Default.recipe, overide if overide exists, these defauls should remain the same, if you need to change them do it as an overide.
2012-01-11 04:59:16 -08:00
#default.recipe.c.o.pattern={0}{1} {2} {3}{4} -DF_CPU={5} -D{6}={7} {8} {9} -o {10}
#default.recipe.cpp.o.pattern={0}{1} {2} {3}{4} -DF_CPU={5} -D{6}={7} {8} {9} -o {10}
#default.recipe.ar.pattern={0}{1} {2} {3}{4} {5}
#default.recipe.c.combine.pattern={0}{1} {2} {3}{4} -o {5}{6}.elf {7} {8} -L{9} -lm
#default.recipe.objcopy.eep.pattern={0}{1} {2} {3}.elf {4}.eep
#default.recipe.objcopy.hex.pattern={0}{1} {2} {3}.elf {4}.hex
2011-06-25 09:53:35 -07:00
########sam compile pattern ##########
2012-01-11 04:59:16 -08:00
#recipe.c.o.pattern={0=compiler.path}{1=compiler.c.cmd}{2=compiler.c.flags}{3=compiler.cpudef}{4=build.mcu}-DF_CPU={5=build.f_cpu}-D{7=ARDUINO}={6=Base.REVISION}{7=-I/INCLUDE_PATHS} {8=SOURCE_NAME} -o{9=OBJECT_NAME}
2011-06-25 09:53:35 -07:00
#object name seems to have build path in it.
2012-01-11 04:59:16 -08:00
recipe.c.o.pattern={0}{1} {2} {3}{4} -DF_CPU={5} -D{6}={7} {11} {8} {9} -o {10}
2011-06-25 09:53:35 -07:00
##compile cc object files
2012-01-11 04:59:16 -08:00
#recipe.cc.o.pattern={0=compiler.path}{1=compiler.cc.cmd}{2=compiler.c.flags}{3=compiler.cpudef}{4=build.mcu}-DF_CPU={5=build.f_cpu}-DARDUINO={6=Base.REVISION}{-7=I/INCLUDE_PATHS} {8=SOURCE_NAME} -o{9=BUILD_PATH}{10=OBJECT_NAME}
recipe.cpp.o.pattern={0}{1} {2} {3}{4} -DF_CPU={5} -D{6}={7} {11} {8} {9} -o {10}
2011-06-25 09:53:35 -07:00
##create archives
2012-01-11 04:59:16 -08:00
#recipe.ar.pattern={0=compiler.path}{1=compiler.ar.cmd}{2=compiler.ar.flags}{3=BUILD_PATH}{4=CORE_NAME=core.a}{5=BUILD_PATH}{6=OBJECT_NAME}
recipe.ar.pattern={0}{1} {2} {3}{4} {5}
2011-06-25 09:53:35 -07:00
2012-01-11 04:59:16 -08:00
##combine gc-sections archives, and objects
#recipe.c.combine.pattern={0=compiler.path}{1=compiler.c.cmd}{2=compiler.combine.flags}{3=compiler.cpudef}{4=build.mcu} -o {5=BUILD_PATH}{6=SOURCE_NAME}.elf {7=BUILD_PATH}{8=SOURCE_NAME}.o {9=BUILD_PATH}{10=CORE_NAME=core.a} -L{11=BUILD_PATH} -lm
#recipe.c.combine.pattern={0}{1} {2} {3}{4} -o {5}{6}.elf {7}{8} {9} -L{10} -lm
recipe.c.combine.pattern={0}{1} {2} {3}{4} -T{11} -Wl,-Map,{5}{6}.map -o {5}{6}.elf -L{9} -lm -lgcc -mthumb -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--entry=Reset_Handler -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align -Wl,--warn-unresolved-symbols -Wl,--start-group {7} {8} -Wl,--end-group
2011-06-25 09:53:35 -07:00
##create eeprom
2012-01-11 04:59:16 -08:00
#recipe.objcopy.eep.pattern={0=compiler.path}{1=compiler.objcopy.cmd}{2=compiler.objcopy.eep.flags} {3=BUILD_PATH}{4=SOURCE_NAME}.elf {5=BUILD_PATH}{6=SOURCE_NAME}.eep
#recipe.objcopy.eep.pattern={0}{1} {2} {3}.elf {4}.eep
recipe.objcopy.eep.pattern=
2011-06-25 09:53:35 -07:00
##create hex
2012-01-11 04:59:16 -08:00
#recipe.objcopy.hex.pattern={0=compiler.path}{1=compiler.objcopy.cmd}{2=compiler.objcopy.elf.flags} {3=BUILD_PATH}{4=SOURCE_NAME}.elf {5=BUILD_PATH}{6=SOURCE_NAME}.hex
recipe.objcopy.hex.pattern={0}{1} {2} {3}.elf {4}.bin
2011-06-25 09:53:35 -07:00
##compute size
2012-01-11 04:59:16 -08:00
recipe.size.pattern={0}{1} {2}.elf
2011-06-25 09:53:35 -07:00