Merge remote branch 'ricklon/platforms' into new-extension

This commit is contained in:
David A. Mellis 2011-06-25 11:08:42 -04:00
commit d81d7f8415
3 changed files with 89 additions and 16 deletions

View File

@ -1,6 +1,7 @@
##############################################################
uno.name=Arduino Uno
uno.platform=avr
uno.upload.protocol=stk500
uno.upload.maximum_size=32256
uno.upload.speed=115200
@ -19,7 +20,7 @@ uno.build.pins=standard
##############################################################
atmega328.name=Arduino Duemilanove or Nano w/ ATmega328
atmega328.platform=avr
atmega328.upload.protocol=stk500
atmega328.upload.maximum_size=30720
atmega328.upload.speed=57600
@ -40,7 +41,7 @@ atmega328.build.pins=standard
##############################################################
diecimila.name=Arduino Diecimila, Duemilanove, or Nano w/ ATmega168
diecimila.platform=avr
diecimila.upload.protocol=stk500
diecimila.upload.maximum_size=14336
diecimila.upload.speed=19200
@ -61,7 +62,7 @@ diecimila.build.pins=standard
##############################################################
mega2560.name=Arduino Mega 2560
mega2560.platform=avr
mega2560.upload.protocol=stk500v2
mega2560.upload.maximum_size=258048
mega2560.upload.speed=115200
@ -82,7 +83,7 @@ mega2560.build.pins=mega
##############################################################
mega.name=Arduino Mega (ATmega1280)
mega.platform=avr
mega.upload.protocol=stk500
mega.upload.maximum_size=126976
mega.upload.speed=57600
@ -103,7 +104,7 @@ mega.build.pins=mega
##############################################################
mini.name=Arduino Mini
mini.platform=avr
mini.upload.protocol=stk500
mini.upload.maximum_size=14336
mini.upload.speed=19200
@ -124,7 +125,7 @@ mini.build.pins=standard
##############################################################
fio.name=Arduino Fio
fio.platform=avr
fio.upload.protocol=stk500
fio.upload.maximum_size=30720
fio.upload.speed=57600
@ -145,7 +146,7 @@ fio.build.pins=standard
##############################################################
bt328.name=Arduino BT w/ ATmega328
bt328.platform=avr
bt328.upload.protocol=stk500
bt328.upload.maximum_size=28672
bt328.upload.speed=19200
@ -167,7 +168,7 @@ bt328.build.pins=standard
##############################################################
bt.name=Arduino BT w/ ATmega168
bt.platform=avr
bt.upload.protocol=stk500
bt.upload.maximum_size=14336
bt.upload.speed=19200
@ -189,7 +190,7 @@ bt.build.pins=standard
##############################################################
lilypad328.name=LilyPad Arduino w/ ATmega328
lilypad328.platform=avr
lilypad328.upload.protocol=stk500
lilypad328.upload.maximum_size=30720
lilypad328.upload.speed=57600
@ -210,7 +211,7 @@ lilypad328.build.pins=standard
##############################################################
lilypad.name=LilyPad Arduino w/ ATmega168
lilypad.platform=avr
lilypad.upload.protocol=stk500
lilypad.upload.maximum_size=14336
lilypad.upload.speed=19200
@ -231,7 +232,7 @@ lilypad.build.pins=standard
##############################################################
pro5v328.name=Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
pro5v328.platform=avr
pro5v328.upload.protocol=stk500
pro5v328.upload.maximum_size=30720
pro5v328.upload.speed=57600
@ -252,7 +253,7 @@ pro5v328.build.pins=standard
##############################################################
pro5v.name=Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega168
pro5v.platform=avr
pro5v.upload.protocol=stk500
pro5v.upload.maximum_size=14336
pro5v.upload.speed=19200
@ -273,7 +274,7 @@ pro5v.build.pins=standard
##############################################################
pro328.name=Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
pro328.platform=avr
pro328.upload.protocol=stk500
pro328.upload.maximum_size=30720
pro328.upload.speed=57600
@ -294,7 +295,7 @@ pro328.build.pins=standard
##############################################################
pro.name=Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega168
pro.platform=avr
pro.upload.protocol=stk500
pro.upload.maximum_size=14336
pro.upload.speed=19200
@ -315,7 +316,7 @@ pro.build.pins=standard
##############################################################
atmega168.name=Arduino NG or older w/ ATmega168
atmega168.platform=avr
atmega168.upload.protocol=stk500
atmega168.upload.maximum_size=14336
atmega168.upload.speed=19200
@ -336,7 +337,7 @@ atmega168.build.pins=standard
##############################################################
atmega8.name=Arduino NG or older w/ ATmega8
atmega8.platform=avr
atmega8.upload.protocol=stk500
atmega8.upload.maximum_size=7168
atmega8.upload.speed=19200

View File

@ -278,6 +278,8 @@ void HardwareSerial::begin(unsigned long baud)
use_u2x = false;
}
#endif
try_again:
if (use_u2x) {
*_ucsra = 1 << _u2x;
@ -286,6 +288,12 @@ void HardwareSerial::begin(unsigned long baud)
*_ucsra = 0;
baud_setting = (F_CPU / 8 / baud - 1) / 2;
}
if ((baud_setting > 4095) && use_u2x)
{
use_u2x = false;
goto try_again;
}
// assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register)
*_ubrrh = baud_setting >> 8;

64
platforms.txt Executable file
View File

@ -0,0 +1,64 @@
#########Compiler Recipe#################################
##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.
#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
########avr compile pattern ##########
#avr.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}
#object name seems to have build path in it.
avr.recipe.c.o.pattern={0}{1}|{2}|{3}{4}|-DF_CPU={5}|-D{6}={7}|{8}|{9}|-o|{10}
##compile cc object files
#avr.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}
avr.recipe.cpp.o.pattern={0}{1}|{2}|{3}{4}|-DF_CPU={5}|-D{6}={7}|{8}|{9}|-o|{10}
##create archives
#avr.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}
avr.recipe.ar.pattern={0}{1}|{2}|{3}{4}|{5}
##combine gc-sections| archives, and objects
#avr.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
#avr.recipe.c.combine.pattern={0}{1}|{2}|{3}{4}|-o|{5}{6}.elf|{7}{8}|{9}|-L{10}|-lm
avr.recipe.c.combine.pattern={0}{1}|{2}|{3}{4}|-o|{5}{6}.elf|{7}|{8}|-L{9}|-lm
##create eeprom
#avr.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
avr.recipe.objcopy.eep.pattern={0}{1}|{2}|{3}.elf|{4}.eep
##create hex
#avr.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
avr.recipe.objcopy.hex.pattern={0}{1}|{2}|{3}.elf|{4}.hex
########################################################
avr.name=Arduino
#avr.compiler.path Official default is correct, only need to change this if you want to overide the initial default
#avr.compiler.path={0}/hardware/tools/avr/bin/
avr.compiler.c.cmd=avr-gcc
avr.compiler.c.flags=|-c|-g|-Os|-w|-ffunction-sections|-fdata-sections
avr.compiler.c.elf.flags=|-Os|-Wl|--gc-sections
avr.compiler.c.elf.cmd=avr-gcc
avr.compiler.S.flags=|-c|-g|-assembler-with-cpp
avr.compiler.cpp.cmd=avr-g++
avr.compiler.cpp.flags=|-c|-g|-Os|-w|-fno-exceptions|-ffunction-sections|-fdata-sections
avr.compiler.ar.cmd=avr-ar
avr.compiler.ar.flags=rcs
avr.compiler.objcopy.cmd=avr-objcopy
avr.compiler.objcopy.eep.flags=|-O|ihex|-j|.eeprom|--set-section-flags=.eeprom=alloc,load|--no-change-warnings|--change-section-lma|.eeprom=0
avr.compiler.elf2hex.flags=|-O|ihex|-R|.eeprom
avr.compiler.elf2hex.cmd=avr-objcopy
avr.compiler.ldflags=
avr.compiler.cpudef=-mmcu=
avr.compiler.upload.cmd=
avr.compiler.upload.flags=
avr.compiler.define=-DARDUINO=
avr.library.path=./hardware/arduino/cores/arduino
avr.library.core.path=./libraries