Merge pull request #118 from valeros/develop

Initial support for mbed; Added Frameworks to doc
This commit is contained in:
Ivan Kravets
2015-03-11 22:05:47 +02:00
78 changed files with 4784 additions and 1078 deletions

552
docs/frameworks/arduino.rst Normal file
View File

@@ -0,0 +1,552 @@
.. _framework_arduino:
Framework ``arduino``
=====================
Arduino 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.
.. contents::
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by horizontal.
Adafruit
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``flora8``
- `Adafruit Flora <http://www.adafruit.com/product/659>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``protrinket3``
- `Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P
- 12 MHz
- 32 Kb
- 2 Kb
* - ``protrinket3ftdi``
- `Pro Trinket 3V/12MHz (FTDI) <http://www.adafruit.com/products/2010>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``protrinket5``
- `Pro Trinket 5V/16MHz (USB) <http://www.adafruit.com/products/2000>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``protrinket5ftdi``
- `Pro Trinket 5V/16MHz (USB) <http://www.adafruit.com/products/2000>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``trinket3``
- `Adafruit Trinket 3V/8MHz <http://www.adafruit.com/products/1500>`_
- ATTINY85
- 8 MHz
- 8 Kb
- 0.5 Kb
* - ``trinket5``
- `Adafruit Trinket 5V/16MHz <http://www.adafruit.com/products/1501>`_
- ATTINY85
- 16 MHz
- 8 Kb
- 0.5 Kb
Arduino
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``LilyPadUSB``
- `LilyPad Arduino USB <http://arduino.cc/en/Main/ArduinoBoardLilyPadUSB>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``atmegangatmega168``
- `Arduino NG or older ATmega168 <http://arduino.cc/en/main/boards>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``atmegangatmega8``
- `Arduino NG or older ATmega8 <http://arduino.cc/en/main/boards>`_
- ATMEGA8
- 16 MHz
- 8 Kb
- 1 Kb
* - ``btatmega168``
- `Arduino BT ATmega168 <http://arduino.cc/en/main/boards>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``btatmega328``
- `Arduino BT ATmega328 <http://arduino.cc/en/main/boards>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``diecimilaatmega168``
- `Arduino Duemilanove or Diecimila ATmega168 <http://arduino.cc/en/Main/ArduinoBoardDiecimila>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``diecimilaatmega328``
- `Arduino Duemilanove or Diecimila ATmega328 <http://arduino.cc/en/Main/ArduinoBoardDiecimila>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``due``
- `Arduino Due (Programming Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
* - ``dueUSB``
- `Arduino Due (USB Native Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
* - ``esplora``
- `Arduino Esplora <http://arduino.cc/en/Main/ArduinoBoardEsplora>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``ethernet``
- `Arduino Ethernet <http://arduino.cc/en/Main/ArduinoBoardEthernet>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``fio``
- `Arduino Fio <http://arduino.cc/en/Main/ArduinoBoardFio>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
* - ``leonardo``
- `Arduino Leonardo <http://arduino.cc/en/Main/arduinoBoardLeonardo>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``lilypadatmega168``
- `LilyPad Arduino ATmega168 <http://arduino.cc/en/Main/ArduinoBoardLilyPad>`_
- ATMEGA168
- 8 MHz
- 16 Kb
- 1 Kb
* - ``lilypadatmega328``
- `LilyPad Arduino ATmega328 <http://arduino.cc/en/Main/ArduinoBoardLilyPad>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
* - ``megaADK``
- `Arduino Mega ADK <http://arduino.cc/en/Main/ArduinoBoardMegaADK>`_
- ATMEGA2560
- 16 MHz
- 256 Kb
- 8 Kb
* - ``megaatmega1280``
- `Arduino Mega or Mega 2560 ATmega1280 <http://arduino.cc/en/Main/arduinoBoardMega>`_
- ATMEGA1280
- 16 MHz
- 128 Kb
- 8 Kb
* - ``megaatmega2560``
- `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) <http://arduino.cc/en/Main/arduinoBoardMega2560>`_
- ATMEGA2560
- 16 MHz
- 256 Kb
- 8 Kb
* - ``micro``
- `Arduino Micro <http://arduino.cc/en/Main/ArduinoBoardMicro>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``miniatmega168``
- `Arduino Mini ATmega168 <http://arduino.cc/en/Main/ArduinoBoardMini>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``miniatmega328``
- `Arduino Mini ATmega328 <http://arduino.cc/en/Main/ArduinoBoardMini>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``nanoatmega168``
- `Arduino Nano ATmega168 <http://arduino.cc/en/Main/ArduinoBoardNano>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``nanoatmega328``
- `Arduino Nano ATmega328 <http://arduino.cc/en/Main/ArduinoBoardNano>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``pro16MHzatmega168``
- `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) <http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``pro16MHzatmega328``
- `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) <http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``pro8MHzatmega168``
- `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) <http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATMEGA168
- 8 MHz
- 16 Kb
- 1 Kb
* - ``pro8MHzatmega328``
- `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) <http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
* - ``robotControl``
- `Arduino Robot Control <http://arduino.cc/en/Main/Robot>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``robotMotor``
- `Arduino Robot Motor <http://arduino.cc/en/Main/Robot>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``uno``
- `Arduino Uno <http://arduino.cc/en/Main/ArduinoBoardUno>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``yun``
- `Arduino Yun <http://arduino.cc/en/Main/ArduinoBoardYun>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
BitWizard
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``raspduino``
- `Raspduino <http://www.bitwizard.nl/wiki/index.php/Raspduino>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
Digistump
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``digispark-pro``
- `Digispark Pro (Default 16 MHz) <http://digistump.com/products/109>`_
- ATTINY167
- 16 MHz
- 16 Kb
- 0.5 Kb
* - ``digispark-pro32``
- `Digispark Pro (16 MHz) (32 byte buffer) <http://digistump.com/products/109>`_
- ATTINY167
- 16 MHz
- 16 Kb
- 0.5 Kb
* - ``digispark-pro64``
- `Digispark Pro (16 MHz) (64 byte buffer) <http://digistump.com/products/109>`_
- ATTINY167
- 16 MHz
- 16 Kb
- 0.5 Kb
* - ``digispark-tiny``
- `Digispark (Default - 16 MHz) <http://digistump.com/products/1>`_
- ATTINY85
- 16 MHz
- 8 Kb
- 0.5 Kb
* - ``digix``
- `Digistump DigiX <http://digistump.com/products/50>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 28 Kb
Engduino
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``engduinov1``
- `Engduino 1 <http://www.engduino.org>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``engduinov2``
- `Engduino 2 <http://www.engduino.org>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``engduinov3``
- `Engduino 3 <http://www.engduino.org>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
Microduino
~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``1284p16m``
- `Microduino Core+ (ATmega1284P@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATMEGA1284P
- 16 MHz
- 128 Kb
- 16 Kb
* - ``1284p8m``
- `Microduino Core+ (ATmega1284P@8M,3.3V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATMEGA1284P
- 8 MHz
- 128 Kb
- 16 Kb
* - ``168pa16m``
- `Microduino Core (Atmega168PA@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATMEGA168P
- 16 MHz
- 16 Kb
- 1 Kb
* - ``168pa8m``
- `Microduino Core (Atmega168PA@8M,3.3V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATMEGA168P
- 8 MHz
- 16 Kb
- 1 Kb
* - ``328p16m``
- `Microduino Core (Atmega328P@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``328p8m``
- `Microduino Core (Atmega328P@8M,3.3V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
* - ``32u416m``
- `Microduino Core USB (ATmega32U4@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-CoreUSB>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``644pa16m``
- `Microduino Core+ (Atmega644PA@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATMEGA644P
- 16 MHz
- 64 Kb
- 4 Kb
* - ``644pa8m``
- `Microduino Core+ (Atmega644PA@8M,3.3V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATMEGA644P
- 8 MHz
- 64 Kb
- 4 Kb
SainSmart
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``sainSmartDue``
- `SainSmart Due (Programming Port) <http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
* - ``sainSmartDueUSB``
- `SainSmart Due (USB Native Port) <http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
Teensy
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``teensy20``
- `Teensy 2.0 <https://www.pjrc.com/store/teensy.html>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``teensy20pp``
- `Teensy++ 2.0 <https://www.pjrc.com/store/teensypp.html>`_
- AT90USB1286
- 16 MHz
- 128 Kb
- 8 Kb
* - ``teensy30``
- `Teensy 3.0 <https://www.pjrc.com/store/teensy3.html>`_
- MK20DX128
- 48 MHz
- 128 Kb
- 16 Kb
* - ``teensy31``
- `Teensy 3.1 <https://www.pjrc.com/store/teensy31.html>`_
- MK20DX256
- 72 MHz
- 256 Kb
- 64 Kb

48
docs/frameworks/cmsis.rst Normal file
View File

@@ -0,0 +1,48 @@
.. _framework_cmsis:
Framework ``cmsis``
===================
The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series and specifies debugger interfaces. The CMSIS enables consistent and simple software interfaces to the processor for interface peripherals, real-time operating systems, and middleware. It simplifies software re-use, reducing the learning curve for new microcontroller developers and cutting the time-to-market for devices.
.. contents::
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by horizontal.
ST
~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``disco_f303vc``
- `STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
- STM32F303VCT6
- 72 MHz
- 256 Kb
- 48 Kb
* - ``disco_f407vg``
- `STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
- STM32F407VGT6
- 168 MHz
- 1024 Kb
- 128 Kb
* - ``disco_l152rb``
- `STM32LDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515>`_
- STM32L152RBT6
- 32 MHz
- 128 Kb
- 16 Kb

View File

@@ -0,0 +1,97 @@
.. _framework_energia:
Framework ``energia``
=====================
Energia framework enables pretty much anyone to start easily creating microcontroller-based projects and applications. Its easy-to-use libraries and functions provide developers of all experience levels to start blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever before.
.. contents::
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by horizontal.
TI
~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lplm4f120h5qr``
- `LaunchPad (Stellaris) w/ lm4f120 (80MHz) <http://www.ti.com/tool/ek-lm4f120xl>`_
- LPLM4F120H5QR
- 80 MHz
- 256 Kb
- 32 Kb
* - ``lpmsp430f5529``
- `LaunchPad w/ msp430f5529 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html>`_
- MSP430F5529
- 16 MHz
- 128 Kb
- 1 Kb
* - ``lpmsp430f5529_25``
- `LaunchPad w/ msp430f5529 (25MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html>`_
- MSP430F5529
- 25 MHz
- 128 Kb
- 1 Kb
* - ``lpmsp430fr5739``
- `FraunchPad w/ msp430fr5739 <http://www.ti.com/tool/msp-exp430fr5739>`_
- MSP430FR5739
- 16 MHz
- 16 Kb
- 1 Kb
* - ``lpmsp430fr5969``
- `LaunchPad w/ msp430fr5969 <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430fr5969.html>`_
- MSP430FR5969
- 8 MHz
- 64 Kb
- 1 Kb
* - ``lpmsp430g2231``
- `LaunchPad w/ msp430g2231 (1 MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2231
- 1 MHz
- 2 Kb
- 0.125 Kb
* - ``lpmsp430g2452``
- `LaunchPad w/ msp430g2452 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2452
- 16 MHz
- 8 Kb
- 0.25 Kb
* - ``lpmsp430g2553``
- `LaunchPad w/ msp430g2553 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2553
- 16 MHz
- 16 Kb
- 0.5 Kb
* - ``lptm4c1230c3pm``
- `LaunchPad (Tiva C) w/ tm4c123 (80MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c123gxl.html>`_
- LPTM4C1230C3PM
- 80 MHz
- 256 Kb
- 32 Kb
* - ``lptm4c1294ncpdt``
- `LaunchPad (Tiva C) w/ tm4c129 (120MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c1294xl.html>`_
- LPTM4C1294NCPDT
- 120 MHz
- 1024 Kb
- 256 Kb

14
docs/frameworks/index.rst Normal file
View File

@@ -0,0 +1,14 @@
.. _frameworks:
Frameworks
==========
.. toctree::
:maxdepth: 2
arduino
cmsis
energia
mbed
opencm3
spl

504
docs/frameworks/mbed.rst Normal file
View File

@@ -0,0 +1,504 @@
.. _framework_mbed:
Framework ``mbed``
==================
The mbed framework The mbed SDK has been designed to provide enough hardware abstraction to be intuitive and concise, yet powerful enough to build complex projects. It is built on the low-level ARM CMSIS APIs, allowing you to code down to the metal if needed. In addition to RTOS, USB and Networking libraries, a cookbook of hundreds of reusable peripheral and module libraries have been built on top of the SDK by the mbed Developer Community.
.. contents::
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by horizontal.
CQ Publishing
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc11u35_501``
- `TG-LPC11U35-501 <https://developer.mbed.org/platforms/TG-LPC11U35-501/>`_
- LPC11U35
- 48 MHz
- 64 Kb
- 10 Kb
Embedded Artists
~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc11u35``
- `EA LPC11U35 QuickStart Board <https://developer.mbed.org/platforms/EA-LPC11U35/>`_
- LPC11U35
- 48 MHz
- 64 Kb
- 10 Kb
* - ``lpc4088``
- `EA LPC4088 QuickStart Board <https://developer.mbed.org/platforms/EA-LPC4088/>`_
- LPC4088
- 120 MHz
- 512 Kb
- 96 Kb
* - ``lpc4088_dm``
- `EA LPC4088 Display Module <https://developer.mbed.org/platforms/EA-LPC4088-Display-Module/>`_
- LPC4088
- 120 MHz
- 512 Kb
- 96 Kb
Freescale
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``frdm_k20d50m``
- `Freescale Kinetis FRDM-K20D50M <https://developer.mbed.org/platforms/FRDM-K20D50M/>`_
- MK20DX128VLH5
- 48 MHz
- 128 Kb
- 16 Kb
* - ``frdm_k22f``
- `Freescale Kinetis FRDM-K22F <https://developer.mbed.org/platforms/FRDM-K22F/>`_
- MK22FN512VLH12
- 120 MHz
- 512 Kb
- 128 Kb
* - ``frdm_k64f``
- `Freescale Kinetis FRDM-K64F <https://developer.mbed.org/platforms/FRDM-K64F/>`_
- MK64FN1M0VLL12
- 120 MHz
- 1024 Kb
- 256 Kb
* - ``frdm_kl05z``
- `Freescale Kinetis FRDM-KL05Z <https://developer.mbed.org/platforms/FRDM-KL05Z/>`_
- MKL05Z32VFM4
- 48 MHz
- 32 Kb
- 4 Kb
* - ``frdm_kl25z``
- `Freescale Kinetis FRDM-KL25Z <https://developer.mbed.org/platforms/KL25Z/>`_
- MKL25Z128VLK4
- 48 MHz
- 128 Kb
- 16 Kb
* - ``frdm_kl46z``
- `Freescale Kinetis FRDM-KL46Z <https://developer.mbed.org/platforms/FRDM-KL46Z/>`_
- MKL46Z256VLL4
- 48 MHz
- 256 Kb
- 32 Kb
JKSoft
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``wallBotBLE``
- `JKSoft Wallbot BLE <https://developer.mbed.org/platforms/JKSoft-Wallbot-BLE/>`_
- NRF51822
- 16 MHz
- 128 Kb
- 16 Kb
NGX Technologies
~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``blueboard_lpc11u24``
- `BlueBoard-LPC11U24 <https://developer.mbed.org/platforms/BlueBoard-LPC11U24/>`_
- LPC11U24
- 48 MHz
- 32 Kb
- 8 Kb
NXP
~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc11u24``
- `mbed LPC11U24 <https://developer.mbed.org/platforms/mbed-LPC11U24/>`_
- LPC11U24
- 48 MHz
- 32 Kb
- 8 Kb
* - ``lpc1549``
- `LPCXpresso1549 <https://developer.mbed.org/platforms/LPCXpresso1549/>`_
- LPC1549
- 72 MHz
- 256 Kb
- 36 Kb
* - ``lpc1768``
- `mbed LPC1768 <http://developer.mbed.org/platforms/mbed-LPC1768/>`_
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
Nordic
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nrf51_dk``
- `Nordic nRF51-DK <https://developer.mbed.org/platforms/Nordic-nRF51-DK/>`_
- NRF51822
- 32 MHz
- 256 Kb
- 32 Kb
* - ``nrf51_dongle``
- `Nordic nRF51-Dongle <https://developer.mbed.org/platforms/Nordic-nRF51-Dongle/>`_
- NRF51822
- 32 MHz
- 256 Kb
- 32 Kb
* - ``nrf51_mkit``
- `Nordic nRF51822-mKIT <http://developer.mbed.org/platforms/Nordic-nRF51822/>`_
- NRF51822
- 16 MHz
- 128 Kb
- 16 Kb
Outrageous Circuits
~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``mbuino``
- `Outrageous Circuits mBuino <https://developer.mbed.org/platforms/Outrageous-Circuits-mBuino/>`_
- LPC11U24
- 48 MHz
- 32 Kb
- 8 Kb
RedBearLab
~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``redBearLab``
- `RedBearLab nRF51822 <https://developer.mbed.org/platforms/RedBearLab-nRF51822/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
* - ``redBearLabBLENano``
- `RedBearLab BLE Nano <https://developer.mbed.org/platforms/RedBearLab-BLE-Nano/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
ST
~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``disco_f051r8``
- `STM32F0DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF253215>`_
- STM32F051R8T6
- 48 MHz
- 64 Kb
- 8 Kb
* - ``disco_f100rb``
- `STM32VLDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF250863>`_
- STM32F100RBT6
- 24 MHz
- 128 Kb
- 8 Kb
* - ``disco_f303vc``
- `STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
- STM32F303VCT6
- 72 MHz
- 256 Kb
- 48 Kb
* - ``disco_f334c8``
- `32F3348DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF260318>`_
- STM32F334C8T6
- 72 MHz
- 64 Kb
- 16 Kb
* - ``disco_f401vc``
- `32F401CDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098>`_
- STM32F401VCT6
- 84 MHz
- 256 Kb
- 64 Kb
* - ``disco_f407vg``
- `STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
- STM32F407VGT6
- 168 MHz
- 1024 Kb
- 128 Kb
* - ``disco_f429zi``
- `32F429IDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259090>`_
- STM32F429ZIT6
- 180 MHz
- 2048 Kb
- 256 Kb
* - ``nucleo_f030r8``
- `ST Nucleo F030R8 <https://developer.mbed.org/platforms/ST-Nucleo-F030R8/>`_
- STM32F030R8T6
- 48 MHz
- 64 Kb
- 8 Kb
* - ``nucleo_f070rb``
- `ST Nucleo F070RB <https://developer.mbed.org/platforms/ST-Nucleo-F070RB/>`_
- STM32F070RBT6
- 48 MHz
- 128 Kb
- 16 Kb
* - ``nucleo_f072rb``
- `ST Nucleo F072RB <https://developer.mbed.org/platforms/ST-Nucleo-F072RB/>`_
- STM32F072RBT6
- 48 MHz
- 128 Kb
- 16 Kb
* - ``nucleo_f091rc``
- `ST Nucleo F091RC <https://developer.mbed.org/platforms/ST-Nucleo-F091RC/>`_
- STM32F091RCT6
- 48 MHz
- 256 Kb
- 32 Kb
* - ``nucleo_f103rb``
- `ST Nucleo F103RB <https://developer.mbed.org/platforms/ST-Nucleo-F103RB/>`_
- STM32F103RBT6
- 72 MHz
- 128 Kb
- 20 Kb
* - ``nucleo_f302r8``
- `ST Nucleo F302R8 <https://developer.mbed.org/platforms/ST-Nucleo-F302R8/>`_
- STM32F302R8T6
- 72 MHz
- 64 Kb
- 16 Kb
* - ``nucleo_f334r8``
- `ST Nucleo F334R8 <https://developer.mbed.org/platforms/ST-Nucleo-F334R8/>`_
- STM32F334R8T6
- 72 MHz
- 64 Kb
- 16 Kb
* - ``nucleo_f401re``
- `ST Nucleo F401RE <https://developer.mbed.org/platforms/ST-Nucleo-F401RE/>`_
- STM32F401RET6
- 84 MHz
- 512 Kb
- 96 Kb
* - ``nucleo_f411re``
- `ST Nucleo F411RE <https://developer.mbed.org/platforms/ST-Nucleo-F411RE/>`_
- STM32F411RET6
- 100 MHz
- 512 Kb
- 128 Kb
* - ``nucleo_l053r8``
- `ST Nucleo L053R8 <https://developer.mbed.org/platforms/ST-Nucleo-L053R8/>`_
- STM32L053R8T6
- 48 MHz
- 64 Kb
- 8 Kb
* - ``nucleo_l152re``
- `ST Nucleo L152RE <https://developer.mbed.org/platforms/ST-Nucleo-L152RE/>`_
- STM32L152RET6
- 32 MHz
- 512 Kb
- 80 Kb
SeeedStudio
~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``seeeduinoArchPro``
- `Seeeduino-Arch-Pro <https://developer.mbed.org/platforms/Seeeduino-Arch-Pro/>`_
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
Solder Splash Labs
~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``dipcortexm0``
- `DipCortex M0 <https://developer.mbed.org/platforms/DipCortex-M0/>`_
- LPC11U24
- 50 MHz
- 32 Kb
- 8 Kb
Switch Science
~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``hrm1017``
- `Switch Science mbed HRM1017 <https://developer.mbed.org/platforms/mbed-HRM1017/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
* - ``lpc1114fn28``
- `mbed LPC1114FN28 <https://developer.mbed.org/platforms/LPC1114FN28/>`_
- LPC1114FN28
- 48 MHz
- 32 Kb
- 4 Kb
u-blox
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``ubloxc027``
- `u-blox C027 <https://developer.mbed.org/platforms/u-blox-C027/>`_
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb

View File

@@ -0,0 +1,82 @@
.. _framework_opencm3:
Framework ``opencm3``
=====================
The libopencm3 framework aims to create a free/libre/open-source firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers, including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx, 17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
.. contents::
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by horizontal.
ST
~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``disco_f303vc``
- `STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
- STM32F303VCT6
- 72 MHz
- 256 Kb
- 48 Kb
* - ``disco_f407vg``
- `STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
- STM32F407VGT6
- 168 MHz
- 1024 Kb
- 128 Kb
* - ``disco_l152rb``
- `STM32LDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515>`_
- STM32L152RBT6
- 32 MHz
- 128 Kb
- 16 Kb
TI
~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lplm4f120h5qr``
- `LaunchPad (Stellaris) w/ lm4f120 (80MHz) <http://www.ti.com/tool/ek-lm4f120xl>`_
- LPLM4F120H5QR
- 80 MHz
- 256 Kb
- 32 Kb
* - ``lptm4c1230c3pm``
- `LaunchPad (Tiva C) w/ tm4c123 (80MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c123gxl.html>`_
- LPTM4C1230C3PM
- 80 MHz
- 256 Kb
- 32 Kb
* - ``lptm4c1294ncpdt``
- `LaunchPad (Tiva C) w/ tm4c129 (120MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c1294xl.html>`_
- LPTM4C1294NCPDT
- 120 MHz
- 1024 Kb
- 256 Kb

48
docs/frameworks/spl.rst Normal file
View File

@@ -0,0 +1,48 @@
.. _framework_spl:
Framework ``spl``
=================
The ST Standard Peripheral Library provides a set of functions for handling the peripherals on the STM32 Cortex-M3 family. The idea is to save the user (the new user, in particular) having to deal directly with the registers.
.. contents::
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by horizontal.
ST
~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``disco_f303vc``
- `STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
- STM32F303VCT6
- 72 MHz
- 256 Kb
- 48 Kb
* - ``disco_f407vg``
- `STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
- STM32F407VGT6
- 168 MHz
- 1024 Kb
- 128 Kb
* - ``disco_l152rb``
- `STM32LDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515>`_
- STM32L152RBT6
- 32 MHz
- 128 Kb
- 16 Kb

View File

@@ -28,7 +28,7 @@ Embedded Development. *Easier Than Ever.*
* Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>` * Built-in :ref:`Serial Port Monitor <cmd_serialports_monitor>`
* Configurable build :ref:`-flags/-options <projectconf_build_flags>` * Configurable build :ref:`-flags/-options <projectconf_build_flags>`
* Integration with :ref:`development environments (IDE) <ide>` * Integration with :ref:`development environments (IDE) <ide>`
* Pre-built tool chains, frameworks for the popular Hardware Platforms * Pre-built tool chains, :ref:`frameworks` for the popular Hardware Platforms
Smart Code Builder. *Fast and Reliable.* Smart Code Builder. *Fast and Reliable.*
---------------------------------------- ----------------------------------------
@@ -59,6 +59,7 @@ Contents
projectconf projectconf
envvars envvars
platforms/index platforms/index
frameworks/index
librarymanager/index librarymanager/index
userguide/index userguide/index
ide ide

View File

@@ -3,11 +3,13 @@
Platform ``atmelavr`` Platform ``atmelavr``
===================== =====================
`Atmel AVR® 8- and 32-bit MCUs <http://www.atmel.com/products/microcontrollers/avr/default.aspx>`_ Atmel AVR 8- and 32-bit MCUs deliver a unique combination of
deliver a unique combination of performance, power efficiency and design performance, power efficiency and design flexibility. Optimized to
flexibility. Optimized to speed time to marketand easily adapt to new speed time to market-and easily adapt to new ones-they are based on
ones—they are based on the industry's most code-efficient architecture for the industrys most code-efficient architecture for C and assembly
C and assembly programming. programming.
http://www.atmel.com/products/microcontrollers/avr/default.aspx
.. contents:: .. contents::
@@ -18,45 +20,25 @@ Packages
:header-rows: 1 :header-rows: 1
* - Name * - Name
- Alias
- Contents - Contents
* - ``toolchain-atmelavr``
- toolchain
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_,
`GDB <http://www.gnu.org/software/gdb/>`_,
`AVaRICE <http://avarice.sourceforge.net>`_,
`SimulAVR <http://www.nongnu.org/simulavr/>`_
* - ``tool-avrdude``
- uploader
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
* - ``tool-micronucleus``
- uploader
- `Micronucleus <https://github.com/micronucleus/micronucleus>`_
* - ``framework-arduinoavr``
-
- See below in :ref:`atmelavr_frameworks`
* - ``toolchain-atmelavr``
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_
* - ``tool-avrdude``
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
* - ``framework-arduinoavr``
- `Arduino Wiring-based Framework (AVR Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``tool-micronucleus``
- `Micronucleus <https://github.com/micronucleus/micronucleus>`_
.. warning:: .. warning::
**Linux Users:** Don't forget to install "udev" rules file **Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file). `99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
.. _atmelavr_frameworks:
Frameworks
----------
.. list-table::
:header-rows: 1
* - Type ``framework``
- Name
- Reference
* - ``arduino``
- Arduino Wiring-based Framework (AVR Core, 1.6)
- `Documentation <http://arduino.cc/en/Reference/HomePage>`_
Boards Boards
------ ------
@@ -66,224 +48,6 @@ Boards
* For more detailed ``board`` information please scroll tables below by * For more detailed ``board`` information please scroll tables below by
horizontal. horizontal.
Arduino
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller ``board_mcu``
- Frequency ``board_f_cpu``
- Flash
- RAM
* - ``atmegangatmega168``
- `Arduino NG or older (ATmega168)
<http://arduino.cc/en/main/boards>`_
- ATmega168 ``atmega168``
- 16 MHz ``16000000L``
- 16 Kb
- 1 Kb
* - ``atmegangatmega8``
- `Arduino Arduino NG or older (ATmega8)
<http://arduino.cc/en/main/boards>`_
- ATmega8 ``atmega8``
- 16 MHz ``16000000L``
- 8 Kb
- 1 Kb
* - ``btatmega168``
- `Arduino BT (ATmega168)
<http://arduino.cc/en/main/boards>`_
- ATmega168 ``atmega168``
- 16 MHz ``16000000L``
- 16 Kb
- 1 Kb
* - ``btatmega328``
- `Arduino BT (ATmega328)
<http://arduino.cc/en/main/boards>`_
- ATmega328 ``atmega328``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
* - ``diecimilaatmega168``
- `Arduino Diecimila or Duemilanove (ATmega168)
<http://arduino.cc/en/Main/ArduinoBoardDiecimila>`_
- ATmega168 ``atmega168``
- 16 MHz ``16000000L``
- 16 Kb
- 1 Kb
* - ``diecimilaatmega328``
- `Arduino Diecimila or Duemilanove (ATmega328)
<http://arduino.cc/en/Main/ArduinoBoardDiecimila>`_
- ATmega328 ``atmega328``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
* - ``esplora``
- `Arduino Esplora <http://arduino.cc/en/Main/ArduinoBoardEsplora>`_
- ATmega32u4 ``atmega32u4``
- 16 MHz ``16000000L``
- 32 Kb
- 2.5 Kb
* - ``ethernet``
- `Arduino Ethernet
<http://arduino.cc/en/Main/ArduinoBoardEthernet>`_
- ATmega328P ``atmega328p``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
* - ``fio``
- `Arduino Fio
<http://arduino.cc/en/Main/ArduinoBoardFio>`_
- ATmega328P ``atmega328p``
- 8 MHz ``8000000L``
- 32 Kb
- 2 Kb
* - ``leonardo``
- `Arduino Leonardo <http://arduino.cc/en/Main/arduinoBoardLeonardo>`_
- ATmega32u4 ``atmega32u4``
- 16 MHz ``16000000L``
- 32 Kb
- 2.5 Kb
* - ``LilyPadUSB``
- `Arduino LilyPad USB
<http://arduino.cc/en/Main/ArduinoBoardLilyPadUSB>`_
- ATmega32u4 ``atmega32u4``
- 8 MHz ``8000000L``
- 32 Kb
- 2.5 Kb
* - ``lilypadatmega168``
- `Arduino LilyPad (ATmega168)
<http://arduino.cc/en/Main/ArduinoBoardLilyPad>`_
- ATmega168 ``atmega168``
- 8 MHz ``8000000L``
- 16 Kb
- 1 Kb
* - ``lilypadatmega328``
- `Arduino LilyPad (ATmega328)
<http://arduino.cc/en/Main/ArduinoBoardLilyPad>`_
- ATmega328P ``atmega328p``
- 8 MHz ``8000000L``
- 32 Kb
- 2 Kb
* - ``megaADK``
- `Arduino Mega ADK
<http://arduino.cc/en/Main/ArduinoBoardMegaADK>`_
- ATmega2560 ``atmega2560``
- 16 MHz ``16000000L``
- 256 Kb
- 8 Kb
* - ``megaatmega1280``
- `Arduino Mega (ATmega1280)
<http://arduino.cc/en/Main/arduinoBoardMega>`_
- ATmega1280 ``atmega1280``
- 16 MHz ``16000000L``
- 128 Kb
- 8 Kb
* - ``megaatmega2560``
- `Arduino Mega (ATmega2560)
<http://arduino.cc/en/Main/arduinoBoardMega2560>`_
- ATmega2560 ``atmega2560``
- 16 MHz ``16000000L``
- 256 Kb
- 8 Kb
* - ``micro``
- `Arduino Micro
<http://arduino.cc/en/Main/ArduinoBoardMicro>`_
- ATmega32u4 ``atmega32u4``
- 16 MHz ``16000000L``
- 32 Kb
- 2.5 Kb
* - ``miniatmega168``
- `Arduino Mini (ATmega168)
<http://arduino.cc/en/Main/ArduinoBoardMini>`_
- ATmega168 ``atmega168``
- 16 MHz ``16000000L``
- 16 Kb
- 1 Kb
* - ``miniatmega328``
- `Arduino Mini (ATmega328P)
<http://arduino.cc/en/Main/ArduinoBoardMini>`_
- ATmega328P ``atmega328p``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
* - ``nanoatmega168``
- `Arduino Nano (ATmega168)
<http://arduino.cc/en/Main/ArduinoBoardNano>`_
- ATmega168 ``atmega168``
- 16 MHz ``16000000L``
- 16 Kb
- 1 Kb
* - ``nanoatmega328``
- `Arduino Nano (ATmega328P)
<http://arduino.cc/en/Main/ArduinoBoardNano>`_
- ATmega328P ``atmega328p``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
* - ``pro8MHzatmega168``
- `Arduino Pro or Pro Mini (ATmega168, 3.3V)
<http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATmega168 ``atmega168``
- 8 MHz ``8000000L``
- 16 Kb
- 1 Kb
* - ``pro16MHzatmega168``
- `Arduino Pro or Pro Mini (ATmega168, 5V)
<http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATmega168 ``atmega168``
- 16 MHz ``16000000L``
- 16 Kb
- 1 Kb
* - ``pro8MHzatmega328``
- `Arduino Pro or Pro Mini (ATmega328P, 3.3V)
<http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATmega328P ``atmega328p``
- 8 MHz ``8000000L``
- 32 Kb
- 2 Kb
* - ``pro16MHzatmega328``
- `Arduino Pro or Pro Mini (ATmega328P, 5V)
<http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATmega328P ``atmega328p``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
* - ``robotControl``
- `Arduino Robot Control
<http://arduino.cc/en/Main/Robot>`_
- ATmega32u4 ``atmega32u4``
- 16 MHz ``16000000L``
- 32 Kb
- 2.5 Kb
* - ``robotMotor``
- `Arduino Robot Motor
<http://arduino.cc/en/Main/Robot>`_
- ATmega32u4 ``atmega32u4``
- 16 MHz ``16000000L``
- 32 Kb
- 2.5 Kb
* - ``uno``
- `Arduino Uno
<http://arduino.cc/en/Main/ArduinoBoardUno>`_
- ATmega328P ``atmega328p``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
* - ``yun``
- `Arduino Yun
<http://arduino.cc/en/Main/ArduinoBoardYun>`_
- ATmega32u4 ``atmega32u4``
- 16 MHz ``16000000L``
- 32 Kb
- 2.5 Kb
More detailed information you can find here
`Arduino boards <http://arduino.cc/en/Main/Products>`_.
Adafruit Adafruit
~~~~~~~~ ~~~~~~~~
@@ -292,65 +56,277 @@ Adafruit
* - Type ``board`` * - Type ``board``
- Name - Name
- Microcontroller ``board_mcu`` - Microcontroller
- Frequency ``board_f_cpu`` - Frequency
- Flash - Flash
- RAM - RAM
* - ``flora8`` * - ``flora8``
- `Adafruit Flora - `Adafruit Flora <http://www.adafruit.com/product/659>`_
<http://www.adafruit.com/product/659>`_ - ATMEGA32U4
- ATmega32u4 ``atmega32u4`` - 8 MHz
- 8 MHz ``8000000L``
- 32 Kb - 32 Kb
- 2.5 Kb - 2.5 Kb
* - ``trinket3``
- `Adafruit Trinket 8MHz 3.3V LOGIC
<http://www.adafruit.com/products/1500>`_
- ATtiny85 ``attiny85``
- 8 MHz ``8000000L``
- 8 Kb
- 0.5 Kb
* - ``trinket5``
- `Adafruit Trinket 16MHz 5V LOGIC
<http://www.adafruit.com/products/1501>`_
- ATtiny85 ``ATtiny85``
- 16 MHz ``16000000L``
- 8 Kb
- 0.5 Kb
* - ``protrinket3`` * - ``protrinket3``
- `Adafruit Pro Trinket 3V/12MHz (USB) - `Pro Trinket 3V/12MHz (USB) <http://www.adafruit.com/products/2010>`_
<http://www.adafruit.com/products/2010>`_ - ATMEGA328P
- ATmega328P ``atmega328p`` - 12 MHz
- 12 MHz ``12000000L``
- 32 Kb - 32 Kb
- 2 Kb - 2 Kb
* - ``protrinket3ftdi`` * - ``protrinket3ftdi``
- `Adafruit Pro Trinket 3V/12MHz (FTDI) - `Pro Trinket 3V/12MHz (FTDI) <http://www.adafruit.com/products/2010>`_
<http://www.adafruit.com/products/2010>`_ - ATMEGA328P
- ATmega328P ``atmega328p`` - 16 MHz
- 12 MHz ``12000000L``
- 32 Kb - 32 Kb
- 2 Kb - 2 Kb
* - ``protrinket5`` * - ``protrinket5``
- `Adafruit Pro Trinket 5V/16MHz (USB) - `Pro Trinket 5V/16MHz (USB) <http://www.adafruit.com/products/2000>`_
<http://www.adafruit.com/products/2000>`_ - ATMEGA328P
- ATmega328P ``atmega328p`` - 16 MHz
- 16 MHz ``16000000L``
- 32 Kb - 32 Kb
- 2 Kb - 2 Kb
* - ``protrinket5ftdi`` * - ``protrinket5ftdi``
- `Adafruit Pro Trinket 5V/16MHz (FTDI) - `Pro Trinket 5V/16MHz (USB) <http://www.adafruit.com/products/2000>`_
<http://www.adafruit.com/products/2000>`_ - ATMEGA328P
- ATmega328P ``atmega328p`` - 16 MHz
- 16 MHz ``16000000L``
- 32 Kb - 32 Kb
- 2 Kb - 2 Kb
More detailed information you can find here * - ``trinket3``
`Adafruits boards <https://learn.adafruit.com/category/trinket>`_. - `Adafruit Trinket 3V/8MHz <http://www.adafruit.com/products/1500>`_
- ATTINY85
- 8 MHz
- 8 Kb
- 0.5 Kb
* - ``trinket5``
- `Adafruit Trinket 5V/16MHz <http://www.adafruit.com/products/1501>`_
- ATTINY85
- 16 MHz
- 8 Kb
- 0.5 Kb
Digispark Arduino
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``LilyPadUSB``
- `LilyPad Arduino USB <http://arduino.cc/en/Main/ArduinoBoardLilyPadUSB>`_
- ATMEGA32U4
- 8 MHz
- 32 Kb
- 2.5 Kb
* - ``atmegangatmega168``
- `Arduino NG or older ATmega168 <http://arduino.cc/en/main/boards>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``atmegangatmega8``
- `Arduino NG or older ATmega8 <http://arduino.cc/en/main/boards>`_
- ATMEGA8
- 16 MHz
- 8 Kb
- 1 Kb
* - ``btatmega168``
- `Arduino BT ATmega168 <http://arduino.cc/en/main/boards>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``btatmega328``
- `Arduino BT ATmega328 <http://arduino.cc/en/main/boards>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``diecimilaatmega168``
- `Arduino Duemilanove or Diecimila ATmega168 <http://arduino.cc/en/Main/ArduinoBoardDiecimila>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``diecimilaatmega328``
- `Arduino Duemilanove or Diecimila ATmega328 <http://arduino.cc/en/Main/ArduinoBoardDiecimila>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``esplora``
- `Arduino Esplora <http://arduino.cc/en/Main/ArduinoBoardEsplora>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``ethernet``
- `Arduino Ethernet <http://arduino.cc/en/Main/ArduinoBoardEthernet>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``fio``
- `Arduino Fio <http://arduino.cc/en/Main/ArduinoBoardFio>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
* - ``leonardo``
- `Arduino Leonardo <http://arduino.cc/en/Main/arduinoBoardLeonardo>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``lilypadatmega168``
- `LilyPad Arduino ATmega168 <http://arduino.cc/en/Main/ArduinoBoardLilyPad>`_
- ATMEGA168
- 8 MHz
- 16 Kb
- 1 Kb
* - ``lilypadatmega328``
- `LilyPad Arduino ATmega328 <http://arduino.cc/en/Main/ArduinoBoardLilyPad>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
* - ``megaADK``
- `Arduino Mega ADK <http://arduino.cc/en/Main/ArduinoBoardMegaADK>`_
- ATMEGA2560
- 16 MHz
- 256 Kb
- 8 Kb
* - ``megaatmega1280``
- `Arduino Mega or Mega 2560 ATmega1280 <http://arduino.cc/en/Main/arduinoBoardMega>`_
- ATMEGA1280
- 16 MHz
- 128 Kb
- 8 Kb
* - ``megaatmega2560``
- `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) <http://arduino.cc/en/Main/arduinoBoardMega2560>`_
- ATMEGA2560
- 16 MHz
- 256 Kb
- 8 Kb
* - ``micro``
- `Arduino Micro <http://arduino.cc/en/Main/ArduinoBoardMicro>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``miniatmega168``
- `Arduino Mini ATmega168 <http://arduino.cc/en/Main/ArduinoBoardMini>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``miniatmega328``
- `Arduino Mini ATmega328 <http://arduino.cc/en/Main/ArduinoBoardMini>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``nanoatmega168``
- `Arduino Nano ATmega168 <http://arduino.cc/en/Main/ArduinoBoardNano>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``nanoatmega328``
- `Arduino Nano ATmega328 <http://arduino.cc/en/Main/ArduinoBoardNano>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``pro16MHzatmega168``
- `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) <http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATMEGA168
- 16 MHz
- 16 Kb
- 1 Kb
* - ``pro16MHzatmega328``
- `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) <http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``pro8MHzatmega168``
- `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) <http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATMEGA168
- 8 MHz
- 16 Kb
- 1 Kb
* - ``pro8MHzatmega328``
- `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) <http://arduino.cc/en/Main/ArduinoBoardProMini>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
* - ``robotControl``
- `Arduino Robot Control <http://arduino.cc/en/Main/Robot>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``robotMotor``
- `Arduino Robot Motor <http://arduino.cc/en/Main/Robot>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
* - ``uno``
- `Arduino Uno <http://arduino.cc/en/Main/ArduinoBoardUno>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``yun``
- `Arduino Yun <http://arduino.cc/en/Main/ArduinoBoardYun>`_
- ATMEGA32U4
- 16 MHz
- 32 Kb
- 2.5 Kb
BitWizard
~~~~~~~~~ ~~~~~~~~~
.. list-table:: .. list-table::
@@ -358,31 +334,58 @@ Digispark
* - Type ``board`` * - Type ``board``
- Name - Name
- Microcontroller ``board_mcu`` - Microcontroller
- Frequency ``board_f_cpu`` - Frequency
- Flash - Flash
- RAM - RAM
* - ``digispark-tiny``
- `Digispark USB Development Board <http://digistump.com/products/1>`_ * - ``raspduino``
- ATtiny85 ``attiny85`` - `Raspduino <http://www.bitwizard.nl/wiki/index.php/Raspduino>`_
- 16 MHz ``16000000L`` - ATMEGA328P
- 8 Kb - 16 MHz
- 0.5 Kb - 32 Kb
- 2 Kb
Digistump
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``digispark-pro`` * - ``digispark-pro``
- `Digispark Pro (Default 16 Mhz) <http://digistump.com/products/109>`_ - `Digispark Pro (Default 16 MHz) <http://digistump.com/products/109>`_
- ATtiny167 ``attiny167`` - ATTINY167
- 16 MHz ``16000000L`` - 16 MHz
- 16 Kb - 16 Kb
- 0.5 Kb - 0.5 Kb
* - ``digispark-pro32``
- `Digispark Pro (16 Mhz) (32 byte buffer) <http://digistump.com/products/109>`_
- ATtiny167 ``attiny167``
- 16 Mhz ``16000000L``
- 16 kb
- 0.5 Kb
More detailed information you can find here * - ``digispark-pro32``
`Digistump Development Boards <http://digistump.com/wiki/start>`_. - `Digispark Pro (16 MHz) (32 byte buffer) <http://digistump.com/products/109>`_
- ATTINY167
- 16 MHz
- 16 Kb
- 0.5 Kb
* - ``digispark-pro64``
- `Digispark Pro (16 MHz) (64 byte buffer) <http://digistump.com/products/109>`_
- ATTINY167
- 16 MHz
- 16 Kb
- 0.5 Kb
* - ``digispark-tiny``
- `Digispark (Default - 16 MHz) <http://digistump.com/products/1>`_
- ATTINY85
- 16 MHz
- 8 Kb
- 0.5 Kb
Engduino Engduino
~~~~~~~~ ~~~~~~~~
@@ -392,33 +395,32 @@ Engduino
* - Type ``board`` * - Type ``board``
- Name - Name
- Microcontroller ``board_mcu`` - Microcontroller
- Frequency ``board_f_cpu`` - Frequency
- Flash - Flash
- RAM - RAM
* - ``engduinov1`` * - ``engduinov1``
- `Engduino 1 <http://www.engduino.org>`_ - `Engduino 1 <http://www.engduino.org>`_
- ATmega32u4 ``atmega32u4`` - ATMEGA32U4
- 8 MHz ``8000000L`` - 8 MHz
- 32 Kb - 32 Kb
- 2.5 Kb - 2.5 Kb
* - ``engduinov2`` * - ``engduinov2``
- `Engduino 2 <http://www.engduino.org>`_ - `Engduino 2 <http://www.engduino.org>`_
- ATmega32u4 ``atmega32u4`` - ATMEGA32U4
- 8 MHz ``8000000L`` - 8 MHz
- 32 Kb - 32 Kb
- 2.5 Kb - 2.5 Kb
* - ``engduinov3`` * - ``engduinov3``
- `Engduino 3 <http://www.engduino.org>`_ - `Engduino 3 <http://www.engduino.org>`_
- ATmega32u4 ``atmega32u4`` - ATMEGA32U4
- 8 MHz ``8000000L`` - 8 MHz
- 32 Kb - 32 Kb
- 2.5 Kb - 2.5 Kb
More detailed information you can find here
`Engduino Site <http://www.engduino.org>`_.
Microduino Microduino
~~~~~~~~~~ ~~~~~~~~~~
@@ -427,98 +429,70 @@ Microduino
* - Type ``board`` * - Type ``board``
- Name - Name
- Microcontroller ``board_mcu`` - Microcontroller
- Frequency ``board_f_cpu`` - Frequency
- Flash - Flash
- RAM - RAM
* - ``168pa8m``
- `Microduino Core (ATmega168P, 3.3V)
<https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATmega168P ``atmega168p``
- 8 MHz ``8000000L``
- 16 Kb
- 1 Kb
* - ``168pa16m``
- `Microduino Core (ATmega168P, 5V)
<https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATmega168P ``atmega168p``
- 16 MHz ``16000000L``
- 16 Kb
- 1 Kb
* - ``328p8m``
- `Microduino Core (ATmega328P, 3.3V)
<https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATmega328P ``atmega328p``
- 8 MHz ``8000000L``
- 32 Kb
- 2 Kb
* - ``328p16m``
- `Microduino Core (ATmega328P, 5V)
<https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATmega328P ``atmega328p``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
* - ``644pa8m``
- `Microduino Core+ (ATmega644PA, 3.3V)
<https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATmega644PA ``atmega644p``
- 8 MHz ``8000000L``
- 64 Kb
- 4 Kb
* - ``644pa16m``
- `Microduino Core+ (ATmega644PA, 5V)
<https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATmega644PA ``atmega644p``
- 16 MHz ``16000000L``
- 64 Kb
- 4 Kb
* - ``1284p8m``
- `Microduino Core+ (Atmega1284P, 3.3V)
<https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- Atmega1284P ``atmega1284p``
- 8 MHz ``8000000L``
- 128 Kb
- 16 Kb
* - ``1284p16m`` * - ``1284p16m``
- `Microduino Core+ (Atmega1284P, 5V) - `Microduino Core+ (ATmega1284P@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
<https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_ - ATMEGA1284P
- Atmega1284P ``atmega1284p`` - 16 MHz
- 16 MHz ``16000000L``
- 128 Kb - 128 Kb
- 16 Kb - 16 Kb
* - ``1284p8m``
- `Microduino Core+ (ATmega1284P@8M,3.3V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATMEGA1284P
- 8 MHz
- 128 Kb
- 16 Kb
* - ``168pa16m``
- `Microduino Core (Atmega168PA@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATMEGA168P
- 16 MHz
- 16 Kb
- 1 Kb
* - ``168pa8m``
- `Microduino Core (Atmega168PA@8M,3.3V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATMEGA168P
- 8 MHz
- 16 Kb
- 1 Kb
* - ``328p16m``
- `Microduino Core (Atmega328P@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``328p8m``
- `Microduino Core (Atmega328P@8M,3.3V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core>`_
- ATMEGA328P
- 8 MHz
- 32 Kb
- 2 Kb
* - ``32u416m`` * - ``32u416m``
- `Microduino-Core USB - `Microduino Core USB (ATmega32U4@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-CoreUSB>`_
<https://www.microduino.cc/wiki/index.php?title=Microduino-CoreUSB>`_ - ATMEGA32U4
- ATmega32u4 ``atmega32u4`` - 16 MHz
- 16 MHz ``16000000L``
- 32 Kb - 32 Kb
- 2.5 Kb - 2.5 Kb
* - ``644pa16m``
- `Microduino Core+ (Atmega644PA@16M,5V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATMEGA644P
- 16 MHz
- 64 Kb
- 4 Kb
More detailed information you can find here * - ``644pa8m``
`Microduino boards <https://www.microduino.cc/wiki/index.php?title=Main_Page>`_. - `Microduino Core+ (Atmega644PA@8M,3.3V) <https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B>`_
- ATMEGA644P
- 8 MHz
Raspduino - 64 Kb
~~~~~~~~~ - 4 Kb
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller ``board_mcu``
- Frequency ``board_f_cpu``
- Flash
- RAM
* - ``raspduino``
- `Raspduino
<http://www.bitwizard.nl/wiki/index.php/Raspduino>`_
- ATmega328P ``atmega328p``
- 16 MHz ``16000000L``
- 32 Kb
- 2 Kb
More detailed information you can find here
`Wiki <http://www.bitwizard.nl/wiki/index.php/Raspduino>`_.

View File

@@ -3,10 +3,11 @@
Platform ``atmelsam`` Platform ``atmelsam``
===================== =====================
`Atmel® | SMART <http://www.atmel.com/products/microcontrollers/arm/default.aspx>`_ Atmel | SMART offers Flash- based ARM products based on the ARM
offers Flash- based ARM® products based on the ARM Cortex-®M0+, Cortex-M3 and Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB
Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich to 2MB of Flash including a rich peripheral and feature mix.
peripheral and feature mix.
http://www.atmel.com/products/microcontrollers/arm/default.aspx
.. contents:: .. contents::
@@ -17,40 +18,25 @@ Packages
:header-rows: 1 :header-rows: 1
* - Name * - Name
- Alias
- Contents - Contents
* - ``toolchain-gccarmnoneeabi``
- toolchain
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_,
`GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-bossac``
- uploader
- `BOSSA CLI <https://sourceforge.net/projects/b-o-s-s-a/>`_
* - ``framework-arduino``
-
- See below in :ref:`atmelsam_frameworks`
* - ``framework-arduinosam``
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-bossac``
- `BOSSA CLI <https://sourceforge.net/projects/b-o-s-s-a/>`_
.. warning:: .. warning::
**Linux Users:** Don't forget to install "udev" rules file **Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file). `99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
.. _atmelsam_frameworks:
Frameworks
----------
.. list-table::
:header-rows: 1
* - Type ``framework``
- Name
- Reference
* - ``arduino``
- Arduino Wiring-based Framework (SAM Core, 1.6)
- `Documentation <http://arduino.cc/en/Reference/HomePage>`_
Boards Boards
------ ------
@@ -60,45 +46,76 @@ Boards
* For more detailed ``board`` information please scroll tables below by * For more detailed ``board`` information please scroll tables below by
horizontal. horizontal.
Arduino
~~~~~~~
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
* - Type ``board`` * - Type ``board``
- Name - Name
- Microcontroller ``board_mcu`` - Microcontroller
- Frequency ``board_f_cpu`` - Frequency
- Flash - Flash
- RAM - RAM
* - ``due`` * - ``due``
- `Arduino Due (Programming Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_ - `Arduino Due (Programming Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
- at91sam3x8e ``cortex-m3`` - AT91SAM3X8E
- 84 MHz ``84000000L`` - 84 MHz
- 512 Kb
- 32 Kb
* - ``dueUSB``
- `Arduino Due (USB Native Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
- at91sam3x8e ``cortex-m3``
- 84 MHz ``84000000L``
- 512 Kb
- 32 Kb
* - ``digix``
- `Digistump DigiX <http://digistump.com/products/50>`_
- at91sam3x8e ``cortex-m3``
- 84 MHz ``84000000L``
- 512 kb
- 32 Kb
* - ``sainSmartDue``
- `SainSmart Due (Programming Port) <http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html>`_
- at91sam3x8e ``cortex-m3``
- 84 MHz ``84000000L``
- 512 Kb
- 32 Kb
* - ``sainSmartDueUSB``
- `SainSmart Due (USB Native Port) <http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html>`_
- at91sam3x8e ``cortex-m3``
- 84 MHz ``84000000L``
- 512 Kb - 512 Kb
- 32 Kb - 32 Kb
More detailed information you can find here * - ``dueUSB``
`Atmel SMART ARM-based MCUs <http://www.atmel.com/products/microcontrollers/arm/default.aspx>`_. - `Arduino Due (USB Native Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
Digistump
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``digix``
- `Digistump DigiX <http://digistump.com/products/50>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 28 Kb
SainSmart
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``sainSmartDue``
- `SainSmart Due (Programming Port) <http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
* - ``sainSmartDueUSB``
- `SainSmart Due (USB Native Port) <http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html>`_
- AT91SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb

View File

@@ -217,6 +217,8 @@ base template of ``test-builder.py``.
CPPDEFINES=["DEFINE_1", "DEFINE=2", "DEFINE_N"], CPPDEFINES=["DEFINE_1", "DEFINE=2", "DEFINE_N"],
LIBS=["additional", "libs", "here"],
UPLOADER=join("$PIOPACKAGES_DIR", "tool-bar", "uploader"), UPLOADER=join("$PIOPACKAGES_DIR", "tool-bar", "uploader"),
UPLOADCMD="$UPLOADER $SOURCES" UPLOADCMD="$UPLOADER $SOURCES"
) )
@@ -238,12 +240,10 @@ base template of ``test-builder.py``.
# The source code of "platformio-build-tool" is here # The source code of "platformio-build-tool" is here
# https://github.com/ivankravets/platformio/blob/develop/platformio/builder/tools/platformio.py # https://github.com/ivankravets/platformio/blob/develop/platformio/builder/tools/platformio.py
CORELIBS = env.ProcessGeneral()
# #
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware(CORELIBS + ["additional", "libs", "here"]) target_elf = env.BuildFirmware()
# #
# Target: Build the .bin file # Target: Build the .bin file

View File

@@ -0,0 +1,97 @@
.. _platform_freescalekinetis:
Platform ``freescalekinetis``
=============================
Freescale Kinetis Microcontrollers is family of multiple hardware- and
software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU
series. Kinetis MCUs offer exceptional low-power performance,
scalability and feature integration.
http://www.freescale.com/webapp/sps/site/homepage.jsp?code=KINETIS
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by
horizontal.
Freescale
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``frdm_k20d50m``
- `Freescale Kinetis FRDM-K20D50M <https://developer.mbed.org/platforms/FRDM-K20D50M/>`_
- MK20DX128VLH5
- 48 MHz
- 128 Kb
- 16 Kb
* - ``frdm_k22f``
- `Freescale Kinetis FRDM-K22F <https://developer.mbed.org/platforms/FRDM-K22F/>`_
- MK22FN512VLH12
- 120 MHz
- 512 Kb
- 128 Kb
* - ``frdm_k64f``
- `Freescale Kinetis FRDM-K64F <https://developer.mbed.org/platforms/FRDM-K64F/>`_
- MK64FN1M0VLL12
- 120 MHz
- 1024 Kb
- 256 Kb
* - ``frdm_kl05z``
- `Freescale Kinetis FRDM-KL05Z <https://developer.mbed.org/platforms/FRDM-KL05Z/>`_
- MKL05Z32VFM4
- 48 MHz
- 32 Kb
- 4 Kb
* - ``frdm_kl25z``
- `Freescale Kinetis FRDM-KL25Z <https://developer.mbed.org/platforms/KL25Z/>`_
- MKL25Z128VLK4
- 48 MHz
- 128 Kb
- 16 Kb
* - ``frdm_kl46z``
- `Freescale Kinetis FRDM-KL46Z <https://developer.mbed.org/platforms/FRDM-KL46Z/>`_
- MKL46Z256VLL4
- 48 MHz
- 256 Kb
- 32 Kb

View File

@@ -16,7 +16,10 @@ MCU, upload protocol or etc. Please use ``board`` option.
atmelavr atmelavr
atmelsam atmelsam
stm32 freescalekinetis
nordicnrf51
nxplpc
ststm32
teensy teensy
timsp430 timsp430
titiva titiva

View File

@@ -0,0 +1,145 @@
.. _platform_nordicnrf51:
Platform ``nordicnrf51``
========================
The Nordic nRF51 Series is a family of highly flexible,
multi-protocol, system-on-chip (SoC) devices for ultra-low power
wireless applications. nRF51 Series devices support a range of
protocol stacks including Bluetooth Smart (previously called
Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as
Gazell.
https://www.nordicsemi.com/eng/Products/nRF51-Series-SoC
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by
horizontal.
JKSoft
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``wallBotBLE``
- `JKSoft Wallbot BLE <https://developer.mbed.org/platforms/JKSoft-Wallbot-BLE/>`_
- NRF51822
- 16 MHz
- 128 Kb
- 16 Kb
Nordic
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nrf51_dk``
- `Nordic nRF51-DK <https://developer.mbed.org/platforms/Nordic-nRF51-DK/>`_
- NRF51822
- 32 MHz
- 256 Kb
- 32 Kb
* - ``nrf51_dongle``
- `Nordic nRF51-Dongle <https://developer.mbed.org/platforms/Nordic-nRF51-Dongle/>`_
- NRF51822
- 32 MHz
- 256 Kb
- 32 Kb
* - ``nrf51_mkit``
- `Nordic nRF51822-mKIT <http://developer.mbed.org/platforms/Nordic-nRF51822/>`_
- NRF51822
- 16 MHz
- 128 Kb
- 16 Kb
RedBearLab
~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``redBearLab``
- `RedBearLab nRF51822 <https://developer.mbed.org/platforms/RedBearLab-nRF51822/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
* - ``redBearLabBLENano``
- `RedBearLab BLE Nano <https://developer.mbed.org/platforms/RedBearLab-BLE-Nano/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb
Switch Science
~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``hrm1017``
- `Switch Science mbed HRM1017 <https://developer.mbed.org/platforms/mbed-HRM1017/>`_
- NRF51822
- 16 MHz
- 256 Kb
- 16 Kb

252
docs/platforms/nxplpc.rst Normal file
View File

@@ -0,0 +1,252 @@
.. _platform_nxplpc:
Platform ``nxplpc``
===================
The NXP LPC is a family of 32-bit microcontroller integrated circuits
by NXP Semiconductors. The LPC chips are grouped into related series
that are based around the same 32-bit ARM processor core, such as the
Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each
microcontroller consists of the processor core, static RAM memory,
flash memory, debugging interface, and various peripherals.
http://www.nxp.com/products/microcontrollers/
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by
horizontal.
CQ Publishing
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc11u35_501``
- `TG-LPC11U35-501 <https://developer.mbed.org/platforms/TG-LPC11U35-501/>`_
- LPC11U35
- 48 MHz
- 64 Kb
- 10 Kb
Embedded Artists
~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc11u35``
- `EA LPC11U35 QuickStart Board <https://developer.mbed.org/platforms/EA-LPC11U35/>`_
- LPC11U35
- 48 MHz
- 64 Kb
- 10 Kb
* - ``lpc4088``
- `EA LPC4088 QuickStart Board <https://developer.mbed.org/platforms/EA-LPC4088/>`_
- LPC4088
- 120 MHz
- 512 Kb
- 96 Kb
* - ``lpc4088_dm``
- `EA LPC4088 Display Module <https://developer.mbed.org/platforms/EA-LPC4088-Display-Module/>`_
- LPC4088
- 120 MHz
- 512 Kb
- 96 Kb
NGX Technologies
~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``blueboard_lpc11u24``
- `BlueBoard-LPC11U24 <https://developer.mbed.org/platforms/BlueBoard-LPC11U24/>`_
- LPC11U24
- 48 MHz
- 32 Kb
- 8 Kb
NXP
~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc11u24``
- `mbed LPC11U24 <https://developer.mbed.org/platforms/mbed-LPC11U24/>`_
- LPC11U24
- 48 MHz
- 32 Kb
- 8 Kb
* - ``lpc1549``
- `LPCXpresso1549 <https://developer.mbed.org/platforms/LPCXpresso1549/>`_
- LPC1549
- 72 MHz
- 256 Kb
- 36 Kb
* - ``lpc1768``
- `mbed LPC1768 <http://developer.mbed.org/platforms/mbed-LPC1768/>`_
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
Outrageous Circuits
~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``mbuino``
- `Outrageous Circuits mBuino <https://developer.mbed.org/platforms/Outrageous-Circuits-mBuino/>`_
- LPC11U24
- 48 MHz
- 32 Kb
- 8 Kb
SeeedStudio
~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``seeeduinoArchPro``
- `Seeeduino-Arch-Pro <https://developer.mbed.org/platforms/Seeeduino-Arch-Pro/>`_
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb
Solder Splash Labs
~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``dipcortexm0``
- `DipCortex M0 <https://developer.mbed.org/platforms/DipCortex-M0/>`_
- LPC11U24
- 50 MHz
- 32 Kb
- 8 Kb
Switch Science
~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lpc1114fn28``
- `mbed LPC1114FN28 <https://developer.mbed.org/platforms/LPC1114FN28/>`_
- LPC1114FN28
- 48 MHz
- 32 Kb
- 4 Kb
u-blox
~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``ubloxc027``
- `u-blox C027 <https://developer.mbed.org/platforms/u-blox-C027/>`_
- LPC1768
- 96 MHz
- 512 Kb
- 32 Kb

View File

@@ -1,104 +0,0 @@
.. _platform_stm32:
Platform ``stm32``
==================
`The STM32 family of 32-bit Flash MCUs <http://www.st.com/web/en/catalog/mmc/FM141/SC1169?sc=stm32>`_ based on the ARM® Cortex®-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
The unparalleled and large range of STM32 devices, based on an industry-standard core and accompanied by a vast choice of tools and software, makes this family of products the ideal choice, both for small projects and for entire platform decisions.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Alias
- Contents
* - ``toolchain-gccarmnoneeabi``
- toolchain
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_,
`GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-stlink``
- uploader
- `STLink <https://github.com/texane/stlink>`_
* - ``framework-cmsis``
-
- See below in :ref:`stm32_frameworks`
* - ``framework-spl``
-
- See below in :ref:`stm32_frameworks`
* - ``framework-opencm3``
-
- See below in :ref:`stm32_frameworks`
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
.. _stm32_frameworks:
Frameworks
----------
.. list-table::
:header-rows: 1
* - Type ``framework``
- Name
- Reference
* - ``cmsis``
- Vendor-independent hardware abstraction layer for the Cortex-M processor series
- `Documentation <http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php>`__
* - ``spl``
- Standard Peripheral Library for STM32 MCUs
- `Documentation <http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890>`__
* - ``opencm3``
- libOpenCM3 Framework
- `Documentation <http://www.libopencm3.org>`__
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by
horizontal.
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller ``board_mcu``
- Frequency ``board_f_cpu``
- Flash
- RAM
* - ``stm32ldiscovery``
- `Discovery kit for STM32L151/152 line <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF250990?sc=internet/evalboard/product/250990.jsp>`_
- STM32L152rbt6 ``cortex-m3``
- 32 MHz ``32000000L``
- 128 Kb
- 16 Kb
* - ``stm32f3discovery``
- `Discovery kit for STM32F303xx microcontrollers
<http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF254044>`_
- STM32F303vct6 ``cortex-m4``
- 72 MHz ``72000000L``
- 256 Kb
- 48 Kb
* - ``stm32f4discovery``
- `Discovery kit for STM32F407/417 lines
<http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419>`_
- STM32F407vgt6 ``cortex-m4``
- 168 Mhz ``168000000L``
- 1 Mb
- 192 Kb
More detailed information you can find here
`STM32 Discovery kits <http://www.st.com/web/en/catalog/tools/FM116/SC959/SS1532/LN1848?icmp=ln1848_pron_pr-stm32f446_dec2014&sc=stm32discovery-pr>`_.

205
docs/platforms/ststm32.rst Normal file
View File

@@ -0,0 +1,205 @@
.. _platform_ststm32:
Platform ``ststm32``
====================
The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M
processor is designed to offer new degrees of freedom to MCU users.
It offers a 32-bit product range that combines very high performance,
real-time capabilities, digital signal processing, and low-power,
low-voltage operation, while maintaining full integration and ease of
development.
http://www.st.com/web/en/catalog/mmc/FM141/SC1169?sc=stm32
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-stlink``
- `ST-Link <https://github.com/texane/stlink>`_
* - ``framework-spl``
- `Standard Peripheral Library for STM32 MCUs <http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890>`_
* - ``framework-cmsis``
- `Vendor-independent hardware abstraction layer for the Cortex-M processor series <http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php>`_
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``framework-opencm3``
- `libOpenCM3 Framework <http://www.libopencm3.org/>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by
horizontal.
ST
~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``disco_f051r8``
- `STM32F0DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF253215>`_
- STM32F051R8T6
- 48 MHz
- 64 Kb
- 8 Kb
* - ``disco_f100rb``
- `STM32VLDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF250863>`_
- STM32F100RBT6
- 24 MHz
- 128 Kb
- 8 Kb
* - ``disco_f303vc``
- `STM32F3DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044>`_
- STM32F303VCT6
- 72 MHz
- 256 Kb
- 48 Kb
* - ``disco_f334c8``
- `32F3348DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF260318>`_
- STM32F334C8T6
- 72 MHz
- 64 Kb
- 16 Kb
* - ``disco_f401vc``
- `32F401CDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098>`_
- STM32F401VCT6
- 84 MHz
- 256 Kb
- 64 Kb
* - ``disco_f407vg``
- `STM32F4DISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419>`_
- STM32F407VGT6
- 168 MHz
- 1024 Kb
- 128 Kb
* - ``disco_f429zi``
- `32F429IDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259090>`_
- STM32F429ZIT6
- 180 MHz
- 2048 Kb
- 256 Kb
* - ``disco_l152rb``
- `STM32LDISCOVERY <http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515>`_
- STM32L152RBT6
- 32 MHz
- 128 Kb
- 16 Kb
* - ``nucleo_f030r8``
- `ST Nucleo F030R8 <https://developer.mbed.org/platforms/ST-Nucleo-F030R8/>`_
- STM32F030R8T6
- 48 MHz
- 64 Kb
- 8 Kb
* - ``nucleo_f070rb``
- `ST Nucleo F070RB <https://developer.mbed.org/platforms/ST-Nucleo-F070RB/>`_
- STM32F070RBT6
- 48 MHz
- 128 Kb
- 16 Kb
* - ``nucleo_f072rb``
- `ST Nucleo F072RB <https://developer.mbed.org/platforms/ST-Nucleo-F072RB/>`_
- STM32F072RBT6
- 48 MHz
- 128 Kb
- 16 Kb
* - ``nucleo_f091rc``
- `ST Nucleo F091RC <https://developer.mbed.org/platforms/ST-Nucleo-F091RC/>`_
- STM32F091RCT6
- 48 MHz
- 256 Kb
- 32 Kb
* - ``nucleo_f103rb``
- `ST Nucleo F103RB <https://developer.mbed.org/platforms/ST-Nucleo-F103RB/>`_
- STM32F103RBT6
- 72 MHz
- 128 Kb
- 20 Kb
* - ``nucleo_f302r8``
- `ST Nucleo F302R8 <https://developer.mbed.org/platforms/ST-Nucleo-F302R8/>`_
- STM32F302R8T6
- 72 MHz
- 64 Kb
- 16 Kb
* - ``nucleo_f334r8``
- `ST Nucleo F334R8 <https://developer.mbed.org/platforms/ST-Nucleo-F334R8/>`_
- STM32F334R8T6
- 72 MHz
- 64 Kb
- 16 Kb
* - ``nucleo_f401re``
- `ST Nucleo F401RE <https://developer.mbed.org/platforms/ST-Nucleo-F401RE/>`_
- STM32F401RET6
- 84 MHz
- 512 Kb
- 96 Kb
* - ``nucleo_f411re``
- `ST Nucleo F411RE <https://developer.mbed.org/platforms/ST-Nucleo-F411RE/>`_
- STM32F411RET6
- 100 MHz
- 512 Kb
- 128 Kb
* - ``nucleo_l053r8``
- `ST Nucleo L053R8 <https://developer.mbed.org/platforms/ST-Nucleo-L053R8/>`_
- STM32L053R8T6
- 48 MHz
- 64 Kb
- 8 Kb
* - ``nucleo_l152re``
- `ST Nucleo L152RE <https://developer.mbed.org/platforms/ST-Nucleo-L152RE/>`_
- STM32L152RET6
- 32 MHz
- 512 Kb
- 80 Kb

View File

@@ -3,7 +3,13 @@
Platform ``teensy`` Platform ``teensy``
=================== ===================
`Teensy <https://www.pjrc.com/teensy/>`_ is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port. Teensy is a complete USB-based microcontroller development system, in
a very small footprint, capable of implementing many types of projects.
All programming is done via the USB port. No special programmer is
needed, only a standard "Mini-B" USB cable and a PC or Macintosh with
a USB port.
https://www.pjrc.com/teensy
.. contents:: .. contents::
@@ -14,46 +20,28 @@ Packages
:header-rows: 1 :header-rows: 1
* - Name * - Name
- Alias
- Contents - Contents
* - ``toolchain-gccarmnoneeabi``
- toolchain
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_,
`GDB <http://www.gnu.org/software/gdb/>`_
* - ``toolchain-atmelavr``
- toolchain
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_,
`GDB <http://www.gnu.org/software/gdb/>`_,
`AVaRICE <http://avarice.sourceforge.net>`_,
`SimulAVR <http://www.nongnu.org/simulavr/>`_
* - ``tool-teensy``
- uploader
- `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_
* - ``framework-arduinoteensy``
-
- See below in :ref:`teensy_frameworks`
* - ``toolchain-atmelavr``
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``framework-arduinoteensy``
- `Arduino Wiring-based Framework <http://arduino.cc/en/Reference/HomePage>`_
* - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-teensy``
- `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_
.. warning:: .. warning::
**Linux Users:** Don't forget to install "udev" rules file **Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file). `99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
.. _teensy_frameworks:
Frameworks
----------
.. list-table::
:header-rows: 1
* - Type ``framework``
- Name
- Reference
* - ``arduino``
- Arduino Wiring-based Framework
- `Documentation <http://arduino.cc/en/Reference/HomePage>`_
Boards Boards
------ ------
@@ -63,39 +51,43 @@ Boards
* For more detailed ``board`` information please scroll tables below by * For more detailed ``board`` information please scroll tables below by
horizontal. horizontal.
Teensy
~~~~~~
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
* - Type ``board`` * - Type ``board``
- Name - Name
- Microcontroller ``board_mcu`` - Microcontroller
- Frequency ``board_f_cpu`` - Frequency
- Flash - Flash
- RAM - RAM
* - ``teensy20`` * - ``teensy20``
- `Teensy 2.0 <https://www.pjrc.com/store/teensy.html>`_ - `Teensy 2.0 <https://www.pjrc.com/store/teensy.html>`_
- ATmega32u4 ``atmega32u4`` - ATMEGA32U4
- 16 MHz ``16000000L`` - 16 MHz
- 32 Kb - 32 Kb
- 2.5 Kb - 2.5 Kb
* - ``teensy20pp`` * - ``teensy20pp``
- `Teensy++ 2.0 <https://www.pjrc.com/store/teensypp.html>`_ - `Teensy++ 2.0 <https://www.pjrc.com/store/teensypp.html>`_
- AT90USB1289 ``at90usb1286`` - AT90USB1286
- 16 MHz ``16000000L`` - 16 MHz
- 128 Kb - 128 Kb
- 8 Kb - 8 Kb
* - ``teensy30`` * - ``teensy30``
- `Teensy 3.0 <https://www.pjrc.com/store/teensy3.html>`_ - `Teensy 3.0 <https://www.pjrc.com/store/teensy3.html>`_
- MK20DX128 ``cortex-m4`` - MK20DX128
- 48 Mhz ``48000000L`` - 48 MHz
- 128 kb - 128 Kb
- 16 Kb - 16 Kb
* - ``teensy31`` * - ``teensy31``
- `Teensy 3.1 <https://www.pjrc.com/store/teensy31.html>`_ - `Teensy 3.1 <https://www.pjrc.com/store/teensy31.html>`_
- MK20DX256 ``cortex-m4`` - MK20DX256
- 72 Mhz ``72000000L`` - 72 MHz
- 256 kb - 256 Kb
- 64 Kb - 64 Kb
More detailed information you can find here
`Teensy USB Development Boards <https://www.pjrc.com/teensy/>`_.

View File

@@ -3,10 +3,12 @@
Platform ``timsp430`` Platform ``timsp430``
===================== =====================
`MSP430 microcontrollers (MCUs) from Texas Instruments (TI) <http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/overview.page>`_ MSP430 microcontrollers (MCUs) from Texas Instruments (TI)
are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. are 16-bit, RISC-based, mixed-signal processors designed for ultra-low
These MCUs offer the lowest power consumption and the perfect mix of integrated power. These MCUs offer the lowest power consumption and the perfect
peripherals for thousands of applications. mix of integrated peripherals for thousands of applications.
http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/overview.page
.. contents:: .. contents::
@@ -17,40 +19,22 @@ Packages
:header-rows: 1 :header-rows: 1
* - Name * - Name
- Alias
- Contents - Contents
* - ``toolchain-timsp430``
- toolchain
- `msp-gcc <http://sourceforge.net/projects/mspgcc/>`_,
`GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-mspdebug``
- uploader
- `MSPDebug <http://mspdebug.sourceforge.net>`_
* - ``framework-energiamsp430``
-
- See below in :ref:`timsp430_frameworks`
* - ``toolchain-timsp430``
- `msp-gcc <http://sourceforge.net/projects/mspgcc/>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-mspdebug``
- `MSPDebug <http://mspdebug.sourceforge.net/>`_
* - ``framework-energiamsp430``
- `Energia Wiring-based Framework (MSP430 Core) <http://energia.nu/reference/>`_
.. warning:: .. warning::
**Linux Users:** Don't forget to install "udev" rules file **Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file). `99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
.. _timsp430_frameworks:
Frameworks
----------
.. list-table::
:header-rows: 1
* - Type ``framework``
- Name
- Reference
* - ``energia``
- Energia Wiring-based Framework (MSP430 Core)
- `Documentation <http://energia.nu/reference/>`_
Boards Boards
------ ------
@@ -60,61 +44,64 @@ Boards
* For more detailed ``board`` information please scroll tables below by * For more detailed ``board`` information please scroll tables below by
horizontal. horizontal.
TI
~~
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
* - Type ``board`` * - Type ``board``
- Name - Name
- Microcontroller ``board_mcu`` - Microcontroller
- Frequency ``board_f_cpu`` - Frequency
- Flash - Flash
- RAM - RAM
* - ``lpmsp430g2231``
- `MSP430G2231 LaunchPad <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2231 ``msp430g2231``
- 16 MHz ``16000000L``
- 2 Kb
- 128 B
* - ``lpmsp430g2452``
- `MSP430G2452 LaunchPad <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2452 ``msp430g2452``
- 16 MHz ``16000000L``
- 8 Kb
- 256 B
* - ``lpmsp430g2553``
- `MSP430G2553 LaunchPad <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2553 ``msp430g2553``
- 16 MHz ``16000000L``
- 16 Kb
- 512 B
* - ``lpmsp430f5529`` * - ``lpmsp430f5529``
- `MSP430F5529 LaunchPad (16 Mhz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html>`_ - `LaunchPad w/ msp430f5529 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html>`_
- MSP430F5529 ``msp430f5529`` - MSP430F5529
- 16 MHz ``16000000L`` - 16 MHz
- 128 Kb - 128 Kb
- 8 KB - 1 Kb
* - ``lpmsp430f5529_25`` * - ``lpmsp430f5529_25``
- `MSP430F5529 LaunchPad (25 Mhz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html>`_ - `LaunchPad w/ msp430f5529 (25MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html>`_
- MSP430F5529 ``msp430f5529`` - MSP430F5529
- 25 MHz ``25000000L`` - 25 MHz
- 128 Kb - 128 Kb
- 8 KB - 1 Kb
* - ``lpmsp430fr5739`` * - ``lpmsp430fr5739``
- `MSP430FR5739 Experimenter Board <http://www.ti.com/tool/msp-exp430fr5739>`_ - `FraunchPad w/ msp430fr5739 <http://www.ti.com/tool/msp-exp430fr5739>`_
- MSP430FR5739 ``msp430fr5739`` - MSP430FR5739
- 16 MHz ``16000000L`` - 16 MHz
- 16 Kb - 16 Kb
- 1 KB - 1 Kb
* - ``lpmsp430fr5969`` * - ``lpmsp430fr5969``
- `MSP430FR5969 LaunchPad <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430fr5969.html>`_ - `LaunchPad w/ msp430fr5969 <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430fr5969.html>`_
- MSP430FR5969 ``msp430fr5969`` - MSP430FR5969
- 16 MHz ``16000000L`` - 8 MHz
- 64 Kb - 64 Kb
- 2 KB - 1 Kb
More detailed information you can find here
`MSP430 LaunchPads <http://www.ti.com/ww/en/launchpad/launchpads-msp430.html>`_.
* - ``lpmsp430g2231``
- `LaunchPad w/ msp430g2231 (1 MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2231
- 1 MHz
- 2 Kb
- 0.125 Kb
* - ``lpmsp430g2452``
- `LaunchPad w/ msp430g2452 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2452
- 16 MHz
- 8 Kb
- 0.25 Kb
* - ``lpmsp430g2553``
- `LaunchPad w/ msp430g2553 (16MHz) <http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html>`_
- MSP430G2553
- 16 MHz
- 16 Kb
- 0.5 Kb

View File

@@ -3,12 +3,13 @@
Platform ``titiva`` Platform ``titiva``
=================== ===================
`Texas Instruments TM4C12x MCUs <http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/c2000_performance/control_automation/tm4c12x/overview.page>`_ Texas Instruments TM4C12x MCUs offer the industrys most popular
offer the industrys most popular ARM® ARM Cortex-M4 core with scalable memory and package options, unparalleled
Cortex®-M4 core with scalable memory and package options, unparalleled
connectivity peripherals, advanced application functions, industry-leading connectivity peripherals, advanced application functions, industry-leading
analog integration, and extensive software solutions. analog integration, and extensive software solutions.
http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/c2000_performance/control_automation/tm4c12x/overview.page
.. contents:: .. contents::
Packages Packages
@@ -18,45 +19,28 @@ Packages
:header-rows: 1 :header-rows: 1
* - Name * - Name
- Alias
- Contents - Contents
* - ``ldscripts``
- `Linker Scripts <https://sourceware.org/binutils/docs/ld/Scripts.html>`_
* - ``toolchain-gccarmnoneeabi`` * - ``toolchain-gccarmnoneeabi``
- toolchain - `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded/>`_,
`GDB <http://www.gnu.org/software/gdb/>`_
* - ``tool-lm4flash`` * - ``tool-lm4flash``
- uploader
- `Flash Programmer <http://www.ti.com/tool/lmflashprogrammer>`_ - `Flash Programmer <http://www.ti.com/tool/lmflashprogrammer>`_
* - ``framework-energiativa``
-
- See below in :ref:`titiva_frameworks`
* - ``framework-opencm3`` * - ``framework-opencm3``
- - `libOpenCM3 Framework <http://www.libopencm3.org/>`_
- See below in :ref:`titiva_frameworks`
* - ``framework-energiativa``
- `Energia Wiring-based Framework (LM4F Core) <http://energia.nu/reference/>`_
.. warning:: .. warning::
**Linux Users:** Don't forget to install "udev" rules file **Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file). `99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
.. _titiva_frameworks:
Frameworks
----------
.. list-table::
:header-rows: 1
* - Type ``framework``
- Name
- Reference
* - ``energia``
- Energia Wiring-based Framework (LM4F Core)
- `Documentation <http://energia.nu/reference/>`__
* - ``opencm3``
- libOpenCM3 Framework
- `Documentation <http://www.libopencm3.org>`__
Boards Boards
------ ------
@@ -66,35 +50,36 @@ Boards
* For more detailed ``board`` information please scroll tables below by * For more detailed ``board`` information please scroll tables below by
horizontal. horizontal.
TI
~~
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
* - Type ``board`` * - Type ``board``
- Name - Name
- Microcontroller ``board_mcu`` - Microcontroller
- Frequency ``board_f_cpu`` - Frequency
- Flash - Flash
- RAM - RAM
* - ``lplm4f120h5qr``
- `Stellaris LM4F120 LaunchPad <http://www.ti.com/tool/ek-lm4f120xl>`_
- LM4F120H5QR ``cortex-m4``
- 80 MHz ``80000000L``
- 256 Kb
- 32 Kb
* - ``lptm4c1230c3pm``
- `Tiva C Series TM4C123G LaunchPad
<http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c123gxl.html>`_
- TM4C123GH6PM ``cortex-m4``
- 80 MHz ``80000000L``
- 256 Kb
- 32 Kb
* - ``lptm4c1294ncpdt``
- `Tiva C Series TM4C1294 Connected LaunchPad
<http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c1294xl.html>`_
- TM4C1294NCPDT ``cortex-m4``
- 120 Mhz ``120000000L``
- 1 Mb
- 256 Kb
More detailed information you can find here * - ``lplm4f120h5qr``
`TIVA C Series LaunchPads <http://www.ti.com/ww/en/launchpad/launchpads-connected.html>`_. - `LaunchPad (Stellaris) w/ lm4f120 (80MHz) <http://www.ti.com/tool/ek-lm4f120xl>`_
- LPLM4F120H5QR
- 80 MHz
- 256 Kb
- 32 Kb
* - ``lptm4c1230c3pm``
- `LaunchPad (Tiva C) w/ tm4c123 (80MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c123gxl.html>`_
- LPTM4C1230C3PM
- 80 MHz
- 256 Kb
- 32 Kb
* - ``lptm4c1294ncpdt``
- `LaunchPad (Tiva C) w/ tm4c129 (120MHz) <http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c1294xl.html>`_
- LPTM4C1294NCPDT
- 120 MHz
- 1024 Kb
- 256 Kb

View File

@@ -0,0 +1,21 @@
How to buid PlatformIO based project
====================================
1. `Install PlatformIO <http://docs.platformio.org/en/latest/installation.html>`_
2. Download `source code with examples <https://github.com/ivankravets/platformio/archive/develop.zip>`_
3. Extract ZIP archive
4. Run these commands:
.. code-block:: bash
# Change directory to example
> cd platformio-develop/examples/mbed/mbed-blink
# Process example project
> platformio run
# Upload firmware
> platformio run --target upload
# Clean build files
> platformio run --target clean

View File

@@ -0,0 +1,43 @@
#
# Project Configuration File
#
# A detailed documentation with the EXAMPLES is located here:
# http://docs.platformio.org/en/latest/projectconf.html
#
# A sign `#` at the beginning of the line indicates a comment
# Comment lines are ignored.
# Simple and base environment
# [env:mybaseenv]
# platform = %INSTALLED_PLATFORM_NAME_HERE%
# framework =
# board =
#
# Automatic targets - enable auto-uploading
# targets = upload
# NXP LPC Platform
[env:lpc1768]
platform = nxplpc
framework = mbed
board = lpc1768
# Nordic nRF51 Platform
[env:nrf51_mkit]
platform = nordicnrf51
framework = mbed
board = nrf51_mkit
# Freescale FRDM Platform
[env:frdm_k64f]
platform = freescalekinetis
framework = mbed
board = frdm_k64f
# ST STM32 Platform
[env:nucleo_f401re]
platform = ststm32
framework = mbed
board = nucleo_f401re

View File

@@ -0,0 +1,12 @@
#include "mbed.h"
DigitalOut myled(LED1);
int main() {
while(1) {
myled = 1;
wait(1);
myled = 0;
wait(1);
}
}

View File

@@ -17,17 +17,17 @@
# Automatic targets - enable auto-uploading # Automatic targets - enable auto-uploading
# targets = upload # targets = upload
[env:stm32f4discovery] [env:disco_f407vg]
platform = stm32 platform = ststm32
framework = cmsis framework = cmsis
board = stm32f4discovery board = disco_f407vg
[env:stm32ldiscovery] [env:disco_l152rb]
platform = stm32 platform = ststm32
framework = cmsis framework = cmsis
board = stm32ldiscovery board = disco_l152rb
[env:stm32f3discovery] [env:disco_f303vc]
platform = stm32 platform = ststm32
framework = cmsis framework = cmsis
board = stm32f3discovery board = disco_f303vc

View File

@@ -17,17 +17,17 @@
# Automatic targets - enable auto-uploading # Automatic targets - enable auto-uploading
# targets = upload # targets = upload
[env:stm32f4discovery] [env:disco_f407vg]
platform = stm32 platform = ststm32
framework = opencm3 framework = opencm3
board = stm32f4discovery board = disco_f407vg
[env:stm32ldiscovery] [env:disco_l152rb]
platform = stm32 platform = ststm32
framework = opencm3 framework = opencm3
board = stm32ldiscovery board = disco_l152rb
[env:stm32f3discovery] [env:disco_f303vc]
platform = stm32 platform = ststm32
framework = opencm3 framework = opencm3
board = stm32f3discovery board = disco_f303vc

View File

@@ -17,17 +17,17 @@
# Automatic targets - enable auto-uploading # Automatic targets - enable auto-uploading
# targets = upload # targets = upload
[env:stm32f4discovery] [env:disco_f407vg]
platform = stm32 platform = ststm32
framework = cmsis,spl framework = cmsis,spl
board = stm32f4discovery board = disco_f407vg
[env:stm32ldiscovery] [env:disco_l152rb]
platform = stm32 platform = ststm32
framework = cmsis,spl framework = cmsis,spl
board = stm32ldiscovery board = disco_l152rb
[env:stm32f3discovery] [env:disco_f303vc]
platform = stm32 platform = ststm32
framework = cmsis,spl framework = cmsis,spl
board = stm32f3discovery board = disco_f303vc

View File

@@ -10,7 +10,7 @@
"variant": "flora", "variant": "flora",
"vid": "0x239A" "vid": "0x239A"
}, },
"framework": "arduino", "frameworks": "arduino",
"name": "Adafruit Flora", "name": "Adafruit Flora",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -22,7 +22,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": false "wait_for_upload_port": false
} },
"url": "http://www.adafruit.com/product/659",
"vendor": "Adafruit"
}, },
"trinket3": { "trinket3": {
@@ -33,14 +35,16 @@
"mcu": "attiny85", "mcu": "attiny85",
"variant": "tiny8" "variant": "tiny8"
}, },
"framework": "arduino", "frameworks": "arduino",
"name": "Adafruit Trinket 8MHz", "name": "Adafruit Trinket 3V/8MHz",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
"maximum_ram_size": 512, "maximum_ram_size": 512,
"maximum_size": 8192, "maximum_size": 8192,
"protocol": "usbtiny" "protocol": "usbtiny"
} },
"url": "http://www.adafruit.com/products/1500",
"vendor": "Adafruit"
}, },
"trinket5": { "trinket5": {
@@ -51,14 +55,16 @@
"mcu": "attiny85", "mcu": "attiny85",
"variant": "tiny8" "variant": "tiny8"
}, },
"framework": "arduino", "frameworks": "arduino",
"name": "Adafruit Trinket 16MHz", "name": "Adafruit Trinket 5V/16MHz",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
"maximum_ram_size": 512, "maximum_ram_size": 512,
"maximum_size": 8192, "maximum_size": 8192,
"protocol": "usbtiny" "protocol": "usbtiny"
} },
"url": "http://www.adafruit.com/products/1501",
"vendor": "Adafruit"
}, },
"protrinket3": { "protrinket3": {
@@ -69,14 +75,16 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": "arduino",
"name": "Pro Trinket 3V/12MHz (USB)", "name": "Pro Trinket 3V/12MHz (USB)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
"maximum_ram_size": 2048, "maximum_ram_size": 2048,
"maximum_size": 28672, "maximum_size": 28672,
"protocol": "usbtiny" "protocol": "usbtiny"
} },
"url": "http://www.adafruit.com/products/2010",
"vendor": "Adafruit"
}, },
"protrinket5": { "protrinket5": {
@@ -87,14 +95,16 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": "arduino",
"name": "Pro Trinket 5V/16MHz (USB)", "name": "Pro Trinket 5V/16MHz (USB)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
"maximum_ram_size": 2048, "maximum_ram_size": 2048,
"maximum_size": 28672, "maximum_size": 28672,
"protocol": "usbtiny" "protocol": "usbtiny"
} },
"url": "http://www.adafruit.com/products/2000",
"vendor": "Adafruit"
}, },
"protrinket3ftdi": { "protrinket3ftdi": {
"build": { "build": {
@@ -104,7 +114,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": "arduino",
"name": "Pro Trinket 3V/12MHz (FTDI)", "name": "Pro Trinket 3V/12MHz (FTDI)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -113,7 +123,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "http://www.adafruit.com/products/2010",
"vendor": "Adafruit"
}, },
"protrinket5ftdi": { "protrinket5ftdi": {
"build": { "build": {
@@ -123,7 +135,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": "arduino",
"name": "Pro Trinket 5V/16MHz (USB)", "name": "Pro Trinket 5V/16MHz (USB)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -132,6 +144,8 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "http://www.adafruit.com/products/2000",
"vendor": "Adafruit"
} }
} }

View File

@@ -10,7 +10,7 @@
"variant": "leonardo", "variant": "leonardo",
"vid": "0x1B4F" "vid": "0x1B4F"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "LilyPad Arduino USB", "name": "LilyPad Arduino USB",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -22,7 +22,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardLilyPadUSB",
"vendor": "Arduino"
}, },
"atmegangatmega168": { "atmegangatmega168": {
"build": { "build": {
@@ -32,7 +34,7 @@
"mcu": "atmega168", "mcu": "atmega168",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino NG or older ATmega168", "name": "Arduino NG or older ATmega168",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -41,7 +43,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/main/boards",
"vendor": "Arduino"
}, },
"atmegangatmega8": { "atmegangatmega8": {
"build": { "build": {
@@ -51,7 +55,7 @@
"mcu": "atmega8", "mcu": "atmega8",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino NG or older ATmega8", "name": "Arduino NG or older ATmega8",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -60,7 +64,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/main/boards",
"vendor": "Arduino"
}, },
"btatmega168": { "btatmega168": {
"build": { "build": {
@@ -70,7 +76,7 @@
"mcu": "atmega168", "mcu": "atmega168",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino BT ATmega168", "name": "Arduino BT ATmega168",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -80,7 +86,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/main/boards",
"vendor": "Arduino"
}, },
"btatmega328": { "btatmega328": {
"build": { "build": {
@@ -90,7 +98,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino BT ATmega328", "name": "Arduino BT ATmega328",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -100,7 +108,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/main/boards",
"vendor": "Arduino"
}, },
"diecimilaatmega168": { "diecimilaatmega168": {
"build": { "build": {
@@ -110,7 +120,7 @@
"mcu": "atmega168", "mcu": "atmega168",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Duemilanove or Diecimila ATmega168", "name": "Arduino Duemilanove or Diecimila ATmega168",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -119,7 +129,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardDiecimila",
"vendor": "Arduino"
}, },
"diecimilaatmega328": { "diecimilaatmega328": {
"build": { "build": {
@@ -129,7 +141,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Duemilanove or Diecimila ATmega328", "name": "Arduino Duemilanove or Diecimila ATmega328",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -138,7 +150,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardDiecimila",
"vendor": "Arduino"
}, },
"esplora": { "esplora": {
"build": { "build": {
@@ -151,7 +165,7 @@
"variant": "leonardo", "variant": "leonardo",
"vid": "0x2341" "vid": "0x2341"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Esplora", "name": "Arduino Esplora",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -163,7 +177,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardEsplora",
"vendor": "Arduino"
}, },
"ethernet": { "ethernet": {
"build": { "build": {
@@ -173,7 +189,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "ethernet" "variant": "ethernet"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Ethernet", "name": "Arduino Ethernet",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -182,7 +198,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardEthernet",
"vendor": "Arduino"
}, },
"fio": { "fio": {
"build": { "build": {
@@ -192,7 +210,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Fio", "name": "Arduino Fio",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -201,7 +219,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardFio",
"vendor": "Arduino"
}, },
"leonardo": { "leonardo": {
"build": { "build": {
@@ -214,7 +234,7 @@
"variant": "leonardo", "variant": "leonardo",
"vid": "0x2341" "vid": "0x2341"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Leonardo", "name": "Arduino Leonardo",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -226,7 +246,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/arduinoBoardLeonardo",
"vendor": "Arduino"
}, },
"lilypadatmega168": { "lilypadatmega168": {
"build": { "build": {
@@ -236,7 +258,7 @@
"mcu": "atmega168", "mcu": "atmega168",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "LilyPad Arduino ATmega168", "name": "LilyPad Arduino ATmega168",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -245,7 +267,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardLilyPad",
"vendor": "Arduino"
}, },
"lilypadatmega328": { "lilypadatmega328": {
"build": { "build": {
@@ -255,7 +279,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "LilyPad Arduino ATmega328", "name": "LilyPad Arduino ATmega328",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -264,7 +288,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardLilyPad",
"vendor": "Arduino"
}, },
"megaADK": { "megaADK": {
"build": { "build": {
@@ -274,7 +300,7 @@
"mcu": "atmega2560", "mcu": "atmega2560",
"variant": "mega" "variant": "mega"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Mega ADK", "name": "Arduino Mega ADK",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -283,7 +309,9 @@
"protocol": "wiring", "protocol": "wiring",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardMegaADK",
"vendor": "Arduino"
}, },
"megaatmega1280": { "megaatmega1280": {
"build": { "build": {
@@ -293,7 +321,7 @@
"mcu": "atmega1280", "mcu": "atmega1280",
"variant": "mega" "variant": "mega"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Mega or Mega 2560 ATmega1280", "name": "Arduino Mega or Mega 2560 ATmega1280",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -302,7 +330,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "http://arduino.cc/en/Main/arduinoBoardMega",
"vendor": "Arduino"
}, },
"megaatmega2560": { "megaatmega2560": {
"build": { "build": {
@@ -312,7 +342,7 @@
"mcu": "atmega2560", "mcu": "atmega2560",
"variant": "mega" "variant": "mega"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)", "name": "Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -321,7 +351,9 @@
"protocol": "wiring", "protocol": "wiring",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "http://arduino.cc/en/Main/arduinoBoardMega2560",
"vendor": "Arduino"
}, },
"micro": { "micro": {
"build": { "build": {
@@ -334,7 +366,7 @@
"variant": "micro", "variant": "micro",
"vid": "0x2341" "vid": "0x2341"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Micro", "name": "Arduino Micro",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -346,7 +378,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardMicro",
"vendor": "Arduino"
}, },
"miniatmega168": { "miniatmega168": {
"build": { "build": {
@@ -356,7 +390,7 @@
"mcu": "atmega168", "mcu": "atmega168",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Mini ATmega168", "name": "Arduino Mini ATmega168",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -365,7 +399,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardMini",
"vendor": "Arduino"
}, },
"miniatmega328": { "miniatmega328": {
"build": { "build": {
@@ -375,7 +411,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Mini ATmega328", "name": "Arduino Mini ATmega328",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -384,7 +420,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardMini",
"vendor": "Arduino"
}, },
"nanoatmega168": { "nanoatmega168": {
"build": { "build": {
@@ -394,7 +432,7 @@
"mcu": "atmega168", "mcu": "atmega168",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Nano ATmega168", "name": "Arduino Nano ATmega168",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -403,7 +441,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardNano",
"vendor": "Arduino"
}, },
"nanoatmega328": { "nanoatmega328": {
"build": { "build": {
@@ -413,7 +453,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Nano ATmega328", "name": "Arduino Nano ATmega328",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -422,7 +462,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardNano",
"vendor": "Arduino"
}, },
"pro16MHzatmega168": { "pro16MHzatmega168": {
"build": { "build": {
@@ -432,7 +474,7 @@
"mcu": "atmega168", "mcu": "atmega168",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz)", "name": "Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -441,7 +483,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardProMini",
"vendor": "Arduino"
}, },
"pro16MHzatmega328": { "pro16MHzatmega328": {
"build": { "build": {
@@ -451,7 +495,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)", "name": "Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -460,7 +504,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardProMini",
"vendor": "Arduino"
}, },
"pro8MHzatmega168": { "pro8MHzatmega168": {
"build": { "build": {
@@ -470,7 +516,7 @@
"mcu": "atmega168", "mcu": "atmega168",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz)", "name": "Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -479,7 +525,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 19200 "speed": 19200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardProMini",
"vendor": "Arduino"
}, },
"pro8MHzatmega328": { "pro8MHzatmega328": {
"build": { "build": {
@@ -489,7 +537,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "eightanaloginputs" "variant": "eightanaloginputs"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz)", "name": "Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -498,7 +546,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardProMini",
"vendor": "Arduino"
}, },
"robotControl": { "robotControl": {
"build": { "build": {
@@ -511,7 +561,7 @@
"variant": "robot_control", "variant": "robot_control",
"vid": "0x2341" "vid": "0x2341"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Robot Control", "name": "Arduino Robot Control",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -523,7 +573,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/Robot",
"vendor": "Arduino"
}, },
"robotMotor": { "robotMotor": {
"build": { "build": {
@@ -536,7 +588,7 @@
"variant": "robot_motor", "variant": "robot_motor",
"vid": "0x2341" "vid": "0x2341"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Robot Motor", "name": "Arduino Robot Motor",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -548,7 +600,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/Robot",
"vendor": "Arduino"
}, },
"uno": { "uno": {
"build": { "build": {
@@ -558,7 +612,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Uno", "name": "Arduino Uno",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -567,7 +621,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardUno",
"vendor": "Arduino"
}, },
"yun": { "yun": {
"build": { "build": {
@@ -580,7 +636,7 @@
"variant": "yun", "variant": "yun",
"vid": "0x2341" "vid": "0x2341"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Yun", "name": "Arduino Yun",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -593,7 +649,9 @@
"use_1200bps_touch": true, "use_1200bps_touch": true,
"via_ssh": true, "via_ssh": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/ArduinoBoardYun",
"vendor": "Arduino"
}, },
"due": { "due": {
"build": { "build": {
@@ -608,18 +666,20 @@
"vid": "0x2341", "vid": "0x2341",
"ldscript": "sam3x8e.ld" "ldscript": "sam3x8e.ld"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Due (Programming Port)", "name": "Arduino Due (Programming Port)",
"platform": "atmelsam", "platform": "atmelsam",
"upload": { "upload": {
"disable_flushing": true, "disable_flushing": true,
"maximum_ram_size": 28672, "maximum_ram_size": 32768,
"maximum_size": 524288, "maximum_size": 524288,
"protocol": "sam-ba", "protocol": "sam-ba",
"require_upload_port" : true, "require_upload_port" : true,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/arduinoBoardDue",
"vendor": "Arduino"
}, },
"dueUSB": { "dueUSB": {
"build": { "build": {
@@ -634,17 +694,19 @@
"vid": "0x2341", "vid": "0x2341",
"ldscript": "sam3x8e.ld" "ldscript": "sam3x8e.ld"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Arduino Due (USB Native Port)", "name": "Arduino Due (USB Native Port)",
"platform": "atmelsam", "platform": "atmelsam",
"upload": { "upload": {
"disable_flushing": true, "disable_flushing": true,
"maximum_ram_size": 28672, "maximum_ram_size": 32768,
"maximum_size": 524288, "maximum_size": 524288,
"protocol": "sam-ba", "protocol": "sam-ba",
"require_upload_port" : true, "require_upload_port" : true,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://arduino.cc/en/Main/arduinoBoardDue",
"vendor": "Arduino"
} }
} }

View File

@@ -7,14 +7,16 @@
"mcu": "attiny85", "mcu": "attiny85",
"variant": "digispark_tiny" "variant": "digispark_tiny"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Digispark (Default - 16 MHz)", "name": "Digispark (Default - 16 MHz)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
"maximum_ram_size": 512, "maximum_ram_size": 512,
"maximum_size": 6012, "maximum_size": 6012,
"protocol": "digispark" "protocol": "digispark"
} },
"url": "http://digistump.com/products/1",
"vendor": "Digistump"
}, },
"digispark-pro": { "digispark-pro": {
"build": { "build": {
@@ -24,14 +26,16 @@
"mcu": "attiny167", "mcu": "attiny167",
"variant": "digispark_pro" "variant": "digispark_pro"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Digispark Pro (Default 16 MHz)", "name": "Digispark Pro (Default 16 MHz)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
"maximum_ram_size": 512, "maximum_ram_size": 512,
"maximum_size": 14844, "maximum_size": 14844,
"protocol": "digispark" "protocol": "digispark"
} },
"url": "http://digistump.com/products/109",
"vendor": "Digistump"
}, },
"digispark-pro32": { "digispark-pro32": {
"build": { "build": {
@@ -41,14 +45,16 @@
"mcu": "attiny167", "mcu": "attiny167",
"variant": "digispark_pro32" "variant": "digispark_pro32"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Digispark Pro (16 MHz) (32 byte buffer)", "name": "Digispark Pro (16 MHz) (32 byte buffer)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
"maximum_ram_size": 512, "maximum_ram_size": 512,
"maximum_size": 14844, "maximum_size": 14844,
"protocol": "digispark" "protocol": "digispark"
} },
"url": "http://digistump.com/products/109",
"vendor": "Digistump"
}, },
"digispark-pro64": { "digispark-pro64": {
"build": { "build": {
@@ -58,14 +64,16 @@
"mcu": "attiny167", "mcu": "attiny167",
"variant": "digispark_pro64" "variant": "digispark_pro64"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Digispark Pro (16 MHz) (64 byte buffer)", "name": "Digispark Pro (16 MHz) (64 byte buffer)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
"maximum_ram_size": 512, "maximum_ram_size": 512,
"maximum_size": 14844, "maximum_size": 14844,
"protocol": "digispark" "protocol": "digispark"
} },
"url": "http://digistump.com/products/109",
"vendor": "Digistump"
}, },
"digix": { "digix": {
"build": { "build": {
@@ -80,7 +88,7 @@
"variant": "digispark_digix", "variant": "digispark_digix",
"vid": "0x16D0" "vid": "0x16D0"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Digistump DigiX", "name": "Digistump DigiX",
"platform": "atmelsam", "platform": "atmelsam",
"upload": { "upload": {
@@ -91,6 +99,8 @@
"require_upload_port" : true, "require_upload_port" : true,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://digistump.com/products/50",
"vendor": "Digistump"
} }
} }

View File

@@ -10,7 +10,7 @@
"variant": "engduinov1", "variant": "engduinov1",
"vid": "0x1B4F" "vid": "0x1B4F"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Engduino 1", "name": "Engduino 1",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -22,7 +22,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://www.engduino.org",
"vendor": "Engduino"
}, },
"engduinov2": { "engduinov2": {
"build": { "build": {
@@ -35,7 +37,7 @@
"variant": "engduinov2", "variant": "engduinov2",
"vid": "0x1B4F" "vid": "0x1B4F"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Engduino 2", "name": "Engduino 2",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -47,7 +49,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://www.engduino.org",
"vendor": "Engduino"
}, },
"engduinov3": { "engduinov3": {
"build": { "build": {
@@ -60,7 +64,7 @@
"variant": "engduinov3", "variant": "engduinov3",
"vid": "0x1B4F" "vid": "0x1B4F"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Engduino 3", "name": "Engduino 3",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -72,6 +76,8 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://www.engduino.org",
"vendor": "Engduino"
} }
} }

View File

@@ -0,0 +1,99 @@
{
"frdm_kl25z": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0plus",
"mcu": "mkl25z128vlk4"
},
"frameworks": ["mbed"],
"name": "Freescale Kinetis FRDM-KL25Z",
"platform": "freescalekinetis",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 131072
},
"url": "https://developer.mbed.org/platforms/KL25Z/",
"vendor": "Freescale"
},
"frdm_kl46z": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0plus",
"mcu": "mkl46z256vll4"
},
"frameworks": ["mbed"],
"name": "Freescale Kinetis FRDM-KL46Z",
"platform": "freescalekinetis",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 262144
},
"url": "https://developer.mbed.org/platforms/FRDM-KL46Z/",
"vendor": "Freescale"
},
"frdm_k64f": {
"build": {
"f_cpu": "120000000L",
"cpu": "cortex-m4",
"mcu": "mk64fn1m0vll12"
},
"frameworks": ["mbed"],
"name": "Freescale Kinetis FRDM-K64F",
"platform": "freescalekinetis",
"upload": {
"maximum_ram_size": 262144,
"maximum_size": 1048576
},
"url": "https://developer.mbed.org/platforms/FRDM-K64F/",
"vendor": "Freescale"
},
"frdm_kl05z": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0plus",
"mcu": "mkl05z32vfm4"
},
"frameworks": ["mbed"],
"name": "Freescale Kinetis FRDM-KL05Z",
"platform": "freescalekinetis",
"upload": {
"maximum_ram_size": 4096,
"maximum_size": 32768
},
"url": "https://developer.mbed.org/platforms/FRDM-KL05Z/",
"vendor": "Freescale"
},
"frdm_k20d50m": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m4",
"mcu": "mk20dx128vlh5"
},
"frameworks": ["mbed"],
"name": "Freescale Kinetis FRDM-K20D50M",
"platform": "freescalekinetis",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 131072
},
"url": "https://developer.mbed.org/platforms/FRDM-K20D50M/",
"vendor": "Freescale"
}
,
"frdm_k22f": {
"build": {
"f_cpu": "120000000L",
"cpu": "cortex-m4",
"mcu": "mk22fn512vlh12"
},
"frameworks": ["mbed"],
"name": "Freescale Kinetis FRDM-K22F",
"platform": "freescalekinetis",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 524288
},
"url": "https://developer.mbed.org/platforms/FRDM-K22F/",
"vendor": "Freescale"
}
}

View File

@@ -7,7 +7,7 @@
"mcu": "atmega1284p", "mcu": "atmega1284p",
"variant": "plus" "variant": "plus"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core+ (ATmega1284P@16M,5V)", "name": "Microduino Core+ (ATmega1284P@16M,5V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -16,7 +16,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B",
"vendor": "Microduino"
}, },
"1284p8m": { "1284p8m": {
"build": { "build": {
@@ -26,7 +28,7 @@
"mcu": "atmega1284p", "mcu": "atmega1284p",
"variant": "plus" "variant": "plus"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core+ (ATmega1284P@8M,3.3V)", "name": "Microduino Core+ (ATmega1284P@8M,3.3V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -35,7 +37,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B",
"vendor": "Microduino"
}, },
"168pa16m": { "168pa16m": {
"build": { "build": {
@@ -45,7 +49,7 @@
"mcu": "atmega168p", "mcu": "atmega168p",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core (Atmega168PA@16M,5V)", "name": "Microduino Core (Atmega168PA@16M,5V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -54,7 +58,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core",
"vendor": "Microduino"
}, },
"168pa8m": { "168pa8m": {
"build": { "build": {
@@ -64,7 +70,7 @@
"mcu": "atmega168p", "mcu": "atmega168p",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core (Atmega168PA@8M,3.3V)", "name": "Microduino Core (Atmega168PA@8M,3.3V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -73,7 +79,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core",
"vendor": "Microduino"
}, },
"328p16m": { "328p16m": {
"build": { "build": {
@@ -83,7 +91,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core (Atmega328P@16M,5V)", "name": "Microduino Core (Atmega328P@16M,5V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -92,7 +100,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core",
"vendor": "Microduino"
}, },
"328p8m": { "328p8m": {
"build": { "build": {
@@ -102,7 +112,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core (Atmega328P@8M,3.3V)", "name": "Microduino Core (Atmega328P@8M,3.3V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -111,7 +121,9 @@
"require_upload_port" : true, "require_upload_port" : true,
"protocol": "arduino", "protocol": "arduino",
"speed": 57600 "speed": 57600
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core",
"vendor": "Microduino"
}, },
"32u416m": { "32u416m": {
"build": { "build": {
@@ -123,7 +135,7 @@
"variant": "32u4", "variant": "32u4",
"vid": "0x2341" "vid": "0x2341"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core USB (ATmega32U4@16M,5V)", "name": "Microduino Core USB (ATmega32U4@16M,5V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -135,7 +147,9 @@
"speed": 57600, "speed": 57600,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-CoreUSB",
"vendor": "Microduino"
}, },
"644pa16m": { "644pa16m": {
"build": { "build": {
@@ -145,7 +159,7 @@
"mcu": "atmega644p", "mcu": "atmega644p",
"variant": "plus" "variant": "plus"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core+ (Atmega644PA@16M,5V)", "name": "Microduino Core+ (Atmega644PA@16M,5V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -154,7 +168,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 115200 "speed": 115200
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B",
"vendor": "Microduino"
}, },
"644pa8m": { "644pa8m": {
"build": { "build": {
@@ -164,7 +180,7 @@
"mcu": "atmega644p", "mcu": "atmega644p",
"variant": "plus" "variant": "plus"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Microduino Core+ (Atmega644PA@8M,3.3V)", "name": "Microduino Core+ (Atmega644PA@8M,3.3V)",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -173,6 +189,8 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B",
"vendor": "Microduino"
} }
} }

View File

@@ -7,7 +7,7 @@
"mcu": "atmega328p", "mcu": "atmega328p",
"variant": "standard" "variant": "standard"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Raspduino", "name": "Raspduino",
"platform": "atmelavr", "platform": "atmelavr",
"upload": { "upload": {
@@ -16,7 +16,9 @@
"protocol": "arduino", "protocol": "arduino",
"require_upload_port" : true, "require_upload_port" : true,
"speed": 57600 "speed": 57600
} },
"url": "http://www.bitwizard.nl/wiki/index.php/Raspduino",
"vendor": "BitWizard"
}, },
"sainSmartDue": { "sainSmartDue": {
"build": { "build": {
@@ -31,18 +33,20 @@
"vid": "0x2341", "vid": "0x2341",
"ldscript": "sam3x8e.ld" "ldscript": "sam3x8e.ld"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "SainSmart Due (Programming Port)", "name": "SainSmart Due (Programming Port)",
"platform": "atmelsam", "platform": "atmelsam",
"upload": { "upload": {
"disable_flushing": true, "disable_flushing": true,
"maximum_ram_size": 28672, "maximum_ram_size": 32768,
"maximum_size": 524288, "maximum_size": 524288,
"protocol": "sam-ba", "protocol": "sam-ba",
"require_upload_port" : true, "require_upload_port" : true,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html",
"vendor": "SainSmart"
}, },
"sainSmartDueUSB": { "sainSmartDueUSB": {
"build": { "build": {
@@ -57,17 +61,19 @@
"vid": "0x2341", "vid": "0x2341",
"ldscript": "sam3x8e.ld" "ldscript": "sam3x8e.ld"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "SainSmart Due (USB Native Port)", "name": "SainSmart Due (USB Native Port)",
"platform": "atmelsam", "platform": "atmelsam",
"upload": { "upload": {
"disable_flushing": true, "disable_flushing": true,
"maximum_ram_size": 28672, "maximum_ram_size": 32768,
"maximum_size": 524288, "maximum_size": 524288,
"protocol": "sam-ba", "protocol": "sam-ba",
"require_upload_port" : true, "require_upload_port" : true,
"use_1200bps_touch": true, "use_1200bps_touch": true,
"wait_for_upload_port": true "wait_for_upload_port": true
} },
"url": "http://www.sainsmart.com/arduino/control-boards/sainsmart-due-atmel-sam3x8e-arm-cortex-m3-board-black.html",
"vendor": "SainSmart"
} }
} }

View File

@@ -0,0 +1,116 @@
{
"nrf51_mkit": {
"build": {
"f_cpu": "16000000L",
"cpu": "cortex-m0",
"mcu": "nrf51822"
},
"frameworks": ["mbed"],
"name": "Nordic nRF51822-mKIT",
"platform": "nordicnrf51",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 131072
},
"url": "http://developer.mbed.org/platforms/Nordic-nRF51822/",
"vendor": "Nordic"
},
"hrm1017": {
"build": {
"f_cpu": "16000000L",
"cpu": "cortex-m0",
"mcu": "nrf51822"
},
"frameworks": ["mbed"],
"name": "Switch Science mbed HRM1017",
"platform": "nordicnrf51",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 262144
},
"url": "https://developer.mbed.org/platforms/mbed-HRM1017/",
"vendor": "Switch Science"
},
"redBearLab": {
"build": {
"f_cpu": "16000000L",
"cpu": "cortex-m0",
"mcu": "nrf51822"
},
"frameworks": ["mbed"],
"name": "RedBearLab nRF51822",
"platform": "nordicnrf51",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 262144
},
"url": "https://developer.mbed.org/platforms/RedBearLab-nRF51822/",
"vendor": "RedBearLab"
},
"nrf51_dk": {
"build": {
"f_cpu": "32000000L",
"cpu": "cortex-m0",
"mcu": "nrf51822"
},
"frameworks": ["mbed"],
"name": "Nordic nRF51-DK",
"platform": "nordicnrf51",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 262144
},
"url": "https://developer.mbed.org/platforms/Nordic-nRF51-DK/",
"vendor": "Nordic"
},
"redBearLabBLENano": {
"build": {
"f_cpu": "16000000L",
"cpu": "cortex-m0",
"mcu": "nrf51822"
},
"frameworks": ["mbed"],
"name": "RedBearLab BLE Nano",
"platform": "nordicnrf51",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 262144
},
"url": "https://developer.mbed.org/platforms/RedBearLab-BLE-Nano/",
"vendor": "RedBearLab"
},
"nrf51_dongle": {
"build": {
"f_cpu": "32000000L",
"cpu": "cortex-m0",
"mcu": "nrf51822"
},
"frameworks": ["mbed"],
"name": "Nordic nRF51-Dongle",
"platform": "nordicnrf51",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 262144
},
"url": "https://developer.mbed.org/platforms/Nordic-nRF51-Dongle/",
"vendor": "Nordic"
}
,
"wallBotBLE": {
"build": {
"f_cpu": "16000000L",
"cpu": "cortex-m0",
"mcu": "nrf51822"
},
"frameworks": ["mbed"],
"name": "JKSoft Wallbot BLE",
"platform": "nordicnrf51",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 131072
},
"url": "https://developer.mbed.org/platforms/JKSoft-Wallbot-BLE/",
"vendor": "JKSoft"
}
}

View File

@@ -0,0 +1,210 @@
{
"lpc1768": {
"build": {
"f_cpu": "96000000L",
"cpu": "cortex-m3",
"mcu": "lpc1768"
},
"frameworks": ["mbed"],
"name": "mbed LPC1768",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 524288
},
"url": "http://developer.mbed.org/platforms/mbed-LPC1768/",
"vendor": "NXP"
},
"lpc11u24": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "lpc11u24"
},
"frameworks": ["mbed"],
"name": "mbed LPC11U24",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 8192,
"maximum_size": 32768
},
"url": "https://developer.mbed.org/platforms/mbed-LPC11U24/",
"vendor": "NXP"
},
"lpc4088": {
"build": {
"f_cpu": "120000000L",
"cpu": "cortex-m4",
"mcu": "lpc4088"
},
"frameworks": ["mbed"],
"name": "EA LPC4088 QuickStart Board",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 98304,
"maximum_size": 524288
},
"url": "https://developer.mbed.org/platforms/EA-LPC4088/",
"vendor": "Embedded Artists"
},
"dipcortexm0": {
"build": {
"f_cpu": "50000000L",
"cpu": "cortex-m0",
"mcu": "lpc11u24"
},
"frameworks": ["mbed"],
"name": "DipCortex M0",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 8192,
"maximum_size": 32768
},
"url": "https://developer.mbed.org/platforms/DipCortex-M0/",
"vendor": "Solder Splash Labs"
},
"blueboard_lpc11u24": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "lpc11u24"
},
"frameworks": ["mbed"],
"name": "BlueBoard-LPC11U24",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 8192,
"maximum_size": 32768
},
"url": "https://developer.mbed.org/platforms/BlueBoard-LPC11U24/",
"vendor": "NGX Technologies"
},
"seeeduinoArchPro": {
"build": {
"f_cpu": "96000000L",
"cpu": "cortex-m3",
"mcu": "lpc1768"
},
"frameworks": ["mbed"],
"name": "Seeeduino-Arch-Pro",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 524288
},
"url": "https://developer.mbed.org/platforms/Seeeduino-Arch-Pro/",
"vendor": "SeeedStudio"
},
"ubloxc027": {
"build": {
"f_cpu": "96000000L",
"cpu": "cortex-m3",
"mcu": "lpc1768"
},
"frameworks": ["mbed"],
"name": "u-blox C027",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 524288
},
"url": "https://developer.mbed.org/platforms/u-blox-C027/",
"vendor": "u-blox"
},
"lpc1114fn28": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "lpc1114fn28"
},
"frameworks": ["mbed"],
"name": "mbed LPC1114FN28",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 4096,
"maximum_size": 32768
},
"url": "https://developer.mbed.org/platforms/LPC1114FN28/",
"vendor": "Switch Science"
},
"lpc11u35": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "lpc11u35"
},
"frameworks": ["mbed"],
"name": "EA LPC11U35 QuickStart Board",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 10240,
"maximum_size": 65536
},
"url": "https://developer.mbed.org/platforms/EA-LPC11U35/",
"vendor": "Embedded Artists"
},
"lpc11u35_501": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "lpc11u35"
},
"frameworks": ["mbed"],
"name": "TG-LPC11U35-501",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 10240,
"maximum_size": 65536
},
"url": "https://developer.mbed.org/platforms/TG-LPC11U35-501/",
"vendor": "CQ Publishing"
},
"lpc1549": {
"build": {
"f_cpu": "72000000L",
"cpu": "cortex-m3",
"mcu": "lpc1549"
},
"frameworks": ["mbed"],
"name": "LPCXpresso1549",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 36864,
"maximum_size": 262144
},
"url": "https://developer.mbed.org/platforms/LPCXpresso1549/",
"vendor": "NXP"
},
"mbuino": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "lpc11u24"
},
"frameworks": ["mbed"],
"name": "Outrageous Circuits mBuino",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 8192,
"maximum_size": 32768
},
"url": "https://developer.mbed.org/platforms/Outrageous-Circuits-mBuino/",
"vendor": "Outrageous Circuits"
},
"lpc4088_dm": {
"build": {
"f_cpu": "120000000L",
"cpu": "cortex-m4",
"mcu": "lpc4088"
},
"frameworks": ["mbed"],
"name": "EA LPC4088 Display Module",
"platform": "nxplpc",
"upload": {
"maximum_ram_size": 98304,
"maximum_size": 524288
},
"url": "https://developer.mbed.org/platforms/EA-LPC4088-Display-Module/",
"vendor": "Embedded Artists"
}
}

View File

@@ -1,56 +0,0 @@
{
"stm32f4discovery": {
"build": {
"core": "stm32",
"extra_flags": "-DSTM32F40_41xxx",
"f_cpu": "168000000L",
"ldscript": "stm32f405x6.ld",
"cpu": "cortex-m4",
"mcu": "stm32f407vgt6",
"variant": "stm32f4"
},
"framework": "cmsis",
"name": "STM32F4Discovery (168 MHz) with digital accelerometer, digital microphone, audio DAC",
"platform": "stm32",
"upload": {
"maximum_ram_size": 131071,
"maximum_size": 1048575
}
},
"stm32ldiscovery": {
"build": {
"core": "stm32",
"extra_flags": "-DSTM32L1XX_MD",
"f_cpu": "32000000L",
"ldscript": "stm32l15xx6.ld",
"cpu": "cortex-m3",
"mcu": "stm32l152rbt6",
"variant": "stm32l1"
},
"framework": "cmsis",
"name": "STM32LDiscovery (32 MHz) ultra low-power development kit",
"platform": "stm32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 131072
}
},
"stm32f3discovery": {
"build": {
"core": "stm32",
"extra_flags": "-DSTM32F303xC",
"f_cpu": "72000000L",
"ldscript": "stm32f30xx.ld",
"cpu": "cortex-m4",
"mcu": "stm32f303vct6",
"variant": "stm32f3"
},
"framework": "cmsis",
"name": "STM32F3Discovery (72 MHz) with accelerometer, gyroscope and e-compass",
"platform": "stm32",
"upload": {
"maximum_ram_size": 262144,
"maximum_size": 131072
}
}
}

View File

@@ -0,0 +1,318 @@
{
"disco_f407vg": {
"build": {
"core": "stm32",
"extra_flags": "-DSTM32F40_41xxx",
"f_cpu": "168000000L",
"ldscript": "stm32f405x6.ld",
"cpu": "cortex-m4",
"mcu": "stm32f407vgt6",
"variant": "stm32f4"
},
"frameworks": ["cmsis", "spl", "opencm3", "mbed"],
"name": "STM32F4DISCOVERY",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 1048576
},
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF252419",
"vendor": "ST"
},
"disco_l152rb": {
"build": {
"core": "stm32",
"extra_flags": "-DSTM32L1XX_MD",
"f_cpu": "32000000L",
"ldscript": "stm32l15xx6.ld",
"cpu": "cortex-m3",
"mcu": "stm32l152rbt6",
"variant": "stm32l1"
},
"frameworks": ["cmsis","spl","opencm3"],
"name": "STM32LDISCOVERY",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 131072
},
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF258515",
"vendor": "ST"
},
"disco_f303vc": {
"build": {
"core": "stm32",
"extra_flags": "-DSTM32F303xC",
"f_cpu": "72000000L",
"ldscript": "stm32f30xx.ld",
"cpu": "cortex-m4",
"mcu": "stm32f303vct6",
"variant": "stm32f3"
},
"frameworks": ["cmsis", "spl", "opencm3", "mbed"],
"name": "STM32F3DISCOVERY",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 49152,
"maximum_size": 262144
},
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF254044",
"vendor": "ST"
},
"disco_f100rb": {
"build": {
"f_cpu": "24000000L",
"cpu": "cortex-m3",
"mcu": "stm32f100rbt6"
},
"frameworks": ["mbed"],
"name": "STM32VLDISCOVERY",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 8192,
"maximum_size": 131072
},
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF250863",
"vendor": "ST"
},
"disco_f051r8": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "stm32f051r8t6"
},
"frameworks": ["mbed"],
"name": "STM32F0DISCOVERY",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 8192,
"maximum_size": 65536
},
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF253215",
"vendor": "ST"
},
"disco_f334c8": {
"build": {
"f_cpu": "72000000L",
"cpu": "cortex-m4",
"mcu": "stm32f334c8t6"
},
"frameworks": ["mbed"],
"name": "32F3348DISCOVERY",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 65536
},
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF260318",
"vendor": "ST"
},
"disco_f401vc": {
"build": {
"f_cpu": "84000000L",
"cpu": "cortex-m4",
"mcu": "stm32f401vct6"
},
"frameworks": ["mbed"],
"name": "32F401CDISCOVERY",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 65536,
"maximum_size": 262144
},
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259098",
"vendor": "ST"
},
"disco_f429zi": {
"build": {
"f_cpu": "180000000L",
"cpu": "cortex-m4",
"mcu": "stm32f429zit6"
},
"frameworks": ["mbed"],
"name": "32F429IDISCOVERY",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 262144,
"maximum_size": 2097152
},
"url": "http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1848/PF259090",
"vendor": "ST"
},
"nucleo_f030r8": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "stm32f030r8t6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F030R8",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 8192,
"maximum_size": 65536
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F030R8/",
"vendor": "ST"
},
"nucleo_f070rb": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "stm32f070rbt6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F070RB",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 131072
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F070RB/",
"vendor": "ST"
},
"nucleo_f072rb": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "stm32f072rbt6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F072RB",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 131072
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F072RB/",
"vendor": "ST"
},
"nucleo_f091rc": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "stm32f091rct6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F091RC",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 32768,
"maximum_size": 262144
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F091RC/",
"vendor": "ST"
},
"nucleo_f103rb": {
"build": {
"f_cpu": "72000000L",
"cpu": "cortex-m3",
"mcu": "stm32f103rbt6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F103RB",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 20480,
"maximum_size": 131072
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F103RB/",
"vendor": "ST"
},
"nucleo_f302r8": {
"build": {
"f_cpu": "72000000L",
"cpu": "cortex-m4",
"mcu": "stm32f302r8t6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F302R8",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 65536
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F302R8/",
"vendor": "ST"
},
"nucleo_f334r8": {
"build": {
"f_cpu": "72000000L",
"cpu": "cortex-m4",
"mcu": "stm32f334r8t6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F334R8",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 16384,
"maximum_size": 65536
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F334R8/",
"vendor": "ST"
},
"nucleo_f401re": {
"build": {
"f_cpu": "84000000L",
"cpu": "cortex-m4",
"mcu": "stm32f401ret6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F401RE",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 98304,
"maximum_size": 524288
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F401RE/",
"vendor": "ST"
},
"nucleo_f411re": {
"build": {
"f_cpu": "100000000L",
"cpu": "cortex-m4",
"mcu": "stm32f411ret6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo F411RE",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 131072,
"maximum_size": 524288
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-F411RE/",
"vendor": "ST"
},
"nucleo_l053r8": {
"build": {
"f_cpu": "48000000L",
"cpu": "cortex-m0",
"mcu": "stm32l053r8t6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo L053R8",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 8192,
"maximum_size": 65536
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-L053R8/",
"vendor": "ST"
},
"nucleo_l152re": {
"build": {
"f_cpu": "32000000L",
"cpu": "cortex-m3",
"mcu": "stm32l152ret6"
},
"frameworks": ["mbed"],
"name": "ST Nucleo L152RE",
"platform": "ststm32",
"upload": {
"maximum_ram_size": 81920,
"maximum_size": 524288
},
"url": "https://developer.mbed.org/platforms/ST-Nucleo-L152RE/",
"vendor": "ST"
}
}

View File

@@ -5,13 +5,15 @@
"f_cpu": "16000000L", "f_cpu": "16000000L",
"mcu": "atmega32u4" "mcu": "atmega32u4"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Teensy 2.0", "name": "Teensy 2.0",
"platform": "teensy", "platform": "teensy",
"upload": { "upload": {
"maximum_ram_size": 2560, "maximum_ram_size": 2560,
"maximum_size": 32256 "maximum_size": 32256
} },
"url": "https://www.pjrc.com/store/teensy.html",
"vendor": "Teensy"
}, },
"teensy20pp": { "teensy20pp": {
@@ -20,13 +22,15 @@
"f_cpu": "16000000L", "f_cpu": "16000000L",
"mcu": "at90usb1286" "mcu": "at90usb1286"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Teensy++ 2.0", "name": "Teensy++ 2.0",
"platform": "teensy", "platform": "teensy",
"upload": { "upload": {
"maximum_ram_size": 8192, "maximum_ram_size": 8192,
"maximum_size": 130048 "maximum_size": 130048
} },
"url": "https://www.pjrc.com/store/teensypp.html",
"vendor": "Teensy"
}, },
"teensy30": { "teensy30": {
@@ -38,13 +42,15 @@
"mcu": "mk20dx128", "mcu": "mk20dx128",
"cpu": "cortex-m4" "cpu": "cortex-m4"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Teensy 3.0", "name": "Teensy 3.0",
"platform": "teensy", "platform": "teensy",
"upload": { "upload": {
"maximum_ram_size": 16384, "maximum_ram_size": 16384,
"maximum_size": 131072 "maximum_size": 131072
} },
"url": "https://www.pjrc.com/store/teensy3.html",
"vendor": "Teensy"
}, },
"teensy31": { "teensy31": {
@@ -56,12 +62,14 @@
"mcu": "mk20dx256", "mcu": "mk20dx256",
"cpu": "cortex-m4" "cpu": "cortex-m4"
}, },
"framework": "arduino", "frameworks": ["arduino"],
"name": "Teensy 3.1", "name": "Teensy 3.1",
"platform": "teensy", "platform": "teensy",
"upload": { "upload": {
"maximum_ram_size": 65536, "maximum_ram_size": 65536,
"maximum_size": 262144 "maximum_size": 262144
} },
"url": "https://www.pjrc.com/store/teensy31.html",
"vendor": "Teensy"
} }
} }

View File

@@ -6,14 +6,16 @@
"mcu": "msp430f5529", "mcu": "msp430f5529",
"variant": "launchpad_f5529" "variant": "launchpad_f5529"
}, },
"framework": "energia", "frameworks": ["energia"],
"name": "LaunchPad w/ msp430f5529 (16MHz)", "name": "LaunchPad w/ msp430f5529 (16MHz)",
"platform": "timsp430", "platform": "timsp430",
"upload": { "upload": {
"maximum_ram_size": 1024, "maximum_ram_size": 1024,
"maximum_size": 131072, "maximum_size": 131072,
"protocol": "tilib" "protocol": "tilib"
} },
"url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html",
"vendor": "TI"
}, },
"lpmsp430f5529_25": { "lpmsp430f5529_25": {
"build": { "build": {
@@ -22,14 +24,16 @@
"mcu": "msp430f5529", "mcu": "msp430f5529",
"variant": "launchpad_f5529" "variant": "launchpad_f5529"
}, },
"framework": "energia", "frameworks": ["energia"],
"name": "LaunchPad w/ msp430f5529 (25MHz)", "name": "LaunchPad w/ msp430f5529 (25MHz)",
"platform": "timsp430", "platform": "timsp430",
"upload": { "upload": {
"maximum_ram_size": 1024, "maximum_ram_size": 1024,
"maximum_size": 131072, "maximum_size": 131072,
"protocol": "tilib" "protocol": "tilib"
} },
"url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html",
"vendor": "TI"
}, },
"lpmsp430fr5739": { "lpmsp430fr5739": {
"build": { "build": {
@@ -38,14 +42,16 @@
"mcu": "msp430fr5739", "mcu": "msp430fr5739",
"variant": "fraunchpad" "variant": "fraunchpad"
}, },
"framework": "energia", "frameworks": ["energia"],
"name": "FraunchPad w/ msp430fr5739", "name": "FraunchPad w/ msp430fr5739",
"platform": "timsp430", "platform": "timsp430",
"upload": { "upload": {
"maximum_ram_size": 1024, "maximum_ram_size": 1024,
"maximum_size": 15872, "maximum_size": 15872,
"protocol": "rf2500" "protocol": "rf2500"
} },
"url": "http://www.ti.com/tool/msp-exp430fr5739",
"vendor": "TI"
}, },
"lpmsp430fr5969": { "lpmsp430fr5969": {
"build": { "build": {
@@ -54,14 +60,16 @@
"mcu": "msp430fr5969", "mcu": "msp430fr5969",
"variant": "launchpad_fr5969" "variant": "launchpad_fr5969"
}, },
"framework": "energia", "frameworks": ["energia"],
"name": "LaunchPad w/ msp430fr5969", "name": "LaunchPad w/ msp430fr5969",
"platform": "timsp430", "platform": "timsp430",
"upload": { "upload": {
"maximum_ram_size": 1024, "maximum_ram_size": 1024,
"maximum_size": 65536, "maximum_size": 65536,
"protocol": "tilib" "protocol": "tilib"
} },
"url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430fr5969.html",
"vendor": "TI"
}, },
"lpmsp430g2231": { "lpmsp430g2231": {
"build": { "build": {
@@ -70,14 +78,16 @@
"mcu": "msp430g2231", "mcu": "msp430g2231",
"variant": "launchpad" "variant": "launchpad"
}, },
"framework": "energia", "frameworks": ["energia"],
"name": "LaunchPad w/ msp430g2231 (1MHz)", "name": "LaunchPad w/ msp430g2231 (1 MHz)",
"platform": "timsp430", "platform": "timsp430",
"upload": { "upload": {
"maximum_ram_size": 128, "maximum_ram_size": 128,
"maximum_size": 2048, "maximum_size": 2048,
"protocol": "rf2500" "protocol": "rf2500"
} },
"url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html",
"vendor": "TI"
}, },
"lpmsp430g2452": { "lpmsp430g2452": {
"build": { "build": {
@@ -86,14 +96,16 @@
"mcu": "msp430g2452", "mcu": "msp430g2452",
"variant": "launchpad" "variant": "launchpad"
}, },
"framework": "energia", "frameworks": ["energia"],
"name": "LaunchPad w/ msp430g2452 (16MHz)", "name": "LaunchPad w/ msp430g2452 (16MHz)",
"platform": "timsp430", "platform": "timsp430",
"upload": { "upload": {
"maximum_ram_size": 256, "maximum_ram_size": 256,
"maximum_size": 8192, "maximum_size": 8192,
"protocol": "rf2500" "protocol": "rf2500"
} },
"url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html",
"vendor": "TI"
}, },
"lpmsp430g2553": { "lpmsp430g2553": {
"build": { "build": {
@@ -102,13 +114,15 @@
"mcu": "msp430g2553", "mcu": "msp430g2553",
"variant": "launchpad" "variant": "launchpad"
}, },
"framework": "energia", "frameworks": ["energia"],
"name": "LaunchPad w/ msp430g2553 (16MHz)", "name": "LaunchPad w/ msp430g2553 (16MHz)",
"platform": "timsp430", "platform": "timsp430",
"upload": { "upload": {
"maximum_ram_size": 512, "maximum_ram_size": 512,
"maximum_size": 16384, "maximum_size": 16384,
"protocol": "rf2500" "protocol": "rf2500"
} },
"url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html",
"vendor": "TI"
} }
} }

View File

@@ -8,13 +8,15 @@
"mcu": "lplm4f120h5qr", "mcu": "lplm4f120h5qr",
"variant": "stellarpad" "variant": "stellarpad"
}, },
"framework": "energia", "frameworks": ["energia", "opencm3"],
"name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)", "name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)",
"platform": "titiva", "platform": "titiva",
"upload": { "upload": {
"maximum_ram_size": 32768, "maximum_ram_size": 32768,
"maximum_size": 262144 "maximum_size": 262144
} },
"url": "http://www.ti.com/tool/ek-lm4f120xl",
"vendor": "TI"
}, },
"lptm4c1230c3pm": { "lptm4c1230c3pm": {
"build": { "build": {
@@ -25,13 +27,15 @@
"mcu": "lptm4c1230c3pm", "mcu": "lptm4c1230c3pm",
"variant": "stellarpad" "variant": "stellarpad"
}, },
"framework": "energia", "frameworks": ["energia", "opencm3"],
"name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)", "name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)",
"platform": "titiva", "platform": "titiva",
"upload": { "upload": {
"maximum_ram_size": 32768, "maximum_ram_size": 32768,
"maximum_size": 262144 "maximum_size": 262144
} },
"url": "http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c123gxl.html",
"vendor": "TI"
}, },
"lptm4c1294ncpdt": { "lptm4c1294ncpdt": {
"build": { "build": {
@@ -42,12 +46,14 @@
"mcu": "lptm4c1294ncpdt", "mcu": "lptm4c1294ncpdt",
"variant": "launchpad_129" "variant": "launchpad_129"
}, },
"framework": "energia", "frameworks": ["energia", "opencm3"],
"name": "LaunchPad (Tiva C) w/ tm4c129 (120MHz)", "name": "LaunchPad (Tiva C) w/ tm4c129 (120MHz)",
"platform": "titiva", "platform": "titiva",
"upload": { "upload": {
"maximum_ram_size": 262144, "maximum_ram_size": 262144,
"maximum_size": 1048576 "maximum_size": 1048576
} },
"url": "http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c1294xl.html",
"vendor": "TI"
} }
} }

View File

@@ -82,13 +82,11 @@ else:
UPLOADEEPCMD='"$UPLOADER" $UPLOADERFLAGS -U eeprom:w:$SOURCES:i' UPLOADEEPCMD='"$UPLOADER" $UPLOADERFLAGS -U eeprom:w:$SOURCES:i'
) )
CORELIBS = env.ProcessGeneral()
# #
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware(["m"] + CORELIBS) target_elf = env.BuildFirmware()
# #
# Target: Extract EEPROM data (from EEMEM directive) to .eep file # Target: Extract EEPROM data (from EEMEM directive) to .eep file

View File

@@ -68,13 +68,11 @@ env.Append(
] ]
) )
CORELIBS = env.ProcessGeneral()
# #
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware(["m", "gcc"] + CORELIBS) target_elf = env.BuildFirmware()
# #
# Target: Build the .bin file # Target: Build the .bin file

View File

@@ -50,16 +50,15 @@ env.Replace(
"-mcpu=${BOARD_OPTIONS['build']['cpu']}" "-mcpu=${BOARD_OPTIONS['build']['cpu']}"
], ],
LIBS=["c", "gcc", "m"],
SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES' SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES'
) )
if env.get("BOARD_OPTIONS", {}).get("build", {}).get("cpu", "")[-2:] == "m4": if env.get("BOARD_OPTIONS", {}).get("build", {}).get(
"cpu", "")[-2:] == "m4" and env.get("BOARD") != "frdm_k20d50m":
env.Append( env.Append(
ASFLAGS=[ CPPFLAGS=[
"-mfloat-abi=hard",
"-mfpu=fpv4-sp-d16"
],
CCFLAGS=[
"-mfloat-abi=hard", "-mfloat-abi=hard",
"-mfpu=fpv4-sp-d16", "-mfpu=fpv4-sp-d16",
"-fsingle-precision-constant" "-fsingle-precision-constant"

View File

@@ -47,6 +47,8 @@ env.Replace(
"-Wl,--gc-sections" "-Wl,--gc-sections"
], ],
LIBS=["m"],
SIZEPRINTCMD='"$SIZETOOL" --mcu=$BOARD_MCU -C -d $SOURCES' SIZEPRINTCMD='"$SIZETOOL" --mcu=$BOARD_MCU -C -d $SOURCES'
) )

View File

@@ -2,13 +2,17 @@
# See LICENSE for details. # See LICENSE for details.
""" """
Build script for Arduino Framework (based on Wiring). Arduino 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.
http://arduino.cc/en/Reference/HomePage
""" """
from os import listdir, walk from os import listdir, walk
from os.path import isfile, join from os.path import isfile, join
from SCons.Script import DefaultEnvironment, Return from SCons.Script import DefaultEnvironment
env = DefaultEnvironment() env = DefaultEnvironment()
@@ -146,7 +150,6 @@ if BOARD_BUILDOPTS.get("core", None) == "teensy":
# Target: Build Core Library # Target: Build Core Library
# #
libs = [] libs = []
if "variant" in BOARD_BUILDOPTS: if "variant" in BOARD_BUILDOPTS:
@@ -178,4 +181,4 @@ if env.subst("${PLATFORMFW_DIR}")[-3:] == "sam":
join("$PLATFORMFW_DIR", "system", "libsam", "source") join("$PLATFORMFW_DIR", "system", "libsam", "source")
)) ))
Return("libs") env.Append(LIBS=libs)

View File

@@ -2,12 +2,20 @@
# See LICENSE for details. # See LICENSE for details.
""" """
Build script for CMSIS Framework. The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a
vendor-independent hardware abstraction layer for the Cortex-M processor
series and specifies debugger interfaces. The CMSIS enables consistent and
simple software interfaces to the processor for interface peripherals,
real-time operating systems, and middleware. It simplifies software
re-use, reducing the learning curve for new microcontroller developers
and cutting the time-to-market for devices.
http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php
""" """
from os.path import join from os.path import join
from SCons.Script import DefaultEnvironment, Return from SCons.Script import DefaultEnvironment
env = DefaultEnvironment() env = DefaultEnvironment()
@@ -39,4 +47,4 @@ libs.append(envsafe.BuildLibrary(
join("$PLATFORMFW_DIR", "variants", "${BOARD_OPTIONS['build']['variant']}") join("$PLATFORMFW_DIR", "variants", "${BOARD_OPTIONS['build']['variant']}")
)) ))
Return("libs") env.Append(LIBS=libs)

View File

@@ -2,12 +2,18 @@
# See LICENSE for details. # See LICENSE for details.
""" """
Build script for Energia Framework (based on Wiring). Energia framework enables pretty much anyone to start easily creating
microcontroller-based projects and applications. Its easy-to-use libraries
and functions provide developers of all experience levels to start
blinking LEDs, buzzing buzzers and sensing sensors more quickly than ever
before.
http://energia.nu/reference/
""" """
from os.path import join from os.path import join
from SCons.Script import DefaultEnvironment, Return from SCons.Script import DefaultEnvironment
env = DefaultEnvironment() env = DefaultEnvironment()
@@ -52,4 +58,4 @@ libs.append(env.BuildLibrary(
join("$PLATFORMFW_DIR", "cores", "${BOARD_OPTIONS['build']['core']}") join("$PLATFORMFW_DIR", "cores", "${BOARD_OPTIONS['build']['core']}")
)) ))
Return("libs") env.Append(LIBS=libs)

View File

@@ -0,0 +1,148 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
"""
The mbed framework The mbed SDK has been designed to provide enough
hardware abstraction to be intuitive and concise, yet powerful enough to
build complex projects. It is built on the low-level ARM CMSIS APIs,
allowing you to code down to the metal if needed. In addition to RTOS,
USB and Networking libraries, a cookbook of hundreds of reusable
peripheral and module libraries have been built on top of the SDK by
the mbed Developer Community.
http://mbed.org/
"""
import xml.etree.ElementTree as ElementTree
from binascii import crc32
from os.path import join, normpath
from SCons.Script import DefaultEnvironment
env = DefaultEnvironment()
BOARD_OPTS = env.get("BOARD_OPTIONS", {}).get("build", {})
env.Replace(
PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-mbed")
)
MBED_VARIANTS = {
"stm32f3discovery": "DISCO_F303VC",
"stm32f4discovery": "DISCO_F407VG",
"stm32f429discovery": "DISCO_F429ZI",
"blueboard_lpc11u24": "LPC11U24",
"dipcortexm0": "LPC11U24",
"seeeduinoArchPro": "ARCH_PRO",
"ubloxc027": "UBLOX_C027",
"lpc1114fn28": "LPC1114",
"lpc11u35": "LPC11U35_401",
"mbuino": "LPC11U24",
"nrf51_mkit": "NRF51822",
"redBearLab": "NRF51822",
"nrf51-dt": "NRF51_DK",
"redBearLabBLENano": "NRF51822",
"wallBotBLE": "NRF51822",
"frdm_kl25z": "KL25Z",
"frdm_kl46z": "KL46Z",
"frdm_k64f": "K64F",
"frdm_kl05z": "KL05Z",
"frdm_k20d50m": "K20D50M",
"frdm_k22f": "K22F"
}
def parse_eix_file(filename):
result = {}
paths = (
("CFLAGS", "./Target/Source/CC/Switch"),
("CXXFLAGS", "./Target/Source/CPPC/Switch"),
("CPPDEFINES", "./Target/Source/Symbols/Symbol"),
("FILES", "./Target/Files/File"),
("LINKFLAGS", "./Target/Source/LD/Switch"),
("STDLIBS", "./Target/Source/Syslibs/Library"),
("LDSCRIPT_PATH", "./Target/Source/Scriptfile"),
("CPPPATH", "./Target/Compiler/Includepaths/Includepath")
)
tree = ElementTree.parse(filename)
for (key, path) in paths:
if key not in result:
result[key] = []
for node in tree.findall(path):
_nkeys = node.keys()
result[key].append(
node.get(_nkeys[0]) if len(_nkeys) == 1 else node.attrib)
return result
def get_source_files(flist):
files = []
for f in flist:
if f['type'] == "h" or not f['name'].startswith("mbed"):
continue
files.append(join("$BUILD_DIR", "FrameworkMbed", f['name'][5:]))
return files
def get_build_flags(data):
flags = {}
cflags = set(data.get("CFLAGS", []))
cxxflags = set(data.get("CXXFLAGS", []))
cppflags = set(cflags & cxxflags)
flags['CPPFLAGS'] = list(cppflags)
flags['CXXFLAGS'] = list(cxxflags - cppflags)
flags['CFLAGS'] = list(cflags - cppflags)
return flags
board_type = env.subst("$BOARD")
variant = MBED_VARIANTS[
board_type] if board_type in MBED_VARIANTS else board_type.upper()
eixdata = parse_eix_file(
join(env.subst("$PLATFORMFW_DIR"), "variant", variant, "%s.eix" % variant))
build_flags = get_build_flags(eixdata)
env.Replace(
CPPFLAGS=build_flags.get("CPPFLAGS", []),
CFLAGS=build_flags.get("CFLAGS", []),
CXXFLAGS=build_flags.get("CXXFLAGS", []),
LINKFLAGS=eixdata.get("LINKFLAGS", []),
CPPDEFINES=[define for define in eixdata.get("CPPDEFINES", [])],
LDSCRIPT_PATH=normpath(join(
"$PLATFORMFW_DIR", "core", eixdata.get("LDSCRIPT_PATH")[0][5:]))
)
# Hook for K64F and K22F
if board_type in ("frdm_k22f", "frdm_k64f"):
env.Append(
LINKFLAGS=["-Wl,--start-group"]
)
for lib_path in eixdata.get("CPPPATH"):
_vdir = join("$BUILD_DIR", "FrameworkMbedInc%d" % crc32(lib_path))
env.VariantDir(
_vdir,
join("$PLATFORMFW_DIR", "core", lib_path[5:])
)
env.Append(CPPPATH=[_vdir])
#
# Target: Build mbed Library
#
libs = [l for l in eixdata.get("STDLIBS", []) if l not in env.get("LIBS")]
env.VariantDir(
join("$BUILD_DIR", "FrameworkMbed"),
join("$PLATFORMFW_DIR", "core")
)
libs.append(env.Library(
join("$BUILD_DIR", "FrameworkMbed"),
get_source_files(eixdata.get("FILES", []))
))
env.Append(LIBS=libs)

View File

@@ -2,14 +2,19 @@
# See LICENSE for details. # See LICENSE for details.
""" """
Build script for OpenCM3 Framework. The libopencm3 framework aims to create a free/libre/open-source
firmware library for various ARM Cortex-M0(+)/M3/M4 microcontrollers,
including ST STM32, Ti Tiva and Stellaris, NXP LPC 11xx, 13xx, 15xx,
17xx parts, Atmel SAM3, Energy Micro EFM32 and others.
http://www.libopencm3.org/wiki/Main_Page
""" """
import re import re
from os import listdir, sep, walk from os import listdir, sep, walk
from os.path import isfile, join, normpath from os.path import isfile, join, normpath
from SCons.Script import DefaultEnvironment, Return from SCons.Script import DefaultEnvironment
from platformio.util import exec_command from platformio.util import exec_command
@@ -168,4 +173,4 @@ libs.append(env.Library(
get_source_files(root_dir) get_source_files(root_dir)
)) ))
Return("libs") env.Append(LIBS=libs)

View File

@@ -2,12 +2,17 @@
# See LICENSE for details. # See LICENSE for details.
""" """
Build script for SPL Framework The ST Standard Peripheral Library provides a set of functions for
handling the peripherals on the STM32 Cortex-M3 family.
The idea is to save the user (the new user, in particular) having to deal
directly with the registers.
http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743?sc=stm32embeddedsoftware
""" """
from os.path import join from os.path import join
from SCons.Script import DefaultEnvironment, Return from SCons.Script import DefaultEnvironment
env = DefaultEnvironment() env = DefaultEnvironment()
@@ -61,4 +66,4 @@ libs.append(envsafe.BuildLibrary(
ignore_files ignore_files
)) ))
Return("libs") env.Append(LIBS=libs)

View File

@@ -0,0 +1,59 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
"""
Builder for Freescale Kinetis series ARM microcontrollers.
"""
from os.path import join
from shutil import copyfile
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
DefaultEnvironment, SConscript)
def UploadToDisk(target, source, env): # pylint: disable=W0613,W0621
env.AutodetectUploadPort()
copyfile(join(env.subst("$BUILD_DIR"), "firmware.bin"),
join(env.subst("$UPLOAD_PORT"), "firmware.bin"))
print ("Firmware has been successfully uploaded.\n"
"Please restart your board.")
env = DefaultEnvironment()
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
#
# Target: Build executable and linkable firmware
#
target_elf = env.BuildFirmware()
#
# Target: Build the .bin file
#
if "uploadlazy" in COMMAND_LINE_TARGETS:
target_firm = join("$BUILD_DIR", "firmware.bin")
else:
target_firm = env.ElfToBin(join("$BUILD_DIR", "firmware"), target_elf)
#
# Target: Print binary size
#
target_size = env.Alias("size", target_elf, "$SIZEPRINTCMD")
AlwaysBuild(target_size)
#
# Target: Upload by default .bin file
#
upload = env.Alias(["upload", "uploadlazy"], target_firm, UploadToDisk)
AlwaysBuild(upload)
#
# Target: Define targets
#
Default([target_firm, target_size])

View File

@@ -0,0 +1,59 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
"""
Builder for Nordic nRF51 series ARM microcontrollers.
"""
from os.path import join
from shutil import copyfile
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
DefaultEnvironment, SConscript)
def UploadToDisk(target, source, env): # pylint: disable=W0613,W0621
env.AutodetectUploadPort()
copyfile(join(env.subst("$BUILD_DIR"), "firmware.bin"),
join(env.subst("$UPLOAD_PORT"), "firmware.bin"))
print ("Firmware has been successfully uploaded.\n"
"Please restart your board.")
env = DefaultEnvironment()
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
#
# Target: Build executable and linkable firmware
#
target_elf = env.BuildFirmware()
#
# Target: Build the .bin file
#
if "uploadlazy" in COMMAND_LINE_TARGETS:
target_firm = join("$BUILD_DIR", "firmware.bin")
else:
target_firm = env.ElfToBin(join("$BUILD_DIR", "firmware"), target_elf)
#
# Target: Print binary size
#
target_size = env.Alias("size", target_elf, "$SIZEPRINTCMD")
AlwaysBuild(target_size)
#
# Target: Upload by default .bin file
#
upload = env.Alias(["upload", "uploadlazy"], target_firm, UploadToDisk)
AlwaysBuild(upload)
#
# Target: Define targets
#
Default([target_firm, target_size])

View File

@@ -0,0 +1,59 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
"""
Builder for NXP LPC series ARM microcontrollers.
"""
from os.path import join
from shutil import copyfile
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
DefaultEnvironment, SConscript)
def UploadToDisk(target, source, env): # pylint: disable=W0613,W0621
env.AutodetectUploadPort()
copyfile(join(env.subst("$BUILD_DIR"), "firmware.bin"),
join(env.subst("$UPLOAD_PORT"), "firmware.bin"))
print ("Firmware has been successfully uploaded.\n"
"Please restart your board.")
env = DefaultEnvironment()
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
#
# Target: Build executable and linkable firmware
#
target_elf = env.BuildFirmware()
#
# Target: Build the .bin file
#
if "uploadlazy" in COMMAND_LINE_TARGETS:
target_firm = join("$BUILD_DIR", "firmware.bin")
else:
target_firm = env.ElfToBin(join("$BUILD_DIR", "firmware"), target_elf)
#
# Target: Print binary size
#
target_size = env.Alias("size", target_elf, "$SIZEPRINTCMD")
AlwaysBuild(target_size)
#
# Target: Upload by default .bin file
#
upload = env.Alias(["upload", "uploadlazy"], target_firm, UploadToDisk)
AlwaysBuild(upload)
#
# Target: Define targets
#
Default([target_firm, target_size])

View File

@@ -2,15 +2,23 @@
# See LICENSE for details. # See LICENSE for details.
""" """
Builder for STMicroelectronics Builder for ST STM32 Series ARM microcontrollers.
STM32 Series ARM microcontrollers.
""" """
from os.path import join from os.path import join
from shutil import copyfile
from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default, from SCons.Script import (COMMAND_LINE_TARGETS, AlwaysBuild, Default,
DefaultEnvironment, SConscript) DefaultEnvironment, SConscript)
def UploadToDisk(target, source, env): # pylint: disable=W0613,W0621
env.AutodetectUploadPort()
copyfile(join(env.subst("$BUILD_DIR"), "firmware.bin"),
join(env.subst("$UPLOAD_PORT"), "firmware.bin"))
print ("Firmware has been successfully uploaded.\n"
"Please restart your board.")
env = DefaultEnvironment() env = DefaultEnvironment()
SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py"))) SConscript(env.subst(join("$PIOBUILDER_DIR", "scripts", "basearm.py")))
@@ -38,13 +46,11 @@ env.Append(
] ]
) )
CORELIBS = env.ProcessGeneral()
# #
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware(["c", "gcc", "m", "nosys"] + CORELIBS) target_elf = env.BuildFirmware()
# #
# Target: Build the .bin file # Target: Build the .bin file
@@ -66,7 +72,10 @@ AlwaysBuild(target_size)
# Target: Upload by default .bin file # Target: Upload by default .bin file
# #
upload = env.Alias(["upload", "uploadlazy"], target_firm, "$UPLOADCMD") if "mbed" in env.subst("$FRAMEWORK"):
upload = env.Alias(["upload", "uploadlazy"], target_firm, UploadToDisk)
else:
upload = env.Alias(["upload", "uploadlazy"], target_firm, "$UPLOADCMD")
AlwaysBuild(upload) AlwaysBuild(upload)
# #

View File

@@ -53,13 +53,11 @@ else:
UPLOADHEXCMD='"$UPLOADER" $UPLOADERFLAGS' UPLOADHEXCMD='"$UPLOADER" $UPLOADERFLAGS'
) )
CORELIBS = env.ProcessGeneral()
# #
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware(["m"] + CORELIBS) target_elf = env.BuildFirmware()
# #
# Target: Build the firmware file # Target: Build the firmware file

View File

@@ -48,6 +48,8 @@ env.Replace(
"-Wl,-gc-sections,-u,main" "-Wl,-gc-sections,-u,main"
], ],
LIBS=["m"],
SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES', SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES',
UPLOADER=join("$PIOPACKAGES_DIR", "tool-mspdebug", "mspdebug"), UPLOADER=join("$PIOPACKAGES_DIR", "tool-mspdebug", "mspdebug"),
@@ -74,13 +76,11 @@ env.Append(
) )
) )
CORELIBS = env.ProcessGeneral()
# #
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware(["m"] + CORELIBS) target_elf = env.BuildFirmware()
# #
# Target: Build the .hex # Target: Build the .hex

View File

@@ -27,13 +27,11 @@ env.Append(
] ]
) )
CORELIBS = env.ProcessGeneral()
# #
# Target: Build executable and linkable firmware # Target: Build executable and linkable firmware
# #
target_elf = env.BuildFirmware(["c", "gcc", "m"] + CORELIBS) target_elf = env.BuildFirmware()
# #
# Target: Build the .bin file # Target: Build the .bin file

View File

@@ -7,7 +7,7 @@ from time import sleep
from SCons.Script import Exit from SCons.Script import Exit
from serial import Serial from serial import Serial
from platformio.util import get_serialports from platformio.util import get_logicaldisks, get_serialports
def FlushSerialBuffer(env, port): def FlushSerialBuffer(env, port):
@@ -52,16 +52,28 @@ def WaitForNewSerialPort(_, before):
def AutodetectUploadPort(env): def AutodetectUploadPort(env):
if "UPLOAD_PORT" not in env: if "UPLOAD_PORT" in env:
return
if env.subst("$FRAMEWORK") == "mbed":
for item in get_logicaldisks():
if not item['name'] or "mbed" != item['name'].lower():
continue
print "Auto-detected UPLOAD_PORT: %s" % item['disk']
env.Replace(UPLOAD_PORT=item['disk'])
break
else:
for item in get_serialports(): for item in get_serialports():
if "VID:PID" in item['hwid']: if "VID:PID" not in item['hwid']:
print "Auto-detected UPLOAD_PORT: %s" % item['port'] continue
env.Replace(UPLOAD_PORT=item['port']) print "Auto-detected UPLOAD_PORT: %s" % item['port']
break env.Replace(UPLOAD_PORT=item['port'])
break
if "UPLOAD_PORT" not in env: if "UPLOAD_PORT" not in env:
Exit("Error: Please specify `upload_port` for environment or use " Exit("Error: Please specify `upload_port` for environment or use "
"global `--upload-port` option.\n") "global `--upload-port` option.\n"
"For the some development platforms it can be USB flash drive\n")
def exists(_): def exists(_):

View File

@@ -6,11 +6,11 @@ import re
from os import getenv, listdir, remove, sep, walk from os import getenv, listdir, remove, sep, walk
from os.path import basename, dirname, isdir, isfile, join, normpath from os.path import basename, dirname, isdir, isfile, join, normpath
from SCons.Script import SConscript, SConscriptChdir from SCons.Script import Exit, SConscript, SConscriptChdir
from SCons.Util import case_sensitive_suffixes from SCons.Util import case_sensitive_suffixes
def ProcessGeneral(env): def BuildFirmware(env):
# fix ASM handling under non-casitive OS # fix ASM handling under non-casitive OS
if not case_sensitive_suffixes('.s', '.S'): if not case_sensitive_suffixes('.s', '.S'):
env.Replace( env.Replace(
@@ -24,20 +24,8 @@ def ProcessGeneral(env):
if "BUILD_FLAGS" in env: if "BUILD_FLAGS" in env:
env.MergeFlags(env['BUILD_FLAGS']) env.MergeFlags(env['BUILD_FLAGS'])
corelibs = [] env.BuildFramework()
if "FRAMEWORK" in env:
if env['FRAMEWORK'] in ("arduino", "energia"):
env.ConvertInoToCpp()
for f in env['FRAMEWORK'].split(","):
SConscriptChdir(0)
corelibs += SConscript(
env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks",
"%s.py" % f.strip().lower()))
)
return corelibs
def BuildFirmware(env, corelibs):
firmenv = env.Clone() firmenv = env.Clone()
vdirs = firmenv.VariantDirRecursive( vdirs = firmenv.VariantDirRecursive(
join("$BUILD_DIR", "src"), "$PROJECTSRC_DIR") join("$BUILD_DIR", "src"), "$PROJECTSRC_DIR")
@@ -59,12 +47,15 @@ def BuildFirmware(env, corelibs):
_LIBFLAGS=" -Wl,--end-group" _LIBFLAGS=" -Wl,--end-group"
) )
firmenv.MergeFlags(getenv("PLATFORMIO_SRCBUILD_FLAGS", "$SRCBUILD_FLAGS")) _srcbuild_flags = getenv("PLATFORMIO_SRCBUILD_FLAGS",
env.subst("$SRCBUILD_FLAGS"))
if _srcbuild_flags:
firmenv.MergeFlags(_srcbuild_flags)
return firmenv.Program( return firmenv.Program(
join("$BUILD_DIR", "firmware"), join("$BUILD_DIR", "firmware"),
[firmenv.GlobCXXFiles(vdir) for vdir in vdirs], [firmenv.GlobCXXFiles(vdir) for vdir in vdirs],
LIBS=corelibs + deplibs, LIBS=env.get("LIBS") + deplibs,
LIBPATH="$BUILD_DIR", LIBPATH="$BUILD_DIR",
PROGSUFFIX=".elf" PROGSUFFIX=".elf"
) )
@@ -95,6 +86,26 @@ def VariantDirRecursive(env, variant_dir, src_dir, duplicate=True,
return variants return variants
def BuildFramework(env):
if "FRAMEWORK" not in env:
return
if env['FRAMEWORK'].lower() in ("arduino", "energia"):
env.ConvertInoToCpp()
for f in env['FRAMEWORK'].split(","):
framework = f.strip().lower()
if framework in env.get("BOARD_OPTIONS", {}).get("frameworks"):
SConscriptChdir(0)
SConscript(
env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks",
"%s.py" % framework))
)
else:
Exit("Error: This board doesn't support %s framework!" %
framework)
def BuildLibrary(env, variant_dir, library_dir, ignore_files=None): def BuildLibrary(env, variant_dir, library_dir, ignore_files=None):
lib = env.Clone() lib = env.Clone()
vdirs = lib.VariantDirRecursive( vdirs = lib.VariantDirRecursive(
@@ -303,10 +314,10 @@ def exists(_):
def generate(env): def generate(env):
env.AddMethod(ProcessGeneral)
env.AddMethod(BuildFirmware) env.AddMethod(BuildFirmware)
env.AddMethod(GlobCXXFiles) env.AddMethod(GlobCXXFiles)
env.AddMethod(VariantDirRecursive) env.AddMethod(VariantDirRecursive)
env.AddMethod(BuildFramework)
env.AddMethod(BuildLibrary) env.AddMethod(BuildLibrary)
env.AddMethod(BuildDependentLibraries) env.AddMethod(BuildDependentLibraries)
env.AddMethod(ConvertInoToCpp) env.AddMethod(ConvertInoToCpp)

View File

@@ -16,7 +16,7 @@ def cli(query, json_output): # pylint: disable=R0912
if json_output: if json_output:
return ouput_boards_json(query) return ouput_boards_json(query)
BOARDLIST_TPL = ("{type:<30} {mcu:<13} {frequency:<8} " BOARDLIST_TPL = ("{type:<30} {mcu:<14} {frequency:<8} "
" {flash:<7} {ram:<6} {name}") " {flash:<7} {ram:<6} {name}")
grpboards = {} grpboards = {}

View File

@@ -94,11 +94,11 @@ def fill_project_envs(project_file, board_types, disable_auto_uploading):
data = builtin_boards[type_] data = builtin_boards[type_]
# find default framework for board # find default framework for board
framework = data.get("framework", None) frameworks = data.get("frameworks")
content.append("[env:autogen_%s]" % type_) content.append("[env:autogen_%s]" % type_)
content.append("platform = %s" % data['platform']) content.append("platform = %s" % data['platform'])
if framework: if frameworks:
content.append("framework = %s" % framework) content.append("framework = %s" % frameworks[0])
content.append("board = %s" % type_) content.append("board = %s" % type_)
content.append("%stargets = upload" % ("# " if disable_auto_uploading content.append("%stargets = upload" % ("# " if disable_auto_uploading

View File

@@ -24,7 +24,7 @@ def cli(query, json_output):
if query == "all": if query == "all":
query = "" query = ""
search_data = "%s %s" % (name, info) search_data = "%s %s %s" % (name, info, p.get_installed_packages())
if query and query.lower() not in search_data.lower(): if query and query.lower() not in search_data.lower():
continue continue

View File

@@ -44,6 +44,11 @@ class UnknownBoard(PlatformioException):
MESSAGE = "Unknown board type '%s'" MESSAGE = "Unknown board type '%s'"
class UnknownFramework(PlatformioException):
MESSAGE = "Unknown framework '%s'"
class UnknownPackage(PlatformioException): class UnknownPackage(PlatformioException):
MESSAGE = "Detected unknown package '%s'" MESSAGE = "Detected unknown package '%s'"

View File

@@ -8,8 +8,13 @@ from platformio.util import get_boards
class AtmelavrPlatform(BasePlatform): class AtmelavrPlatform(BasePlatform):
""" """
An embedded platform for Atmel AVR microcontrollers Atmel AVR 8- and 32-bit MCUs deliver a unique combination of
(with Arduino Framework) performance, power efficiency and design flexibility. Optimized to
speed time to market-and easily adapt to new ones-they are based on
the industrys most code-efficient architecture for C and assembly
programming.
http://www.atmel.com/products/microcontrollers/avr/default.aspx
""" """
PACKAGES = { PACKAGES = {

View File

@@ -7,8 +7,11 @@ from platformio.platforms.base import BasePlatform
class AtmelsamPlatform(BasePlatform): class AtmelsamPlatform(BasePlatform):
""" """
An embedded platform for Atmel SAM microcontrollers Atmel | SMART offers Flash- based ARM products based on the ARM
(with Arduino Framework) Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB
to 2MB of Flash including a rich peripheral and feature mix.
http://www.atmel.com/products/microcontrollers/arm/default.aspx
""" """
PACKAGES = { PACKAGES = {

View File

@@ -12,6 +12,86 @@ from platformio import exception, util
from platformio.app import get_state_item, set_state_item from platformio.app import get_state_item, set_state_item
from platformio.pkgmanager import PackageManager from platformio.pkgmanager import PackageManager
PLATFORM_PACKAGES = {
"framework-arduinoavr": [
("Arduino Wiring-based Framework (AVR Core, 1.6)",
"http://arduino.cc/en/Reference/HomePage")
],
"framework-arduinosam": [
("Arduino Wiring-based Framework (SAM Core, 1.6)",
"http://arduino.cc/en/Reference/HomePage")
],
"framework-arduinoteensy": [
("Arduino Wiring-based Framework",
"http://arduino.cc/en/Reference/HomePage")
],
"framework-energiamsp430": [
("Energia Wiring-based Framework (MSP430 Core)",
"http://energia.nu/reference/")
],
"framework-energiativa": [
("Energia Wiring-based Framework (LM4F Core)",
"http://energia.nu/reference/")
],
"framework-cmsis": [
("Vendor-independent hardware abstraction layer for the Cortex-M "
"processor series",
"http://www.arm.com/products/processors/"
"cortex-m/cortex-microcontroller-software-interface-standard.php")
],
"framework-spl": [
("Standard Peripheral Library for STM32 MCUs",
"http://www.st.com"
"/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890")
],
"framework-opencm3": [
("libOpenCM3 Framework", "http://www.libopencm3.org/")
],
"framework-mbed": [
("mbed Framework", "http://mbed.org")
],
"ldscripts": [
("Linker Scripts",
"https://sourceware.org/binutils/docs/ld/Scripts.html")
],
"toolchain-atmelavr": [
("avr-gcc", "https://gcc.gnu.org/wiki/avr-gcc"),
("GDB", "http://www.gnu.org/software/gdb/"),
("AVaRICE", "http://avarice.sourceforge.net/"),
("SimulAVR", "http://www.nongnu.org/simulavr/")
],
"toolchain-gccarmnoneeabi": [
("gcc-arm-embedded", "https://launchpad.net/gcc-arm-embedded"),
("GDB", "http://www.gnu.org/software/gdb/")
],
"toolchain-timsp430": [
("msp-gcc", "http://sourceforge.net/projects/mspgcc/"),
("GDB", "http://www.gnu.org/software/gdb/")
],
"tool-avrdude": [
("AVRDUDE", "http://www.nongnu.org/avrdude/")
],
"tool-micronucleus": [
("Micronucleus", "https://github.com/micronucleus/micronucleus")
],
"tool-bossac": [
("BOSSA CLI", "https://sourceforge.net/projects/b-o-s-s-a/")
],
"tool-stlink": [
("ST-Link", "https://github.com/texane/stlink")
],
"tool-teensy": [
("Teensy Loader", "https://www.pjrc.com/teensy/loader.html")
],
"tool-lm4flash": [
("Flash Programmer", "http://www.ti.com/tool/lmflashprogrammer")
],
"tool-mspdebug": [
("MSPDebug", "http://mspdebug.sourceforge.net/")
]
}
class PlatformFactory(object): class PlatformFactory(object):

View File

@@ -0,0 +1,28 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
from platformio.platforms.base import BasePlatform
class FreescalekinetisPlatform(BasePlatform):
"""
Freescale Kinetis Microcontrollers is family of multiple hardware- and
software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU
series. Kinetis MCUs offer exceptional low-power performance,
scalability and feature integration.
http://www.freescale.com/webapp/sps/site/homepage.jsp?code=KINETIS
"""
PACKAGES = {
"toolchain-gccarmnoneeabi": {
"alias": "toolchain",
"default": True
},
"framework-mbed": {
"default": True
}
}

View File

@@ -0,0 +1,30 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
from platformio.platforms.base import BasePlatform
class Nordicnrf51Platform(BasePlatform):
"""
The Nordic nRF51 Series is a family of highly flexible,
multi-protocol, system-on-chip (SoC) devices for ultra-low power
wireless applications. nRF51 Series devices support a range of
protocol stacks including Bluetooth Smart (previously called
Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as
Gazell.
https://www.nordicsemi.com/eng/Products/nRF51-Series-SoC
"""
PACKAGES = {
"toolchain-gccarmnoneeabi": {
"alias": "toolchain",
"default": True
},
"framework-mbed": {
"default": True
}
}

View File

@@ -0,0 +1,30 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
from platformio.platforms.base import BasePlatform
class NxplpcPlatform(BasePlatform):
"""
The NXP LPC is a family of 32-bit microcontroller integrated circuits
by NXP Semiconductors. The LPC chips are grouped into related series
that are based around the same 32-bit ARM processor core, such as the
Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each
microcontroller consists of the processor core, static RAM memory,
flash memory, debugging interface, and various peripherals.
http://www.nxp.com/products/microcontrollers/
"""
PACKAGES = {
"toolchain-gccarmnoneeabi": {
"alias": "toolchain",
"default": True
},
"framework-mbed": {
"default": True
}
}

View File

@@ -4,10 +4,17 @@
from platformio.platforms.base import BasePlatform from platformio.platforms.base import BasePlatform
class Stm32Platform(BasePlatform): class Ststm32Platform(BasePlatform):
""" """
An embedded platform for STMicroelectronics ARM microcontrollers The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M
processor is designed to offer new degrees of freedom to MCU users.
It offers a 32-bit product range that combines very high performance,
real-time capabilities, digital signal processing, and low-power,
low-voltage operation, while maintaining full integration and ease of
development.
http://www.st.com/web/en/catalog/mmc/FM141/SC1169?sc=stm32
""" """
PACKAGES = { PACKAGES = {
@@ -36,5 +43,9 @@ class Stm32Platform(BasePlatform):
"framework-opencm3": { "framework-opencm3": {
"default": True "default": True
},
"framework-mbed": {
"default": True
} }
} }

View File

@@ -8,8 +8,13 @@ from platformio.util import get_boards
class TeensyPlatform(BasePlatform): class TeensyPlatform(BasePlatform):
""" """
An embedded platform for Teensy boards Teensy is a complete USB-based microcontroller development system, in
(with Arduino Framework) a very small footprint, capable of implementing many types of projects.
All programming is done via the USB port. No special programmer is
needed, only a standard "Mini-B" USB cable and a PC or Macintosh with
a USB port.
https://www.pjrc.com/teensy
""" """
PACKAGES = { PACKAGES = {

View File

@@ -5,9 +5,14 @@ from platformio.platforms.base import BasePlatform
class Timsp430Platform(BasePlatform): class Timsp430Platform(BasePlatform):
""" """
An embedded platform for TI MSP430 microcontrollers MSP430 microcontrollers (MCUs) from Texas Instruments (TI)
(with Energia Framework) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low
power. These MCUs offer the lowest power consumption and the perfect
mix of integrated peripherals for thousands of applications.
http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/overview.page
""" """
PACKAGES = { PACKAGES = {

View File

@@ -7,8 +7,12 @@ from platformio.platforms.base import BasePlatform
class TitivaPlatform(BasePlatform): class TitivaPlatform(BasePlatform):
""" """
An embedded platform for TI TIVA C ARM microcontrollers Texas Instruments TM4C12x MCUs offer the industrys most popular
(with Energia and OpenCM3 Frameworks) ARM Cortex-M4 core with scalable memory and package options, unparalleled
connectivity peripherals, advanced application functions, industry-leading
analog integration, and extensive software solutions.
http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/c2000_performance/control_automation/tm4c12x/overview.page
""" """
PACKAGES = { PACKAGES = {

View File

@@ -3,8 +3,10 @@
import json import json
import os import os
import re
import subprocess import subprocess
from os.path import abspath, dirname, expanduser, isdir, isfile, join, realpath from os.path import (abspath, basename, dirname, expanduser, isdir, isfile,
join, realpath)
from platform import system, uname from platform import system, uname
from threading import Thread from threading import Thread
@@ -173,7 +175,30 @@ def get_serialports():
from serial.tools.list_ports_posix import comports from serial.tools.list_ports_posix import comports
else: else:
raise exception.GetSerialPortsError(os.name) raise exception.GetSerialPortsError(os.name)
return[{"port": p, "description": d, "hwid": h} for p, d, h in comports()] return [{"port": p, "description": d, "hwid": h} for p, d, h in comports()]
def get_logicaldisks():
disks = []
if system() == "Windows":
result = exec_command(
["wmic", "logicaldisk", "get", "name,VolumeName"]).get("out")
disknamere = re.compile(r"^([A-Z]{1}\:)\s*(\S+)?")
for line in result.split("\n"):
match = disknamere.match(line.strip())
if not match:
continue
disks.append({"disk": match.group(1), "name": match.group(2)})
else:
result = exec_command(["df"]).get("out")
disknamere = re.compile(r"\d+\%\s+([a-z\d\-_/]+)$", flags=re.I)
for line in result.split("\n"):
match = disknamere.search(line.strip())
if not match:
continue
disks.append({"disk": match.group(1),
"name": basename(match.group(1))})
return disks
def get_api_result(path, params=None, data=None): def get_api_result(path, params=None, data=None):
@@ -232,3 +257,40 @@ def get_boards(type_=None):
if type_ not in boards: if type_ not in boards:
raise exception.UnknownBoard(type_) raise exception.UnknownBoard(type_)
return boards[type_] return boards[type_]
def get_frameworks(type_=None):
frameworks = {}
try:
frameworks = get_frameworks._cache # pylint: disable=W0212
except AttributeError:
frameworks_path = join(
get_source_dir(), "builder", "scripts", "frameworks")
frameworks_list = [f[:-3] for f in os.listdir(frameworks_path)
if not f.startswith("__") and f.endswith(".py")]
for _type in frameworks_list:
script_path = join(frameworks_path, "%s.py" % _type)
with open(script_path) as f:
fcontent = f.read()
assert '"""' in fcontent
_doc_start = fcontent.index('"""') + 3
fdoc = fcontent[
_doc_start:fcontent.index('"""', _doc_start)].strip()
description = " ".join(fdoc.split("\n")[:-2])
frameworks[_type] = {
"description": description,
"url": fdoc.split("\n")[-1].strip(),
"script": script_path
}
get_frameworks._cache = frameworks # pylint: disable=W0212
if type_ is None:
return frameworks
else:
if type_ not in frameworks:
raise exception.UnknownFramework(type_)
return frameworks[type_]
return frameworks

191
scripts/docspregen.py Normal file
View File

@@ -0,0 +1,191 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
from os.path import dirname, join, realpath
from sys import path
from sys import exit as sys_exit
from math import ceil
path.append("..")
from platformio import util
from platformio.platforms.base import PLATFORM_PACKAGES, PlatformFactory
def generate_boards(boards):
def _round_memory_size(size):
size = ceil(size)
for b in (64, 32, 16, 8, 4, 2, 1):
if b < size:
return int(ceil(size / b) * b)
assert NotImplemented()
lines = []
lines.append("""
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM""")
for board in sorted(boards):
for type_, data in board.iteritems():
assert type_ in util.get_boards()
board_ram = float(data['upload']['maximum_ram_size']) / 1024
lines.append("""
* - ``{type}``
- `{name} <{url}>`_
- {mcu}
- {f_cpu:d} MHz
- {rom} Kb
- {ram} Kb""".format(
type=type_,
name=data['name'],
url=data['url'],
mcu=data['build']['mcu'].upper(),
f_cpu=int((data['build']['f_cpu'][:-1])) / 1000000,
ram=int(board_ram) if board_ram % 1 == 0 else board_ram,
rom=_round_memory_size(
data['upload']['maximum_size'] / 1024)
))
return "\n".join(lines + [""])
def generate_packages(packages):
lines = []
lines.append(""".. list-table::
:header-rows: 1
* - Name
- Contents""")
for type_, data in packages.iteritems():
assert type_ in PLATFORM_PACKAGES
contitems = [
"`%s <%s>`_" % (name, url)
for name, url in PLATFORM_PACKAGES[type_]
]
lines.append("""
* - ``{type_}``
- {contents}""".format(
type_=type_,
contents=", ".join(contitems)))
lines.append("""
.. warning::
**Linux Users:** Don't forget to install "udev" rules file
`99-platformio-udev.rules <https://github.com/ivankravets/platformio/blob/develop/scripts/99-platformio-udev.rules>`_ (an instruction is located in the file).
""")
return "\n".join(lines)
def generate_platform(name):
print "Processing platform: %s" % name
lines = []
lines.append(".. _platform_%s:" % name)
lines.append("")
_title = "Platform ``%s``" % name
lines.append(_title)
lines.append("=" * len(_title))
p = PlatformFactory.newPlatform(name)
lines.extend([l.strip() for l in p.__doc__.split("\n")])
lines.append(""".. contents::""")
lines.append("""
Packages
--------
""")
lines.append(generate_packages(p.get_packages()))
lines.append("""
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by
horizontal.
""")
vendors = {}
for board, data in util.get_boards().items():
platform = data['platform']
vendor = data['vendor']
if name in platform:
if vendor in vendors:
vendors[vendor].append({board: data})
else:
vendors[vendor] = [{board: data}]
for vendor, boards in sorted(vendors.iteritems()):
lines.append(str(vendor))
lines.append("~" * len(vendor))
lines.append(generate_boards(boards))
return "\n".join(lines)
def update_platform_docs():
for name in PlatformFactory.get_platforms().keys():
rst_path = join(
dirname(realpath(__file__)), "..", "docs", "platforms", "%s.rst" % name)
with open(rst_path, "w") as f:
f.write(generate_platform(name))
def generate_framework(name, data):
print "Processing framework: %s" % name
lines = []
lines.append(".. _framework_%s:" % name)
lines.append("")
_title = "Framework ``%s``" % name
lines.append(_title)
lines.append("=" * len(_title))
lines.append(data['description'])
lines.append("""\n.. contents::""")
lines.append("""
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command
* For more detailed ``board`` information please scroll tables below by horizontal.
""")
vendors = {}
for board, data in util.get_boards().items():
frameworks = data['frameworks']
vendor = data['vendor']
if name in frameworks:
if vendor in vendors:
vendors[vendor].append({board: data})
else:
vendors[vendor] = [{board: data}]
for vendor, boards in sorted(vendors.iteritems()):
lines.append(str(vendor))
lines.append("~" * len(vendor))
lines.append(generate_boards(boards))
return "\n".join(lines)
def update_framework_docs():
for name, data in util.get_frameworks().items():
rst_path = join(util.get_source_dir(), "..", "docs", "frameworks",
"%s.rst" % name)
with open(rst_path, "w") as f:
f.write(generate_framework(name, data))
def main():
update_platform_docs()
update_framework_docs()
if __name__ == "__main__":
sys_exit(main())

View File

@@ -0,0 +1,64 @@
# Copyright (C) Ivan Kravets <me@ikravets.com>
# See LICENSE for details.
from os import getcwd, mkdir, makedirs, listdir
from os.path import isfile, isdir, join
from shutil import copy2, rmtree, copytree
from sys import exit as sys_exit
from sys import path
import zipfile
MBED_DIR = "/home/valeros/mbed-master"
OUTPUT_DIR = "/home/valeros/mbed-framework"
CORE_DIR = join(OUTPUT_DIR, "core")
VARIANT_DIR = join(OUTPUT_DIR, "variant")
path.append("..")
path.append(MBED_DIR)
from workspace_tools.export import gccarm
from platformio.util import exec_command
def _unzip_generated_file(mcu):
filename = join(
MBED_DIR, "build", "export", "MBED_A1_emblocks_%s.zip" % mcu)
variant_dir = join(VARIANT_DIR, mcu)
if isfile(filename):
print "Processing board: %s" % mcu
with zipfile.ZipFile(filename) as zfile:
mkdir(variant_dir)
file_data = zfile.read("MBED_A1/MBED_A1.eix")
with open(join(variant_dir, "%s.eix" % mcu), "w") as f:
f.write(file_data)
else:
print "Warning! Skipped board: %s" % mcu
def main():
print "Starting..."
if isdir(OUTPUT_DIR):
rmtree(OUTPUT_DIR)
print "Delete previous framework dir"
makedirs(VARIANT_DIR)
# copy MBED library
mbedlib_dir = join(MBED_DIR, "libraries", "mbed")
for item in listdir(mbedlib_dir):
src = join(mbedlib_dir, item)
dst = join(CORE_DIR, item)
if isdir(src):
copytree(src, dst)
else:
copy2(src, dst)
# make .eix files
for mcu in set(gccarm.GccArm.TARGETS):
exec_command(
["python", join(MBED_DIR, "workspace_tools", "project.py"),
"--mcu", mcu, "-i", "emblocks", "-p", "0"], cwd=getcwd()
)
_unzip_generated_file(mcu)
print "Complete!"
if __name__ == "__main__":
sys_exit(main())

View File

@@ -44,7 +44,7 @@ def test_board_options(platformio_setup, clirunner, validate_cliresult):
def test_board_ldscripts(platformio_setup, clirunner, validate_cliresult): def test_board_ldscripts(platformio_setup, clirunner, validate_cliresult):
result = clirunner.invoke( result = clirunner.invoke(
install_cli, [ install_cli, [
"stm32", "ststm32",
"--skip-default-package", "--skip-default-package",
"--with-package=ldscripts" "--with-package=ldscripts"
]) ])

View File

@@ -41,7 +41,7 @@ def test_init_special_board(platformio_setup, clirunner, validate_cliresult):
config = util.get_project_config() config = util.get_project_config()
expected_result = [ expected_result = [
("platform", str(uno['platform'])), ("platform", str(uno['platform'])),
("framework", str(uno['framework'])), ("framework", str(uno['frameworks'][0])),
("board", "uno"), ("board", "uno"),
("targets", "upload") ("targets", "upload")
] ]