Browse Source

Modified for additional 120MHz Core-Clock

teensy4-core
Frank Bösing 10 years ago
parent
commit
856a79b321
8 changed files with 653 additions and 13 deletions
  1. +614
    -0
      boards.txt
  2. +1
    -1
      teensy3/analog.c
  3. +3
    -1
      teensy3/core_pins.h
  4. +20
    -5
      teensy3/mk20dx128.c
  5. +4
    -1
      teensy3/mk20dx128.h
  6. +3
    -2
      teensy3/pins_teensy.c
  7. +4
    -2
      teensy3/usb_seremu.c
  8. +4
    -1
      teensy3/usb_serial.c

+ 614
- 0
boards.txt View File

@@ -0,0 +1,614 @@
menu.usb=USB Type
menu.speed=CPU Speed
menu.keys=Keyboard Layout

teensy31.name=Teensy 3.1
teensy31.upload.protocol=halfkay
teensy31.upload.maximum_size=262144
teensy31.upload.maximum_ram_size=65536
teensy31.upload.speed=12000000
teensy31.upload.disable_flushing=true
teensy31.bootloader.path=undefined
teensy31.serial.restart_cmd=true
teensy31.serial.safe_baud_rates_only=true
teensy31.upload.avrdude_wrapper=teensy_reboot
teensy31.build.mcu=mk20dx256
teensy31.build.cpu=cortex-m4

teensy31.build.option1=-mthumb
teensy31.build.option2=-nostdlib
teensy31.build.option3=-D__MK20DX256__
teensy31.build.option4=-DTEENSYDUINO=118
#teensy31.build.option5=-O2
#teensy31.build.option6=-mlong-calls

teensy31.build.option5=-g3
teensy31.build.option6=-O2
teensy31.build.option7=-finline-functions
teensy31.build.option8=-funswitch-loops
#teensy31.build.option9=-mlong-calls
#teensy31.build.option10=-ffast-math
#teensy31.build.option11=-mslow-flash-data

teensy31.build.cppoption1=-fno-rtti

teensy31.build.linkoption1=-mthumb
#teensy31.build.linkoption2=-Wl,--undefined=sys_exit
#teensy31.build.linkoption3=-Wl,--gc-sections
#teensy31.build.linkoption4=-Wa,-adhls
#teensy31.build.linkoption5=-Wl,-Map=test.map

teensy31.build.additionalobject1=-larm_cortexM4l_math
teensy31.build.linkscript=mk20dx256.ld
teensy31.build.architecture=arm-none-eabi
teensy31.build.command.gcc=arm-none-eabi-gcc
teensy31.build.command.g++=arm-none-eabi-g++
teensy31.build.command.ar=arm-none-eabi-ar
teensy31.build.command.objcopy=arm-none-eabi-objcopy
teensy31.build.command.objdump=arm-none-eabi-objdump
teensy31.build.command.size=arm-none-eabi-size
teensy31.build.core=teensy3
teensy31.build.noarchive=true
teensy31.build.elide_constructors=true
teensy31.build.gnu0x=true
teensy31.build.dependency=true
teensy31.build.time_t=true
#teensy31.build.linker_relaxation=true
teensy31.build.post_compile_script=teensy_post_compile
#teensy31.build.serial_number=true
teensy31.menu.usb.serial.name=Serial
teensy31.menu.usb.serial.build.define0=-DUSB_SERIAL
teensy31.menu.usb.hid.name=Keyboard + Mouse + Joystick
teensy31.menu.usb.hid.build.define0=-DUSB_HID
teensy31.menu.usb.hid.fake_serial=teensy_gateway
teensy31.menu.usb.serialhid.name=Serial + Keyboard + Mouse + Joystick
teensy31.menu.usb.serialhid.build.define0=-DUSB_SERIAL_HID
#teensy31.menu.usb.int_disk.name=Disk(Internal) + Keyboard
#teensy31.menu.usb.int_disk.build.define0=-DUSB_DISK
#teensy31.menu.usb.int_disk.fake_serial=teensy_gateway
#teensy31.menu.usb.int_disk.build.elfpatch=mktinyfat
#teensy31.menu.usb.sd_disk.name=Disk(SD Card) + Keyboard
#teensy31.menu.usb.sd_disk.build.define0=-DUSB_DISK_SDFLASH
#teensy31.menu.usb.sd_disk.fake_serial=teensy_gateway
teensy31.menu.usb.midi.name=MIDI
teensy31.menu.usb.midi.build.define0=-DUSB_MIDI
teensy31.menu.usb.midi.fake_serial=teensy_gateway
teensy31.menu.usb.rawhid.name=Raw HID
teensy31.menu.usb.rawhid.build.define0=-DUSB_RAWHID
teensy31.menu.usb.rawhid.fake_serial=teensy_gateway
teensy31.menu.usb.flightsim.name=Flight Sim Controls
teensy31.menu.usb.flightsim.build.define0=-DUSB_FLIGHTSIM
teensy31.menu.usb.flightsim.fake_serial=teensy_gateway
teensy31.menu.speed.120.name=120 MHz (overclock TURBO)
teensy31.menu.speed.96.name=96 MHz (overclock)
teensy31.menu.speed.48.name=48 MHz
teensy31.menu.speed.24.name=24 MHz
teensy31.menu.speed.120.build.f_cpu=120000000
teensy31.menu.speed.96.build.f_cpu=96000000
teensy31.menu.speed.48.build.f_cpu=48000000
teensy31.menu.speed.24.build.f_cpu=24000000
teensy31.menu.keys.en-us.name=US English
teensy31.menu.keys.en-us.build.define1=-DLAYOUT_US_ENGLISH
teensy31.menu.keys.fr-ca.name=Canadian French
teensy31.menu.keys.fr-ca.build.define1=-DLAYOUT_CANADIAN_FRENCH
teensy31.menu.keys.xx-ca.name=Canadian Multilingual
teensy31.menu.keys.xx-ca.build.define1=-DLAYOUT_CANADIAN_MULTILINGUAL
teensy31.menu.keys.da-da.name=Danish
teensy31.menu.keys.da-da.build.define1=-DLAYOUT_DANISH
teensy31.menu.keys.fi-fi.name=Finnish
teensy31.menu.keys.fi-fi.build.define1=-DLAYOUT_FINNISH
teensy31.menu.keys.fr-fr.name=French
teensy31.menu.keys.fr-fr.build.define1=-DLAYOUT_FRENCH
teensy31.menu.keys.fr-be.name=French Belgian
teensy31.menu.keys.fr-be.build.define1=-DLAYOUT_FRENCH_BELGIAN
teensy31.menu.keys.fr-ch.name=French Swiss
teensy31.menu.keys.fr-ch.build.define1=-DLAYOUT_FRENCH_SWISS
teensy31.menu.keys.de-de.name=German
teensy31.menu.keys.de-de.build.define1=-DLAYOUT_GERMAN
teensy31.menu.keys.de-dm.name=German (Mac)
teensy31.menu.keys.de-dm.build.define1=-DLAYOUT_GERMAN_MAC
teensy31.menu.keys.de-ch.name=German Swiss
teensy31.menu.keys.de-ch.build.define1=-DLAYOUT_GERMAN_SWISS
teensy31.menu.keys.is-is.name=Icelandic
teensy31.menu.keys.is-is.build.define1=-DLAYOUT_ICELANDIC
teensy31.menu.keys.en-ie.name=Irish
teensy31.menu.keys.en-ie.build.define1=-DLAYOUT_IRISH
teensy31.menu.keys.it-it.name=Italian
teensy31.menu.keys.it-it.build.define1=-DLAYOUT_ITALIAN
teensy31.menu.keys.no-no.name=Norwegian
teensy31.menu.keys.no-no.build.define1=-DLAYOUT_NORWEGIAN
teensy31.menu.keys.pt-pt.name=Portuguese
teensy31.menu.keys.pt-pt.build.define1=-DLAYOUT_PORTUGUESE
teensy31.menu.keys.pt-br.name=Portuguese Brazilian
teensy31.menu.keys.pt-br.build.define1=-DLAYOUT_PORTUGUESE_BRAZILIAN
teensy31.menu.keys.es-es.name=Spanish
teensy31.menu.keys.es-es.build.define1=-DLAYOUT_SPANISH
teensy31.menu.keys.es-mx.name=Spanish Latin America
teensy31.menu.keys.es-mx.build.define1=-DLAYOUT_SPANISH_LATIN_AMERICA
teensy31.menu.keys.sv-se.name=Swedish
teensy31.menu.keys.sv-se.build.define1=-DLAYOUT_SWEDISH
teensy31.menu.keys.tr-tr.name=Turkish (partial)
teensy31.menu.keys.tr-tr.build.define1=-DLAYOUT_TURKISH
teensy31.menu.keys.en-gb.name=United Kingdom
teensy31.menu.keys.en-gb.build.define1=-DLAYOUT_UNITED_KINGDOM
teensy31.menu.keys.usint.name=US International
teensy31.menu.keys.usint.build.define1=-DLAYOUT_US_INTERNATIONAL

teensy3.name=Teensy 3.0
teensy3.upload.protocol=halfkay
teensy3.upload.maximum_size=131072
teensy3.upload.maximum_ram_size=16384
teensy3.upload.speed=12000000
teensy3.upload.disable_flushing=true
teensy3.bootloader.path=undefined
teensy3.serial.restart_cmd=true
teensy3.serial.safe_baud_rates_only=true
teensy3.upload.avrdude_wrapper=teensy_reboot
teensy3.build.mcu=mk20dx128
teensy3.build.cpu=cortex-m4
teensy3.build.option1=-mthumb
teensy3.build.option2=-nostdlib
teensy3.build.option3=-D__MK20DX128__
teensy3.build.option4=-DTEENSYDUINO=118
teensy3.build.cppoption1=-fno-rtti
teensy3.build.linkoption1=-mthumb
teensy3.build.additionalobject1=-larm_cortexM4l_math
teensy3.build.linkscript=mk20dx128.ld
teensy3.build.architecture=arm-none-eabi
teensy3.build.command.gcc=arm-none-eabi-gcc
teensy3.build.command.g++=arm-none-eabi-g++
teensy3.build.command.ar=arm-none-eabi-ar
teensy3.build.command.objcopy=arm-none-eabi-objcopy
teensy3.build.command.objdump=arm-none-eabi-objdump
teensy3.build.command.size=arm-none-eabi-size
teensy3.build.core=teensy3
teensy3.build.noarchive=true
teensy3.build.elide_constructors=true
teensy3.build.gnu0x=true
teensy3.build.dependency=true
teensy3.build.time_t=true
#teensy3.build.linker_relaxation=true
teensy3.build.post_compile_script=teensy_post_compile
#teensy3.build.serial_number=true
teensy3.menu.usb.serial.name=Serial
teensy3.menu.usb.serial.build.define0=-DUSB_SERIAL
teensy3.menu.usb.hid.name=Keyboard + Mouse + Joystick
teensy3.menu.usb.hid.build.define0=-DUSB_HID
teensy3.menu.usb.hid.fake_serial=teensy_gateway
teensy3.menu.usb.serialhid.name=Serial + Keyboard + Mouse + Joystick
teensy3.menu.usb.serialhid.build.define0=-DUSB_SERIAL_HID
#teensy3.menu.usb.int_disk.name=Disk(Internal) + Keyboard
#teensy3.menu.usb.int_disk.build.define0=-DUSB_DISK
#teensy3.menu.usb.int_disk.fake_serial=teensy_gateway
#teensy3.menu.usb.int_disk.build.elfpatch=mktinyfat
#teensy3.menu.usb.sd_disk.name=Disk(SD Card) + Keyboard
#teensy3.menu.usb.sd_disk.build.define0=-DUSB_DISK_SDFLASH
#teensy3.menu.usb.sd_disk.fake_serial=teensy_gateway
teensy3.menu.usb.midi.name=MIDI
teensy3.menu.usb.midi.build.define0=-DUSB_MIDI
teensy3.menu.usb.midi.fake_serial=teensy_gateway
teensy3.menu.usb.rawhid.name=Raw HID
teensy3.menu.usb.rawhid.build.define0=-DUSB_RAWHID
teensy3.menu.usb.rawhid.fake_serial=teensy_gateway
teensy3.menu.usb.flightsim.name=Flight Sim Controls
teensy3.menu.usb.flightsim.build.define0=-DUSB_FLIGHTSIM
teensy3.menu.usb.flightsim.fake_serial=teensy_gateway
teensy3.menu.speed.96.name=96 MHz (overclock)
teensy3.menu.speed.48.name=48 MHz
teensy3.menu.speed.24.name=24 MHz
teensy3.menu.speed.96.build.f_cpu=96000000
teensy3.menu.speed.48.build.f_cpu=48000000
teensy3.menu.speed.24.build.f_cpu=24000000
teensy3.menu.keys.en-us.name=US English
teensy3.menu.keys.en-us.build.define1=-DLAYOUT_US_ENGLISH
teensy3.menu.keys.fr-ca.name=Canadian French
teensy3.menu.keys.fr-ca.build.define1=-DLAYOUT_CANADIAN_FRENCH
teensy3.menu.keys.xx-ca.name=Canadian Multilingual
teensy3.menu.keys.xx-ca.build.define1=-DLAYOUT_CANADIAN_MULTILINGUAL
teensy3.menu.keys.da-da.name=Danish
teensy3.menu.keys.da-da.build.define1=-DLAYOUT_DANISH
teensy3.menu.keys.fi-fi.name=Finnish
teensy3.menu.keys.fi-fi.build.define1=-DLAYOUT_FINNISH
teensy3.menu.keys.fr-fr.name=French
teensy3.menu.keys.fr-fr.build.define1=-DLAYOUT_FRENCH
teensy3.menu.keys.fr-be.name=French Belgian
teensy3.menu.keys.fr-be.build.define1=-DLAYOUT_FRENCH_BELGIAN
teensy3.menu.keys.fr-ch.name=French Swiss
teensy3.menu.keys.fr-ch.build.define1=-DLAYOUT_FRENCH_SWISS
teensy3.menu.keys.de-de.name=German
teensy3.menu.keys.de-de.build.define1=-DLAYOUT_GERMAN
teensy3.menu.keys.de-dm.name=German (Mac)
teensy3.menu.keys.de-dm.build.define1=-DLAYOUT_GERMAN_MAC
teensy3.menu.keys.de-ch.name=German Swiss
teensy3.menu.keys.de-ch.build.define1=-DLAYOUT_GERMAN_SWISS
teensy3.menu.keys.is-is.name=Icelandic
teensy3.menu.keys.is-is.build.define1=-DLAYOUT_ICELANDIC
teensy3.menu.keys.en-ie.name=Irish
teensy3.menu.keys.en-ie.build.define1=-DLAYOUT_IRISH
teensy3.menu.keys.it-it.name=Italian
teensy3.menu.keys.it-it.build.define1=-DLAYOUT_ITALIAN
teensy3.menu.keys.no-no.name=Norwegian
teensy3.menu.keys.no-no.build.define1=-DLAYOUT_NORWEGIAN
teensy3.menu.keys.pt-pt.name=Portuguese
teensy3.menu.keys.pt-pt.build.define1=-DLAYOUT_PORTUGUESE
teensy3.menu.keys.pt-br.name=Portuguese Brazilian
teensy3.menu.keys.pt-br.build.define1=-DLAYOUT_PORTUGUESE_BRAZILIAN
teensy3.menu.keys.es-es.name=Spanish
teensy3.menu.keys.es-es.build.define1=-DLAYOUT_SPANISH
teensy3.menu.keys.es-mx.name=Spanish Latin America
teensy3.menu.keys.es-mx.build.define1=-DLAYOUT_SPANISH_LATIN_AMERICA
teensy3.menu.keys.sv-se.name=Swedish
teensy3.menu.keys.sv-se.build.define1=-DLAYOUT_SWEDISH
teensy3.menu.keys.tr-tr.name=Turkish (partial)
teensy3.menu.keys.tr-tr.build.define1=-DLAYOUT_TURKISH
teensy3.menu.keys.en-gb.name=United Kingdom
teensy3.menu.keys.en-gb.build.define1=-DLAYOUT_UNITED_KINGDOM
teensy3.menu.keys.usint.name=US International
teensy3.menu.keys.usint.build.define1=-DLAYOUT_US_INTERNATIONAL

teensy2.name=Teensy 2.0
teensy2.upload.protocol=halfkay
teensy2.upload.maximum_size=32256
teensy2.upload.maximum_ram_size=2560
teensy2.upload.speed=12000000
teensy2.upload.disable_flushing=true
teensy2.bootloader.path=undefined
teensy2.serial.restart_cmd=true
teensy2.serial.safe_baud_rates_only=true
teensy2.upload.avrdude_wrapper=teensy_reboot
teensy2.build.mcu=atmega32u4
teensy2.build.option1=-DTEENSYDUINO=118
teensy2.build.core=teensy
teensy2.build.elide_constructors=true
teensy2.build.cpp0x=true
teensy2.build.dependency=true
teensy2.build.linker_relaxation=true
teensy2.build.post_compile_script=teensy_post_compile
teensy2.build.serial_number=true
teensy2.menu.usb.serial.name=Serial
teensy2.menu.usb.serial.build.define0=-DUSB_SERIAL
teensy2.menu.usb.hid.name=Keyboard + Mouse + Joystick
teensy2.menu.usb.hid.build.define0=-DUSB_HID
teensy2.menu.usb.hid.fake_serial=teensy_gateway
teensy2.menu.usb.serialhid.name=Serial + Keyboard + Mouse + Joystick
teensy2.menu.usb.serialhid.build.define0=-DUSB_SERIAL_HID
teensy2.menu.usb.int_disk.name=Disk(Internal) + Keyboard
teensy2.menu.usb.int_disk.build.define0=-DUSB_DISK
teensy2.menu.usb.int_disk.fake_serial=teensy_gateway
teensy2.menu.usb.int_disk.build.elfpatch=mktinyfat
teensy2.menu.usb.sd_disk.name=Disk(SD Card) + Keyboard
teensy2.menu.usb.sd_disk.build.define0=-DUSB_DISK_SDFLASH
teensy2.menu.usb.sd_disk.fake_serial=teensy_gateway
teensy2.menu.usb.midi.name=MIDI
teensy2.menu.usb.midi.build.define0=-DUSB_MIDI
teensy2.menu.usb.midi.fake_serial=teensy_gateway
teensy2.menu.usb.rawhid.name=Raw HID
teensy2.menu.usb.rawhid.build.define0=-DUSB_RAWHID
teensy2.menu.usb.rawhid.fake_serial=teensy_gateway
teensy2.menu.usb.flightsim.name=Flight Sim Controls
teensy2.menu.usb.flightsim.build.define0=-DUSB_FLIGHTSIM
teensy2.menu.usb.flightsim.fake_serial=teensy_gateway
teensy2.menu.speed.16.name=16 MHz
teensy2.menu.speed.8.name=8 MHz
teensy2.menu.speed.4.name=4 MHz
teensy2.menu.speed.2.name=2 MHz
teensy2.menu.speed.1.name=1 MHz
teensy2.menu.speed.16.build.f_cpu=16000000L
teensy2.menu.speed.8.build.f_cpu=8000000L
teensy2.menu.speed.4.build.f_cpu=4000000L
teensy2.menu.speed.2.build.f_cpu=2000000L
teensy2.menu.speed.1.build.f_cpu=1000000L
teensy2.menu.keys.en-us.name=US English
teensy2.menu.keys.en-us.build.define1=-DLAYOUT_US_ENGLISH
teensy2.menu.keys.fr-ca.name=Canadian French
teensy2.menu.keys.fr-ca.build.define1=-DLAYOUT_CANADIAN_FRENCH
teensy2.menu.keys.xx-ca.name=Canadian Multilingual
teensy2.menu.keys.xx-ca.build.define1=-DLAYOUT_CANADIAN_MULTILINGUAL
teensy2.menu.keys.da-da.name=Danish
teensy2.menu.keys.da-da.build.define1=-DLAYOUT_DANISH
teensy2.menu.keys.fi-fi.name=Finnish
teensy2.menu.keys.fi-fi.build.define1=-DLAYOUT_FINNISH
teensy2.menu.keys.fr-fr.name=French
teensy2.menu.keys.fr-fr.build.define1=-DLAYOUT_FRENCH
teensy2.menu.keys.fr-be.name=French Belgian
teensy2.menu.keys.fr-be.build.define1=-DLAYOUT_FRENCH_BELGIAN
teensy2.menu.keys.fr-ch.name=French Swiss
teensy2.menu.keys.fr-ch.build.define1=-DLAYOUT_FRENCH_SWISS
teensy2.menu.keys.de-de.name=German
teensy2.menu.keys.de-de.build.define1=-DLAYOUT_GERMAN
teensy2.menu.keys.de-dm.name=German (Mac)
teensy2.menu.keys.de-dm.build.define1=-DLAYOUT_GERMAN_MAC
teensy2.menu.keys.de-ch.name=German Swiss
teensy2.menu.keys.de-ch.build.define1=-DLAYOUT_GERMAN_SWISS
teensy2.menu.keys.is-is.name=Icelandic
teensy2.menu.keys.is-is.build.define1=-DLAYOUT_ICELANDIC
teensy2.menu.keys.en-ie.name=Irish
teensy2.menu.keys.en-ie.build.define1=-DLAYOUT_IRISH
teensy2.menu.keys.it-it.name=Italian
teensy2.menu.keys.it-it.build.define1=-DLAYOUT_ITALIAN
teensy2.menu.keys.no-no.name=Norwegian
teensy2.menu.keys.no-no.build.define1=-DLAYOUT_NORWEGIAN
teensy2.menu.keys.pt-pt.name=Portuguese
teensy2.menu.keys.pt-pt.build.define1=-DLAYOUT_PORTUGUESE
teensy2.menu.keys.pt-br.name=Portuguese Brazilian
teensy2.menu.keys.pt-br.build.define1=-DLAYOUT_PORTUGUESE_BRAZILIAN
teensy2.menu.keys.es-es.name=Spanish
teensy2.menu.keys.es-es.build.define1=-DLAYOUT_SPANISH
teensy2.menu.keys.es-mx.name=Spanish Latin America
teensy2.menu.keys.es-mx.build.define1=-DLAYOUT_SPANISH_LATIN_AMERICA
teensy2.menu.keys.sv-se.name=Swedish
teensy2.menu.keys.sv-se.build.define1=-DLAYOUT_SWEDISH
teensy2.menu.keys.en-gb.name=United Kingdom
teensy2.menu.keys.en-gb.build.define1=-DLAYOUT_UNITED_KINGDOM
teensy2.menu.keys.usint.name=US International
teensy2.menu.keys.usint.build.define1=-DLAYOUT_US_INTERNATIONAL

teensy1.name=Teensy 1.0
teensy1.upload.protocol=halfkay
teensy1.upload.maximum_size=15872
teensy1.upload.maximum_ram_size=512
teensy1.upload.speed=12000000
teensy1.upload.disable_flushing=true
teensy1.bootloader.path=undefined
teensy1.serial.restart_cmd=true
teensy1.serial.safe_baud_rates_only=true
teensy1.upload.avrdude_wrapper=teensy_reboot
teensy1.build.mcu=at90usb162
teensy1.build.option1=-DTEENSYDUINO=118
teensy1.build.core=teensy
teensy1.build.elide_constructors=true
teensy1.build.cpp0x=true
teensy1.build.dependency=true
teensy1.build.linker_relaxation=true
teensy1.build.post_compile_script=teensy_post_compile
teensy1.menu.usb.serial.name=Serial
teensy1.menu.usb.serial.build.define0=-DUSB_SERIAL
teensy1.menu.usb.hid.name=Keyboard + Mouse
teensy1.menu.usb.hid.build.define0=-DUSB_HID
teensy1.menu.usb.hid.fake_serial=teensy_gateway
teensy1.menu.speed.16.name=16 MHz
teensy1.menu.speed.8.name=8 MHz
teensy1.menu.speed.4.name=4 MHz
teensy1.menu.speed.2.name=2 MHz
teensy1.menu.speed.1.name=1 MHz
teensy1.menu.speed.16.build.f_cpu=16000000L
teensy1.menu.speed.8.build.f_cpu=8000000L
teensy1.menu.speed.4.build.f_cpu=4000000L
teensy1.menu.speed.2.build.f_cpu=2000000L
teensy1.menu.speed.1.build.f_cpu=1000000L
teensy1.menu.keys.en-us.name=US English
teensy1.menu.keys.en-us.build.define1=-DLAYOUT_US_ENGLISH
teensy1.menu.keys.fr-ca.name=Canadian French
teensy1.menu.keys.fr-ca.build.define1=-DLAYOUT_CANADIAN_FRENCH
teensy1.menu.keys.xx-ca.name=Canadian Multilingual
teensy1.menu.keys.xx-ca.build.define1=-DLAYOUT_CANADIAN_MULTILINGUAL
teensy1.menu.keys.da-da.name=Danish
teensy1.menu.keys.da-da.build.define1=-DLAYOUT_DANISH
teensy1.menu.keys.fi-fi.name=Finnish
teensy1.menu.keys.fi-fi.build.define1=-DLAYOUT_FINNISH
teensy1.menu.keys.fr-fr.name=French
teensy1.menu.keys.fr-fr.build.define1=-DLAYOUT_FRENCH
teensy1.menu.keys.fr-be.name=French Belgian
teensy1.menu.keys.fr-be.build.define1=-DLAYOUT_FRENCH_BELGIAN
teensy1.menu.keys.fr-ch.name=French Swiss
teensy1.menu.keys.fr-ch.build.define1=-DLAYOUT_FRENCH_SWISS
teensy1.menu.keys.de-de.name=German
teensy1.menu.keys.de-de.build.define1=-DLAYOUT_GERMAN
teensy1.menu.keys.de-dm.name=German (Mac)
teensy1.menu.keys.de-dm.build.define1=-DLAYOUT_GERMAN_MAC
teensy1.menu.keys.de-ch.name=German Swiss
teensy1.menu.keys.de-ch.build.define1=-DLAYOUT_GERMAN_SWISS
teensy1.menu.keys.is-is.name=Icelandic
teensy1.menu.keys.is-is.build.define1=-DLAYOUT_ICELANDIC
teensy1.menu.keys.en-ie.name=Irish
teensy1.menu.keys.en-ie.build.define1=-DLAYOUT_IRISH
teensy1.menu.keys.it-it.name=Italian
teensy1.menu.keys.it-it.build.define1=-DLAYOUT_ITALIAN
teensy1.menu.keys.no-no.name=Norwegian
teensy1.menu.keys.no-no.build.define1=-DLAYOUT_NORWEGIAN
teensy1.menu.keys.pt-pt.name=Portuguese
teensy1.menu.keys.pt-pt.build.define1=-DLAYOUT_PORTUGUESE
teensy1.menu.keys.pt-br.name=Portuguese Brazilian
teensy1.menu.keys.pt-br.build.define1=-DLAYOUT_PORTUGUESE_BRAZILIAN
teensy1.menu.keys.es-es.name=Spanish
teensy1.menu.keys.es-es.build.define1=-DLAYOUT_SPANISH
teensy1.menu.keys.es-mx.name=Spanish Latin America
teensy1.menu.keys.es-mx.build.define1=-DLAYOUT_SPANISH_LATIN_AMERICA
teensy1.menu.keys.sv-se.name=Swedish
teensy1.menu.keys.sv-se.build.define1=-DLAYOUT_SWEDISH
teensy1.menu.keys.en-gb.name=United Kingdom
teensy1.menu.keys.en-gb.build.define1=-DLAYOUT_UNITED_KINGDOM
teensy1.menu.keys.usint.name=US International
teensy1.menu.keys.usint.build.define1=-DLAYOUT_US_INTERNATIONAL

teensypp2.name=Teensy++ 2.0
teensypp2.upload.protocol=halfkay
teensypp2.upload.maximum_size=130048
teensypp2.upload.maximum_ram_size=8192
teensypp2.upload.speed=12000000
teensypp2.upload.disable_flushing=true
teensypp2.bootloader.path=undefined
teensypp2.serial.restart_cmd=true
teensypp2.serial.safe_baud_rates_only=true
teensypp2.upload.avrdude_wrapper=teensy_reboot
teensypp2.build.mcu=at90usb1286
teensypp2.build.option1=-DTEENSYDUINO=118
teensypp2.build.core=teensy
teensypp2.build.elide_constructors=true
teensypp2.build.cpp0x=true
teensypp2.build.dependency=true
teensypp2.build.linker_relaxation=true
teensypp2.build.post_compile_script=teensy_post_compile
teensypp2.build.serial_number=true
teensypp2.menu.usb.serial.name=Serial
teensypp2.menu.usb.serial.build.define0=-DUSB_SERIAL
teensypp2.menu.usb.hid.name=Keyboard + Mouse + Joystick
teensypp2.menu.usb.hid.build.define0=-DUSB_HID
teensypp2.menu.usb.hid.fake_serial=teensy_gateway
teensypp2.menu.usb.serialhid.name=Serial + Keyboard + Mouse + Joystick
teensypp2.menu.usb.serialhid.build.define0=-DUSB_SERIAL_HID
teensypp2.menu.usb.int_disk.name=Disk(Internal) + Keyboard
teensypp2.menu.usb.int_disk.build.define0=-DUSB_DISK
teensypp2.menu.usb.int_disk.fake_serial=teensy_gateway
teensypp2.menu.usb.int_disk.build.elfpatch=mktinyfat
teensypp2.menu.usb.sd_disk.name=Disk(SD Card) + Keyboard
teensypp2.menu.usb.sd_disk.build.define0=-DUSB_DISK_SDFLASH
teensypp2.menu.usb.sd_disk.fake_serial=teensy_gateway
teensypp2.menu.usb.midi.name=MIDI
teensypp2.menu.usb.midi.build.define0=-DUSB_MIDI
teensypp2.menu.usb.midi.fake_serial=teensy_gateway
teensypp2.menu.usb.rawhid.name=Raw HID
teensypp2.menu.usb.rawhid.build.define0=-DUSB_RAWHID
teensypp2.menu.usb.rawhid.fake_serial=teensy_gateway
teensypp2.menu.usb.flightsim.name=Flight Sim Controls
teensypp2.menu.usb.flightsim.build.define0=-DUSB_FLIGHTSIM
teensypp2.menu.usb.flightsim.fake_serial=teensy_gateway
teensypp2.menu.speed.16.name=16 MHz
teensypp2.menu.speed.8.name=8 MHz
teensypp2.menu.speed.4.name=4 MHz
teensypp2.menu.speed.2.name=2 MHz
teensypp2.menu.speed.1.name=1 MHz
teensypp2.menu.speed.16.build.f_cpu=16000000L
teensypp2.menu.speed.8.build.f_cpu=8000000L
teensypp2.menu.speed.4.build.f_cpu=4000000L
teensypp2.menu.speed.2.build.f_cpu=2000000L
teensypp2.menu.speed.1.build.f_cpu=1000000L
teensypp2.menu.keys.en-us.name=US English
teensypp2.menu.keys.en-us.build.define1=-DLAYOUT_US_ENGLISH
teensypp2.menu.keys.fr-ca.name=Canadian French
teensypp2.menu.keys.fr-ca.build.define1=-DLAYOUT_CANADIAN_FRENCH
teensypp2.menu.keys.xx-ca.name=Canadian Multilingual
teensypp2.menu.keys.xx-ca.build.define1=-DLAYOUT_CANADIAN_MULTILINGUAL
teensypp2.menu.keys.da-da.name=Danish
teensypp2.menu.keys.da-da.build.define1=-DLAYOUT_DANISH
teensypp2.menu.keys.fi-fi.name=Finnish
teensypp2.menu.keys.fi-fi.build.define1=-DLAYOUT_FINNISH
teensypp2.menu.keys.fr-fr.name=French
teensypp2.menu.keys.fr-fr.build.define1=-DLAYOUT_FRENCH
teensypp2.menu.keys.fr-be.name=French Belgian
teensypp2.menu.keys.fr-be.build.define1=-DLAYOUT_FRENCH_BELGIAN
teensypp2.menu.keys.fr-ch.name=French Swiss
teensypp2.menu.keys.fr-ch.build.define1=-DLAYOUT_FRENCH_SWISS
teensypp2.menu.keys.de-de.name=German
teensypp2.menu.keys.de-de.build.define1=-DLAYOUT_GERMAN
teensypp2.menu.keys.de-dm.name=German (Mac)
teensypp2.menu.keys.de-dm.build.define1=-DLAYOUT_GERMAN_MAC
teensypp2.menu.keys.de-ch.name=German Swiss
teensypp2.menu.keys.de-ch.build.define1=-DLAYOUT_GERMAN_SWISS
teensypp2.menu.keys.is-is.name=Icelandic
teensypp2.menu.keys.is-is.build.define1=-DLAYOUT_ICELANDIC
teensypp2.menu.keys.en-ie.name=Irish
teensypp2.menu.keys.en-ie.build.define1=-DLAYOUT_IRISH
teensypp2.menu.keys.it-it.name=Italian
teensypp2.menu.keys.it-it.build.define1=-DLAYOUT_ITALIAN
teensypp2.menu.keys.no-no.name=Norwegian
teensypp2.menu.keys.no-no.build.define1=-DLAYOUT_NORWEGIAN
teensypp2.menu.keys.pt-pt.name=Portuguese
teensypp2.menu.keys.pt-pt.build.define1=-DLAYOUT_PORTUGUESE
teensypp2.menu.keys.pt-br.name=Portuguese Brazilian
teensypp2.menu.keys.pt-br.build.define1=-DLAYOUT_PORTUGUESE_BRAZILIAN
teensypp2.menu.keys.es-es.name=Spanish
teensypp2.menu.keys.es-es.build.define1=-DLAYOUT_SPANISH
teensypp2.menu.keys.es-mx.name=Spanish Latin America
teensypp2.menu.keys.es-mx.build.define1=-DLAYOUT_SPANISH_LATIN_AMERICA
teensypp2.menu.keys.sv-se.name=Swedish
teensypp2.menu.keys.sv-se.build.define1=-DLAYOUT_SWEDISH
teensypp2.menu.keys.en-gb.name=United Kingdom
teensypp2.menu.keys.en-gb.build.define1=-DLAYOUT_UNITED_KINGDOM
teensypp2.menu.keys.usint.name=US International
teensypp2.menu.keys.usint.build.define1=-DLAYOUT_US_INTERNATIONAL

teensypp1.name=Teensy++ 1.0
teensypp1.upload.protocol=halfkay
teensypp1.upload.maximum_size=64512
teensypp1.upload.maximum_ram_size=4096
teensypp1.upload.speed=12000000
teensypp1.upload.disable_flushing=true
teensypp1.bootloader.path=undefined
teensypp1.serial.restart_cmd=true
teensypp1.serial.safe_baud_rates_only=true
teensypp1.upload.avrdude_wrapper=teensy_reboot
teensypp1.build.mcu=at90usb646
teensypp1.build.option1=-DTEENSYDUINO=118
teensypp1.build.core=teensy
teensypp1.build.elide_constructors=true
teensypp1.build.cpp0x=true
teensypp1.build.dependency=true
teensypp1.build.linker_relaxation=true
teensypp1.build.post_compile_script=teensy_post_compile
teensypp1.build.serial_number=true
teensypp1.menu.usb.serial.name=Serial
teensypp1.menu.usb.serial.build.define0=-DUSB_SERIAL
teensypp1.menu.usb.hid.name=Keyboard + Mouse + Joystick
teensypp1.menu.usb.hid.build.define0=-DUSB_HID
teensypp1.menu.usb.hid.fake_serial=teensy_gateway
teensypp1.menu.usb.serialhid.name=Serial + Keyboard + Mouse + Joystick
teensypp1.menu.usb.serialhid.build.define0=-DUSB_SERIAL_HID
teensypp1.menu.usb.int_disk.name=Disk(Internal) + Keyboard
teensypp1.menu.usb.int_disk.build.define0=-DUSB_DISK
teensypp1.menu.usb.int_disk.fake_serial=teensy_gateway
teensypp1.menu.usb.int_disk.build.elfpatch=mktinyfat
teensypp1.menu.usb.sd_disk.name=Disk(SD Card) + Keyboard
teensypp1.menu.usb.sd_disk.build.define0=-DUSB_DISK_SDFLASH
teensypp1.menu.usb.sd_disk.fake_serial=teensy_gateway
teensypp1.menu.usb.midi.name=MIDI
teensypp1.menu.usb.midi.build.define0=-DUSB_MIDI
teensypp1.menu.usb.midi.fake_serial=teensy_gateway
teensypp1.menu.usb.rawhid.name=Raw HID
teensypp1.menu.usb.rawhid.build.define0=-DUSB_RAWHID
teensypp1.menu.usb.rawhid.fake_serial=teensy_gateway
teensypp1.menu.speed.16.name=16 MHz
teensypp1.menu.speed.8.name=8 MHz
teensypp1.menu.speed.4.name=4 MHz
teensypp1.menu.speed.2.name=2 MHz
teensypp1.menu.speed.1.name=1 MHz
teensypp1.menu.speed.16.build.f_cpu=16000000L
teensypp1.menu.speed.8.build.f_cpu=8000000L
teensypp1.menu.speed.4.build.f_cpu=4000000L
teensypp1.menu.speed.2.build.f_cpu=2000000L
teensypp1.menu.speed.1.build.f_cpu=1000000L
teensypp1.menu.keys.en-us.name=US English
teensypp1.menu.keys.en-us.build.define1=-DLAYOUT_US_ENGLISH
teensypp1.menu.keys.fr-ca.name=Canadian French
teensypp1.menu.keys.fr-ca.build.define1=-DLAYOUT_CANADIAN_FRENCH
teensypp1.menu.keys.xx-ca.name=Canadian Multilingual
teensypp1.menu.keys.xx-ca.build.define1=-DLAYOUT_CANADIAN_MULTILINGUAL
teensypp1.menu.keys.da-da.name=Danish
teensypp1.menu.keys.da-da.build.define1=-DLAYOUT_DANISH
teensypp1.menu.keys.fi-fi.name=Finnish
teensypp1.menu.keys.fi-fi.build.define1=-DLAYOUT_FINNISH
teensypp1.menu.keys.fr-fr.name=French
teensypp1.menu.keys.fr-fr.build.define1=-DLAYOUT_FRENCH
teensypp1.menu.keys.fr-be.name=French Belgian
teensypp1.menu.keys.fr-be.build.define1=-DLAYOUT_FRENCH_BELGIAN
teensypp1.menu.keys.fr-ch.name=French Swiss
teensypp1.menu.keys.fr-ch.build.define1=-DLAYOUT_FRENCH_SWISS
teensypp1.menu.keys.de-de.name=German
teensypp1.menu.keys.de-de.build.define1=-DLAYOUT_GERMAN
teensypp1.menu.keys.de-dm.name=German (Mac)
teensypp1.menu.keys.de-dm.build.define1=-DLAYOUT_GERMAN_MAC
teensypp1.menu.keys.de-ch.name=German Swiss
teensypp1.menu.keys.de-ch.build.define1=-DLAYOUT_GERMAN_SWISS
teensypp1.menu.keys.is-is.name=Icelandic
teensypp1.menu.keys.is-is.build.define1=-DLAYOUT_ICELANDIC
teensypp1.menu.keys.en-ie.name=Irish
teensypp1.menu.keys.en-ie.build.define1=-DLAYOUT_IRISH
teensypp1.menu.keys.it-it.name=Italian
teensypp1.menu.keys.it-it.build.define1=-DLAYOUT_ITALIAN
teensypp1.menu.keys.no-no.name=Norwegian
teensypp1.menu.keys.no-no.build.define1=-DLAYOUT_NORWEGIAN
teensypp1.menu.keys.pt-pt.name=Portuguese
teensypp1.menu.keys.pt-pt.build.define1=-DLAYOUT_PORTUGUESE
teensypp1.menu.keys.pt-br.name=Portuguese Brazilian
teensypp1.menu.keys.pt-br.build.define1=-DLAYOUT_PORTUGUESE_BRAZILIAN
teensypp1.menu.keys.es-es.name=Spanish
teensypp1.menu.keys.es-es.build.define1=-DLAYOUT_SPANISH
teensypp1.menu.keys.es-mx.name=Spanish Latin America
teensypp1.menu.keys.es-mx.build.define1=-DLAYOUT_SPANISH_LATIN_AMERICA
teensypp1.menu.keys.sv-se.name=Swedish
teensypp1.menu.keys.sv-se.build.define1=-DLAYOUT_SWEDISH
teensypp1.menu.keys.en-gb.name=United Kingdom
teensypp1.menu.keys.en-gb.build.define1=-DLAYOUT_UNITED_KINGDOM
teensypp1.menu.keys.usint.name=US International
teensypp1.menu.keys.usint.build.define1=-DLAYOUT_US_INTERNATIONAL


+ 1
- 1
teensy3/analog.c View File

@@ -41,7 +41,7 @@ static uint8_t analog_reference_internal = 0;
// datasheet says ADC clock should be 2 to 12 MHz for 16 bit mode
// datasheet says ADC clock should be 1 to 18 MHz for 8-12 bit mode

#if F_BUS == 48000000
#if F_BUS == 48000000 | F_BUS == 40000000
#define ADC_CFG1_6MHZ ADC_CFG1_ADIV(2) + ADC_CFG1_ADICLK(1)
#define ADC_CFG1_12MHZ ADC_CFG1_ADIV(1) + ADC_CFG1_ADICLK(1)
#define ADC_CFG1_24MHZ ADC_CFG1_ADIV(0) + ADC_CFG1_ADICLK(1)

+ 3
- 1
teensy3/core_pins.h View File

@@ -770,7 +770,9 @@ uint32_t micros(void);
static inline void delayMicroseconds(uint32_t) __attribute__((always_inline, unused));
static inline void delayMicroseconds(uint32_t usec)
{
#if F_CPU == 96000000
#if F_CPU == 120000000
uint32_t n = usec << 6; //Is this correct ?
#elif F_CPU == 96000000
uint32_t n = usec << 5;
#elif F_CPU == 48000000
uint32_t n = usec << 4;

+ 20
- 5
teensy3/mk20dx128.c View File

@@ -40,6 +40,9 @@ extern unsigned long _ebss;
extern unsigned long _estack;
//extern void __init_array_start(void);
//extern void __init_array_end(void);



extern int main (void);
void ResetHandler(void);
void _init_Teensyduino_internal_(void);
@@ -413,14 +416,22 @@ void ResetHandler(void)
// now we're in FBE mode
// config PLL input for 16 MHz Crystal / 4 = 4 MHz
MCG_C5 = MCG_C5_PRDIV0(3);
// config PLL for 96 MHz output
MCG_C6 = MCG_C6_PLLS | MCG_C6_VDIV0(0);
#if F_CPU == 120000000
MCG_C6 = MCG_C6_PLLS | MCG_C6_VDIV0(6); // config PLL for 120 MHz output
#else
MCG_C6 = MCG_C6_PLLS | MCG_C6_VDIV0(0); // config PLL for 96 MHz output
#endif
// wait for PLL to start using xtal as its input
while (!(MCG_S & MCG_S_PLLST)) ;
// wait for PLL to lock
while (!(MCG_S & MCG_S_LOCK0)) ;
// now we're in PBE mode
#if F_CPU == 96000000

#if F_CPU == 120000000
// config divisors: 120 MHz core, 40 MHz bus, 30 MHz flash
SIM_CLKDIV1 = SIM_CLKDIV1_OUTDIV1(0) | SIM_CLKDIV1_OUTDIV2(3) | SIM_CLKDIV1_OUTDIV4(4);
#elif F_CPU == 96000000
// config divisors: 96 MHz core, 48 MHz bus, 24 MHz flash
SIM_CLKDIV1 = SIM_CLKDIV1_OUTDIV1(0) | SIM_CLKDIV1_OUTDIV2(1) | SIM_CLKDIV1_OUTDIV4(3);
#elif F_CPU == 48000000
@@ -430,7 +441,7 @@ void ResetHandler(void)
// config divisors: 24 MHz core, 24 MHz bus, 24 MHz flash
SIM_CLKDIV1 = SIM_CLKDIV1_OUTDIV1(3) | SIM_CLKDIV1_OUTDIV2(3) | SIM_CLKDIV1_OUTDIV4(3);
#else
#error "Error, F_CPU must be 96000000, 48000000, or 24000000"
#error "Error, F_CPU must be 120000000, 96000000, 48000000, or 24000000"
#endif
// switch to PLL as clock source, FLL input = 16 MHz / 512
MCG_C1 = MCG_C1_CLKS(0) | MCG_C1_FRDIV(4);
@@ -438,7 +449,11 @@ void ResetHandler(void)
while ((MCG_S & MCG_S_CLKST_MASK) != MCG_S_CLKST(3)) ;
// now we're in PEE mode
// configure USB for 48 MHz clock
SIM_CLKDIV2 = SIM_CLKDIV2_USBDIV(1); // USB = 96 MHz PLL / 2
#if F_CPU == 120000000
SIM_CLKDIV2 = SIM_CLKDIV2_USBDIV(4) | SIM_CLKDIV2_USBFRAC; // USB = 120 MHz PLL / 2.5
#else
SIM_CLKDIV2 = SIM_CLKDIV2_USBDIV(1); // USB = 96 MHz PLL / 2
#endif
// USB uses PLL clock, trace is CPU clock, CLKOUT=OSCERCLK0
SIM_SOPT2 = SIM_SOPT2_USBSRC | SIM_SOPT2_PLLFLLSEL | SIM_SOPT2_TRACECLKSEL | SIM_SOPT2_CLKOUTSEL(6);


+ 4
- 1
teensy3/mk20dx128.h View File

@@ -38,7 +38,10 @@
//#define F_BUS 24000000
//#define F_MEM 24000000

#if (F_CPU == 96000000)
#if (F_CPU == 120000000)
#define F_BUS 40000000
#define F_MEM 20000000
#elif (F_CPU == 96000000)
#define F_BUS 48000000
#define F_MEM 24000000
#elif (F_CPU == 48000000)

+ 3
- 2
teensy3/pins_teensy.c View File

@@ -684,8 +684,9 @@ void delay(uint32_t ms)
}
}
}

#if F_CPU == 96000000
#if F_CPU == 120000000
#define PULSEIN_LOOPS_PER_USEC 19 //Is this correct ?
#elif F_CPU == 96000000
#define PULSEIN_LOOPS_PER_USEC 14
#elif F_CPU == 48000000
#define PULSEIN_LOOPS_PER_USEC 7

+ 4
- 2
teensy3/usb_seremu.c View File

@@ -137,8 +137,10 @@ void usb_seremu_flush_input(void)
// too short, we risk losing data during the stalls that are common with ordinary desktop
// software. If it's too long, we stall the user's program when no software is running.
#define TX_TIMEOUT_MSEC 30

#if F_CPU == 96000000
//Why is this timout dependend on F_CPU ?
#if F_CPU == 120000000
#define TX_TIMEOUT (TX_TIMEOUT_MSEC * 763)
#elif F_CPU == 96000000
#define TX_TIMEOUT (TX_TIMEOUT_MSEC * 596)
#elif F_CPU == 48000000
#define TX_TIMEOUT (TX_TIMEOUT_MSEC * 428)

+ 4
- 1
teensy3/usb_serial.c View File

@@ -147,7 +147,10 @@ void usb_serial_flush_input(void)
// software. If it's too long, we stall the user's program when no software is running.
#define TX_TIMEOUT_MSEC 70

#if F_CPU == 96000000
//Why is this timout dependend on F_CPU ?
#if F_CPU == 120000000
#define TX_TIMEOUT (TX_TIMEOUT_MSEC * 763)
#elif F_CPU == 96000000
#define TX_TIMEOUT (TX_TIMEOUT_MSEC * 596)
#elif F_CPU == 48000000
#define TX_TIMEOUT (TX_TIMEOUT_MSEC * 428)

Loading…
Cancel
Save