Added auto-generation for 'build.board' value in boards.txt.

See #1305.
This commit is contained in:
Cristian Maglie 2013-03-06 12:49:41 +01:00
parent fe44fbf7e3
commit bed305a556
5 changed files with 140 additions and 124 deletions

View File

@ -1,5 +1,8 @@
package processing.app.debug;
import static processing.app.I18n._;
import static processing.app.I18n.format;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
@ -28,6 +31,18 @@ public class TargetBoard {
PreferencesMap menus = prefs.firstLevelMap().get("menu");
if (menus != null)
menuOptions = menus.firstLevelMap();
// Auto generate build.board if not set
if (!prefs.containsKey("build.board")) {
String board = containerPlatform.getId() + "_" + id;
board = board.toUpperCase();
prefs.put("build.board", board);
System.out
.println(format(
_("Board {0}:{1}:{2} doesn''t define a ''build.board'' preference. Auto-set to: {3}"),
containerPlatform.getContainerPackage().getId(),
containerPlatform.getId(), id, board));
}
}
/**

View File

@ -20,52 +20,52 @@ uno.bootloader.file=optiboot/optiboot_atmega328.hex
uno.build.mcu=atmega328p
uno.build.f_cpu=16000000L
uno.build.board=ARDUINO_UNO
uno.build.board=AVR_UNO
uno.build.core=arduino
uno.build.variant=standard
##############################################################
atmega328diecimila.name=Arduino Duemilanove or Diecimila
duemilanove.name=Arduino Duemilanove or Diecimila
atmega328diecimila.upload.tool=avrdude
atmega328diecimila.upload.protocol=arduino
duemilanove.upload.tool=avrdude
duemilanove.upload.protocol=arduino
atmega328diecimila.bootloader.tool=avrdude
atmega328diecimila.bootloader.low_fuses=0xFF
atmega328diecimila.bootloader.unlock_bits=0x3F
atmega328diecimila.bootloader.lock_bits=0x0F
duemilanove.bootloader.tool=avrdude
duemilanove.bootloader.low_fuses=0xFF
duemilanove.bootloader.unlock_bits=0x3F
duemilanove.bootloader.lock_bits=0x0F
atmega328diecimila.build.f_cpu=16000000L
atmega328diecimila.build.board=ARDUINO_DUEMILANOVE
atmega328diecimila.build.core=arduino
atmega328diecimila.build.variant=standard
duemilanove.build.f_cpu=16000000L
duemilanove.build.board=AVR_DUEMILANOVE
duemilanove.build.core=arduino
duemilanove.build.variant=standard
## Arduino Duemilanove or Diecimila w/ ATmega328
## ---------------------------------------------
atmega328diecimila.menu.cpu.atmega328=ATmega328
duemilanove.menu.cpu.atmega328=ATmega328
atmega328diecimila.menu.cpu.atmega328.upload.maximum_size=30720
atmega328diecimila.menu.cpu.atmega328.upload.speed=57600
duemilanove.menu.cpu.atmega328.upload.maximum_size=30720
duemilanove.menu.cpu.atmega328.upload.speed=57600
atmega328diecimila.menu.cpu.atmega328.bootloader.high_fuses=0xDA
atmega328diecimila.menu.cpu.atmega328.bootloader.extended_fuses=0x05
atmega328diecimila.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
duemilanove.menu.cpu.atmega328.bootloader.high_fuses=0xDA
duemilanove.menu.cpu.atmega328.bootloader.extended_fuses=0x05
duemilanove.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
atmega328diecimila.menu.cpu.atmega328.build.mcu=atmega328p
duemilanove.menu.cpu.atmega328.build.mcu=atmega328p
## Arduino Duemilanove or Diecimila w/ ATmega168
## ---------------------------------------------
atmega328diecimila.menu.cpu.atmega168=ATmega168
duemilanove.menu.cpu.atmega168=ATmega168
atmega328diecimila.menu.cpu.atmega168.upload.maximum_size=14336
atmega328diecimila.menu.cpu.atmega168.upload.speed=19200
duemilanove.menu.cpu.atmega168.upload.maximum_size=14336
duemilanove.menu.cpu.atmega168.upload.speed=19200
atmega328diecimila.menu.cpu.atmega168.bootloader.high_fuses=0xdd
atmega328diecimila.menu.cpu.atmega168.bootloader.extended_fuses=0x00
atmega328diecimila.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex
duemilanove.menu.cpu.atmega168.bootloader.high_fuses=0xdd
duemilanove.menu.cpu.atmega168.bootloader.extended_fuses=0x00
duemilanove.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex
atmega328diecimila.menu.cpu.atmega168.build.mcu=atmega168
duemilanove.menu.cpu.atmega168.build.mcu=atmega168
##############################################################
@ -79,7 +79,7 @@ nano.bootloader.unlock_bits=0x3F
nano.bootloader.lock_bits=0x0F
nano.build.f_cpu=16000000L
nano.build.board=ARDUINO_NANO
nano.build.board=AVR_NANO
nano.build.core=arduino
nano.build.variant=eightanaloginputs
@ -131,7 +131,7 @@ mega2560.bootloader.lock_bits=0x0F
mega2560.build.mcu=atmega2560
mega2560.build.f_cpu=16000000L
mega2560.build.board=ARDUINO_MEGA2560
mega2560.build.board=AVR_MEGA2560
mega2560.build.core=arduino
mega2560.build.variant=mega
@ -155,7 +155,7 @@ mega.bootloader.lock_bits=0x0F
mega.build.mcu=atmega1280
mega.build.f_cpu=16000000L
mega.build.board=ARDUINO_MEGA
mega.build.board=AVR_MEGA
mega.build.core=arduino
mega.build.variant=mega
@ -182,7 +182,7 @@ leonardo.build.mcu=atmega32u4
leonardo.build.f_cpu=16000000L
leonardo.build.vid=0x2341
leonardo.build.pid=0x8036
leonardo.build.board=ARDUINO_LEONARDO
leonardo.build.board=AVR_LEONARDO
leonardo.build.core=arduino
leonardo.build.variant=leonardo
leonardo.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
@ -210,7 +210,7 @@ micro.build.mcu=atmega32u4
micro.build.f_cpu=16000000L
micro.build.vid=0x2341
micro.build.pid=0x8037
micro.build.board=ARDUINO_MICRO
micro.build.board=AVR_MICRO
micro.build.core=arduino
micro.build.variant=micro
micro.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
@ -238,7 +238,7 @@ esplora.build.mcu=atmega32u4
esplora.build.f_cpu=16000000L
esplora.build.vid=0x2341
esplora.build.pid=0x803c
esplora.build.board=ARDUINO_ESPLORA
esplora.build.board=AVR_ESPLORA
esplora.build.core=arduino
esplora.build.variant=leonardo
esplora.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
@ -256,7 +256,7 @@ mini.bootloader.unlock_bits=0x3F
mini.bootloader.lock_bits=0x0F
mini.build.f_cpu=16000000L
mini.build.board=ARDUINO_MINI
mini.build.board=AVR_MINI
mini.build.core=arduino
mini.build.variant=eightanaloginputs
@ -306,7 +306,7 @@ ethernet.bootloader.lock_bits=0x0F
ethernet.build.variant=standard
ethernet.build.mcu=atmega328p
ethernet.build.f_cpu=16000000L
ethernet.build.board=ARDUINO_ETHERNET
ethernet.build.board=AVR_ETHERNET
ethernet.build.core=arduino
##############################################################
@ -328,7 +328,7 @@ fio.bootloader.lock_bits=0x0F
fio.build.mcu=atmega328p
fio.build.f_cpu=8000000L
fio.build.board=ARDUINO_FIO
fio.build.board=AVR_FIO
fio.build.core=arduino
fio.build.variant=eightanaloginputs
@ -347,7 +347,7 @@ bt.bootloader.unlock_bits=0x3F
bt.bootloader.lock_bits=0x0F
bt.build.f_cpu=16000000L
bt.build.board=ARDUINO_BT
bt.build.board=AVR_BT
bt.build.core=arduino
bt.build.variant=eightanaloginputs
@ -375,32 +375,32 @@ bt.menu.cpu.atmega168.build.mcu=atmega168
##############################################################
LilyPadUSB.name=LilyPad Arduino USB
lilypad_usb.name=LilyPad Arduino USB
LilyPadUSB.upload.tool=avrdude
LilyPadUSB.upload.protocol=avr109
LilyPadUSB.upload.maximum_size=28672
LilyPadUSB.upload.speed=57600
LilyPadUSB.upload.disable_flushing=true
LilyPadUSB.upload.use_1200bps_touch=true
LilyPadUSB.upload.wait_for_upload_port=true
lilypad_usb.upload.tool=avrdude
lilypad_usb.upload.protocol=avr109
lilypad_usb.upload.maximum_size=28672
lilypad_usb.upload.speed=57600
lilypad_usb.upload.disable_flushing=true
lilypad_usb.upload.use_1200bps_touch=true
lilypad_usb.upload.wait_for_upload_port=true
LilyPadUSB.bootloader.tool=avrdude
LilyPadUSB.bootloader.low_fuses=0xff
LilyPadUSB.bootloader.high_fuses=0xd8
LilyPadUSB.bootloader.extended_fuses=0xce
LilyPadUSB.bootloader.file=caterina-LilyPadUSB/Caterina-LilyPadUSB.hex
LilyPadUSB.bootloader.unlock_bits=0x3F
LilyPadUSB.bootloader.lock_bits=0x2F
lilypad_usb.bootloader.tool=avrdude
lilypad_usb.bootloader.low_fuses=0xff
lilypad_usb.bootloader.high_fuses=0xd8
lilypad_usb.bootloader.extended_fuses=0xce
lilypad_usb.bootloader.file=caterina-LilyPadUSB/Caterina-LilyPadUSB.hex
lilypad_usb.bootloader.unlock_bits=0x3F
lilypad_usb.bootloader.lock_bits=0x2F
LilyPadUSB.build.mcu=atmega32u4
LilyPadUSB.build.f_cpu=8000000L
LilyPadUSB.build.vid=0x1B4F
LilyPadUSB.build.pid=0x9208
LilyPadUSB.build.board=ARDUINO_LILYPAD_USB
LilyPadUSB.build.core=arduino
LilyPadUSB.build.variant=leonardo
LilyPadUSB.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
lilypad_usb.build.mcu=atmega32u4
lilypad_usb.build.f_cpu=8000000L
lilypad_usb.build.vid=0x1B4F
lilypad_usb.build.pid=0x9208
lilypad_usb.build.board=AVR_LILYPAD_USB
lilypad_usb.build.core=arduino
lilypad_usb.build.variant=leonardo
lilypad_usb.build.extra_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid}
##############################################################
@ -414,7 +414,7 @@ lilypad.bootloader.unlock_bits=0x3F
lilypad.bootloader.lock_bits=0x0F
lilypad.build.f_cpu=8000000L
lilypad.build.board=ARDUINO_LILYPAD
lilypad.build.board=AVR_LILYPAD
lilypad.build.core=arduino
lilypad.build.variant=standard
@ -457,7 +457,7 @@ pro.bootloader.tool=avrdude
pro.bootloader.unlock_bits=0x3F
pro.bootloader.lock_bits=0x0F
pro.build.board=ARDUINO_PRO
pro.build.board=AVR_PRO
pro.build.core=arduino
pro.build.variant=standard
@ -523,43 +523,44 @@ pro.menu.cpu.8MHzatmega168.build.f_cpu=8000000L
##############################################################
atmegang.name=Arduino NG or older
ng.name=Arduino NG or older
atmegang.upload.tool=avrdude
atmegang.upload.protocol=arduino
atmegang.upload.speed=19200
ng.upload.tool=avrdude
ng.upload.protocol=arduino
ng.upload.speed=19200
atmegang.bootloader.tool=avrdude
atmegang.bootloader.unlock_bits=0x3F
atmegang.bootloader.lock_bits=0x0F
ng.bootloader.tool=avrdude
ng.bootloader.unlock_bits=0x3F
ng.bootloader.lock_bits=0x0F
atmegang.build.mcu=atmegang
atmegang.build.f_cpu=16000000L
atmegang.build.board=ARDUINO_NG
atmegang.build.core=arduino
atmegang.build.variant=standard
ng.build.mcu=atmegang
ng.build.f_cpu=16000000L
ng.build.board=AVR_NG
ng.build.core=arduino
ng.build.variant=standard
## Arduino NG or older w/ ATmega168
## --------------------------------
atmegang.menu.cpu.atmega168=ATmega168
ng.menu.cpu.atmega168=ATmega168
atmegang.menu.cpu.atmega168.upload.maximum_size=14336
ng.menu.cpu.atmega168.upload.maximum_size=14336
atmegang.menu.cpu.atmega168.bootloader.low_fuses=0xff
atmegang.menu.cpu.atmega168.bootloader.high_fuses=0xdd
atmegang.menu.cpu.atmega168.bootloader.extended_fuses=0x00
atmegang.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_ng.hex
ng.menu.cpu.atmega168.bootloader.low_fuses=0xff
ng.menu.cpu.atmega168.bootloader.high_fuses=0xdd
ng.menu.cpu.atmega168.bootloader.extended_fuses=0x00
ng.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_ng.hex
atmegang.menu.cpu.atmega168.build.mcu=atmega168
ng.menu.cpu.atmega168.build.mcu=atmega168
## Arduino NG or older w/ ATmega8
## ------------------------------
atmegang.menu.cpu.atmega8=ATmega8
ng.menu.cpu.atmega8=ATmega8
atmegang.menu.cpu.atmega8.upload.maximum_size=7168
ng.menu.cpu.atmega8.upload.maximum_size=7168
atmegang.menu.cpu.atmega8.bootloader.low_fuses=0xdf
atmegang.menu.cpu.atmega8.bootloader.high_fuses=0xca
atmegang.menu.cpu.atmega8.bootloader.file=atmega8/ATmegaBOOT-prod-firmware-2009-11-07.hex
ng.menu.cpu.atmega8.bootloader.low_fuses=0xdf
ng.menu.cpu.atmega8.bootloader.high_fuses=0xca
ng.menu.cpu.atmega8.bootloader.file=atmega8/ATmegaBOOT-prod-firmware-2009-11-07.hex
ng.menu.cpu.atmega8.build.mcu=atmega8
atmegang.menu.cpu.atmega8.build.mcu=atmega8

View File

@ -27,10 +27,10 @@ build.extra_flags=
# --------------------
## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -D{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -D{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"

View File

@ -1,37 +1,37 @@
arduino_due_x_dbg.name=Arduino Due (Programming Port)
arduino_due_x_dbg.upload.tool=bossac
arduino_due_x_dbg.upload.protocol=sam-ba
arduino_due_x_dbg.upload.maximum_size=524288
arduino_due_x_dbg.upload.use_1200bps_touch=true
arduino_due_x_dbg.upload.wait_for_upload_port=false
arduino_due_x_dbg.upload.native_usb=false
arduino_due_x_dbg.build.mcu=cortex-m3
arduino_due_x_dbg.build.f_cpu=84000000L
arduino_due_x_dbg.build.board=ARDUINO_DUE
arduino_due_x_dbg.build.core=arduino
arduino_due_x_dbg.build.extra_flags=-D__SAM3X8E__ -mthumb -DUSB_PID={build.pid} -DUSB_VID={build.vid} -DUSBCON
arduino_due_x_dbg.build.ldscript=linker_scripts/gcc/flash.ld
arduino_due_x_dbg.build.variant=arduino_due_x
arduino_due_x_dbg.build.variant_system_lib=libsam_sam3x8e_gcc_rel.a
arduino_due_x_dbg.build.vid=0x2341
arduino_due_x_dbg.build.pid=0x003e
due_prgport.name=Arduino Due (Programming Port)
due_prgport.upload.tool=bossac
due_prgport.upload.protocol=sam-ba
due_prgport.upload.maximum_size=524288
due_prgport.upload.use_1200bps_touch=true
due_prgport.upload.wait_for_upload_port=false
due_prgport.upload.native_usb=false
due_prgport.build.mcu=cortex-m3
due_prgport.build.f_cpu=84000000L
due_prgport.build.board=SAM_DUE
due_prgport.build.core=arduino
due_prgport.build.extra_flags=-D__SAM3X8E__ -mthumb -DUSB_PID={build.pid} -DUSB_VID={build.vid} -DUSBCON
due_prgport.build.ldscript=linker_scripts/gcc/flash.ld
due_prgport.build.variant=arduino_due_x
due_prgport.build.variant_system_lib=libsam_sam3x8e_gcc_rel.a
due_prgport.build.vid=0x2341
due_prgport.build.pid=0x003e
arduino_due_x.name=Arduino Due (Native USB Port)
arduino_due_x.upload.tool=bossac
arduino_due_x.upload.protocol=sam-ba
arduino_due_x.upload.maximum_size=524288
arduino_due_x.upload.use_1200bps_touch=true
arduino_due_x.upload.wait_for_upload_port=true
arduino_due_x.upload.native_usb=true
arduino_due_x.build.mcu=cortex-m3
arduino_due_x.build.f_cpu=84000000L
arduino_due_x.build.board=ARDUINO_DUE
arduino_due_x.build.core=arduino
arduino_due_x.build.extra_flags=-D__SAM3X8E__ -mthumb -DUSB_PID={build.pid} -DUSB_VID={build.vid} -DUSBCON
arduino_due_x.build.ldscript=linker_scripts/gcc/flash.ld
arduino_due_x.build.variant=arduino_due_x
arduino_due_x.build.variant_system_lib=libsam_sam3x8e_gcc_rel.a
arduino_due_x.build.vid=0x2341
arduino_due_x.build.pid=0x003e
due.name=Arduino Due (Native USB Port)
due.upload.tool=bossac
due.upload.protocol=sam-ba
due.upload.maximum_size=524288
due.upload.use_1200bps_touch=true
due.upload.wait_for_upload_port=true
due.upload.native_usb=true
due.build.mcu=cortex-m3
due.build.f_cpu=84000000L
due.build.board=SAM_DUE
due.build.core=arduino
due.build.extra_flags=-D__SAM3X8E__ -mthumb -DUSB_PID={build.pid} -DUSB_VID={build.vid} -DUSBCON
due.build.ldscript=linker_scripts/gcc/flash.ld
due.build.variant=arduino_due_x
due.build.variant_system_lib=libsam_sam3x8e_gcc_rel.a
due.build.vid=0x2341
due.build.pid=0x003e

View File

@ -30,10 +30,10 @@ compiler.libsam.c.flags="-I{build.system.path}/libsam" "-I{build.system.path}/CM
# ---------------------
## Compile c files
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -D{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file}" -o "{object_file}"
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file}" -o "{object_file}"
## Compile c++ files
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -D{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file}" -o "{object_file}"
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mcpu={build.mcu} -DF_CPU={build.f_cpu} -D{software}={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {compiler.libsam.c.flags} {includes} "{source_file}" -o "{object_file}"
## Create archives
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"