Add support for MightyCore boards // Resolve #585

This commit is contained in:
Ivan Kravets
2016-04-28 16:27:53 +03:00
parent 0cf78c4297
commit 4f0b48174b
7 changed files with 272 additions and 0 deletions

View File

@ -26,6 +26,9 @@ PlatformIO 2.0
* Added support for Generic ATTiny boards: ATTiny13, ATTiny24, ATTiny25,
ATTiny45 and ATTiny85
(`issue #636 <https://github.com/platformio/platformio/issues/636>`_)
* Added support for MightyCore boards: ATmega1284, ATmega644, ATmega324,
ATmega164, ATmega32, ATmega16 and ATmega8535
(`issue #585 <https://github.com/platformio/platformio/issues/585>`_)
* Added support for `TI MSP430 <http://docs.platformio.org/en/latest/platforms/timsp430.html>`__
boards: TI LaunchPad w/ msp430fr4133 and TI LaunchPad w/ msp430fr6989
* Updated Arduino core for Espressif platform to 2.2.0

View File

@ -808,6 +808,13 @@ Generic ATTiny
- Flash
- RAM
* - ``attiny13``
- `Generic ATTiny13 <http://www.atmel.com/devices/ATTINY13.aspx>`_
- ATTINY13
- 9 MHz
- 1 Kb
- 0.0625 Kb
* - ``attiny24``
- `Generic ATTiny24 <http://www.atmel.com/devices/ATTINY24.aspx>`_
- ATTINY24
@ -917,6 +924,61 @@ LowPowerLab
- 128 Kb
- 16 Kb
Mcudude
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``mightycore1284``
- `MightyCore ATmega1284 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA1284P
- 16 MHz
- 128 Kb
- 16 Kb
* - ``mightycore16``
- `MightyCore ATmega16 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA16
- 16 MHz
- 16 Kb
- 1 Kb
* - ``mightycore164``
- `MightyCore ATmega164 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA164P
- 16 MHz
- 16 Kb
- 1 Kb
* - ``mightycore32``
- `MightyCore ATmega32 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA32
- 16 MHz
- 32 Kb
- 2 Kb
* - ``mightycore324``
- `MightyCore ATmega324 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA324P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``mightycore644``
- `MightyCore ATmega644 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA644P
- 16 MHz
- 64 Kb
- 4 Kb
Microduino
~~~~~~~~~~

View File

@ -33,6 +33,9 @@ Platforms
* - :ref:`platform_atmelsam`
- Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
* - :ref:`platform_espressif`
- Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Boards
------

View File

@ -510,6 +510,13 @@ Generic ATTiny
- Flash
- RAM
* - ``attiny13``
- `Generic ATTiny13 <http://www.atmel.com/devices/ATTINY13.aspx>`_
- ATTINY13
- 9 MHz
- 1 Kb
- 0.0625 Kb
* - ``attiny24``
- `Generic ATTiny24 <http://www.atmel.com/devices/ATTINY24.aspx>`_
- ATTINY24
@ -599,6 +606,61 @@ LowPowerLab
- 128 Kb
- 16 Kb
Mcudude
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``mightycore1284``
- `MightyCore ATmega1284 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA1284P
- 16 MHz
- 128 Kb
- 16 Kb
* - ``mightycore16``
- `MightyCore ATmega16 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA16
- 16 MHz
- 16 Kb
- 1 Kb
* - ``mightycore164``
- `MightyCore ATmega164 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA164P
- 16 MHz
- 16 Kb
- 1 Kb
* - ``mightycore32``
- `MightyCore ATmega32 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA32
- 16 MHz
- 32 Kb
- 2 Kb
* - ``mightycore324``
- `MightyCore ATmega324 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA324P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``mightycore644``
- `MightyCore ATmega644 <https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board>`_
- ATMEGA644P
- 16 MHz
- 64 Kb
- 4 Kb
Microduino
~~~~~~~~~~

View File

@ -31,6 +31,9 @@ Packages
* - ``toolchain-xtensa``
- `xtensa-gcc <https://github.com/jcmvbkbc/gcc-xtensa>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``framework-simba``
- `Simba Framework <https://github.com/eerimoq/simba>`_
* - ``tool-esptool``
- `esptool-ck <https://github.com/igrr/esptool-ck>`_
@ -67,6 +70,9 @@ Frameworks
* - :ref:`framework_arduino`
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
* - :ref:`framework_simba`
- Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
Boards
------

View File

@ -0,0 +1,133 @@
{
"mightycore1284": {
"build": {
"core": "MightyCore",
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ATmega1284",
"f_cpu": "16000000L",
"mcu": "atmega1284p",
"variant": "mightycore"
},
"frameworks": ["arduino"],
"name": "MightyCore ATmega1284",
"platform": "atmelavr",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 130048,
"protocol": "arduino",
"require_upload_port" : true,
"speed": 115200
},
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
"vendor": "Mcudude"
},
"mightycore644": {
"build": {
"core": "MightyCore",
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ATmega644",
"f_cpu": "16000000L",
"mcu": "atmega644p",
"variant": "mightycore"
},
"frameworks": ["arduino"],
"name": "MightyCore ATmega644",
"platform": "atmelavr",
"upload": {
"maximum_ram_size": 4096,
"maximum_size": 64512,
"protocol": "arduino",
"require_upload_port" : true,
"speed": 115200
},
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
"vendor": "Mcudude"
},
"mightycore324": {
"build": {
"core": "MightyCore",
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ATmega324",
"f_cpu": "16000000L",
"mcu": "atmega324p",
"variant": "mightycore"
},
"frameworks": ["arduino"],
"name": "MightyCore ATmega324",
"platform": "atmelavr",
"upload": {
"maximum_ram_size": 2048,
"maximum_size": 32256,
"protocol": "arduino",
"require_upload_port" : true,
"speed": 115200
},
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
"vendor": "Mcudude"
},
"mightycore164": {
"build": {
"core": "MightyCore",
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ATmega164",
"f_cpu": "16000000L",
"mcu": "atmega164p",
"variant": "mightycore"
},
"frameworks": ["arduino"],
"name": "MightyCore ATmega164",
"platform": "atmelavr",
"upload": {
"maximum_ram_size": 1024,
"maximum_size": 15872,
"protocol": "arduino",
"require_upload_port" : true,
"speed": 115200
},
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
"vendor": "Mcudude"
},
"mightycore32": {
"build": {
"core": "MightyCore",
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ATmega32",
"f_cpu": "16000000L",
"mcu": "atmega32",
"variant": "mightycore"
},
"frameworks": ["arduino"],
"name": "MightyCore ATmega32",
"platform": "atmelavr",
"upload": {
"maximum_ram_size": 2048,
"maximum_size": 32256,
"protocol": "arduino",
"require_upload_port" : true,
"speed": 115200
},
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
"vendor": "Mcudude"
},
"mightycore16": {
"build": {
"core": "MightyCore",
"extra_flags": "-DARDUINO_ARCH_AVR -DARDUINO_AVR_ATmega16",
"f_cpu": "16000000L",
"mcu": "atmega16",
"variant": "mightycore"
},
"frameworks": ["arduino"],
"name": "MightyCore ATmega16",
"platform": "atmelavr",
"upload": {
"maximum_ram_size": 1024,
"maximum_size": 15872,
"protocol": "arduino",
"require_upload_port" : true,
"speed": 115200
},
"url": "https://www.tindie.com/products/MCUdude/dip-40-arduino-compatible-development-board",
"vendor": "Mcudude"
}
}

View File

@ -34,6 +34,9 @@ def is_compat_platform_and_framework(platform, framework):
def generate_boards(boards):
def _round_memory_size(size):
if size == 1:
return 1;
size = ceil(size)
for b in (64, 32, 16, 8, 4, 2, 1):
if b < size: