From 13455987aea545f0ceacf4fa941a90a864e4d430 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Mon, 9 Mar 2015 12:18:46 +0200 Subject: [PATCH 01/16] Rename "stm32" platform to "ststm32" --- docs/platforms/index.rst | 2 +- docs/platforms/stm32.rst | 104 ------- docs/platforms/ststm32.rst | 224 ++++++++++++++ .../stm32/stm32-cmsis-blink/platformio.ini | 18 +- .../stm32/stm32-opencm3-blink/platformio.ini | 18 +- examples/stm32/stm32-spl-blink/platformio.ini | 18 +- platformio/boards/stm32.json | 56 ---- platformio/boards/ststm32.json | 280 ++++++++++++++++++ .../builder/scripts/{stm32.py => ststm32.py} | 21 +- platformio/platforms/{stm32.py => ststm32.py} | 8 +- tests/commands/test_boards.py | 2 +- 11 files changed, 554 insertions(+), 197 deletions(-) delete mode 100644 docs/platforms/stm32.rst create mode 100644 docs/platforms/ststm32.rst delete mode 100644 platformio/boards/stm32.json create mode 100644 platformio/boards/ststm32.json rename platformio/builder/scripts/{stm32.py => ststm32.py} (67%) rename platformio/platforms/{stm32.py => ststm32.py} (79%) diff --git a/docs/platforms/index.rst b/docs/platforms/index.rst index 5aa06bcc..ee95d183 100644 --- a/docs/platforms/index.rst +++ b/docs/platforms/index.rst @@ -16,7 +16,7 @@ MCU, upload protocol or etc. Please use ``board`` option. atmelavr atmelsam - stm32 + ststm32 teensy timsp430 titiva diff --git a/docs/platforms/stm32.rst b/docs/platforms/stm32.rst deleted file mode 100644 index 4748f6a9..00000000 --- a/docs/platforms/stm32.rst +++ /dev/null @@ -1,104 +0,0 @@ -.. _platform_stm32: - -Platform ``stm32`` -================== - -`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. - -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 `_, - `GDB `_ - * - ``tool-stlink`` - - uploader - - `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 `_ (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 `__ - * - ``spl`` - - Standard Peripheral Library for STM32 MCUs - - `Documentation `__ - * - ``opencm3`` - - libOpenCM3 Framework - - `Documentation `__ - - -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 `_ - - STM32L152rbt6 ``cortex-m3`` - - 32 MHz ``32000000L`` - - 128 Kb - - 16 Kb - * - ``stm32f3discovery`` - - `Discovery kit for STM32F303xx microcontrollers - `_ - - STM32F303vct6 ``cortex-m4`` - - 72 MHz ``72000000L`` - - 256 Kb - - 48 Kb - * - ``stm32f4discovery`` - - `Discovery kit for STM32F407/417 lines - `_ - - STM32F407vgt6 ``cortex-m4`` - - 168 Mhz ``168000000L`` - - 1 Mb - - 192 Kb - -More detailed information you can find here -`STM32 Discovery kits `_. diff --git a/docs/platforms/ststm32.rst b/docs/platforms/ststm32.rst new file mode 100644 index 00000000..4f024041 --- /dev/null +++ b/docs/platforms/ststm32.rst @@ -0,0 +1,224 @@ +.. _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. + +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 `_, + `GDB `_ + * - ``tool-stlink`` + - uploader + - `STLink `_ + * - ``framework-cmsis`` + - + - See below in :ref:`ststm32_frameworks` + * - ``framework-spl`` + - + - See below in :ref:`ststm32_frameworks` + * - ``framework-opencm3`` + - + - See below in :ref:`ststm32_frameworks` + * - ``framework-mbed`` + - + - See below in :ref:`ststm32_frameworks` + +.. warning:: + **Linux Users:** Don't forget to install "udev" rules file + `99-platformio-udev.rules `_ (an instruction is located in the file). + + +.. _ststm32_frameworks: + +Frameworks +---------- + +.. list-table:: + :header-rows: 1 + + * - Type ``framework`` + - Name + - Reference + * - ``cmsis`` + - Vendor-independent hardware abstraction layer for the Cortex-M processor series + - `Documentation `__ + * - ``spl`` + - Standard Peripheral Library for ST STM32 MCUs + - `Documentation `__ + * - ``opencm3`` + - libOpenCM3 Framework + - `Documentation `__ + * - ``mbed`` + - MBED Framework + - `Documentation `__ + + +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 + * - ``disco_l152rb`` + - `STM32LDISCOVERY + `_ + - STM32L152rbt6 ``cortex-m3`` + - 32 MHz ``32000000L`` + - 128 Kb + - 16 Kb + * - ``disco_f303vc`` + - `STM32F3DISCOVERY + `_ + - STM32F303vct6 ``cortex-m4`` + - 72 MHz ``72000000L`` + - 256 Kb + - 48 Kb + * - ``disco_f407vg`` + - `STM32F4DISCOVERY + `_ + - STM32F407vgt6 ``cortex-m4`` + - 168 Mhz ``168000000L`` + - 1 Mb + - 192 Kb + * - ``disco_f100rb`` + - `STM32VLDISCOVERY + `_ + - STM32F100rbt6 ``cortex-m3`` + - 24 Mhz ``24000000L`` + - 128 Kb + - 8 Kb + * - ``disco_f051r8`` + - `STM32F0DISCOVERY + `_ + - STM32F051r8t6 ``cortex-m0`` + - 48 Mhz ``48000000L`` + - 64 Kb + - 8 Kb + * - ``disco_f334c8`` + - `32F3348DISCOVERY + `_ + - STM32F334c8t6 ``cortex-m4`` + - 72 Mhz ``72000000L`` + - 64 Kb + - 16 Kb + * - ``disco_f401vc`` + - `32F401CDISCOVERY + `_ + - STM32F401vct6 ``cortex-m4`` + - 84 Mhz ``84000000L`` + - 256 Kb + - 64 Kb + * - ``disco_f429zi`` + - `32F429IDISCOVERY + `_ + - STM32F429zit6 ``cortex-m4`` + - 180 Mhz ``180000000L`` + - 2 Mb + - 256 Kb + * - ``nucleo_f030r8`` + - `ST Nucleo F030R8 + `_ + - STM32F030r8t6 ``cortex-m0`` + - 48 Mhz ``48000000L`` + - 64 Kb + - 8 Kb + * - ``nucleo_f070rb`` + - `ST Nucleo F070RB + `_ + - STM32F070rbt6 ``cortex-m0`` + - 48 Mhz ``48000000L`` + - 128 Kb + - 16 Kb + * - ``nucleo_f072rb`` + - `ST Nucleo F072RB + `_ + - STM32F072rbt6 ``cortex-m0`` + - 48 Mhz ``48000000L`` + - 128 Kb + - 16 Kb + * - ``nucleo_f091rc`` + - `ST Nucleo F091RC + `_ + - STM32F091rct6 ``cortex-m0`` + - 48 Mhz ``48000000L`` + - 256 Kb + - 32 Kb + * - ``nucleo_f103rb`` + - `ST Nucleo F103RB + `_ + - STM32F103rbt6 ``cortex-m3`` + - 72 Mhz ``72000000L`` + - 128 Kb + - 20 Kb + * - ``nucleo_f302r8`` + - `ST Nucleo F302R8 + `_ + - STM32F302r8t6 ``cortex-m4`` + - 72 Mhz ``72000000L`` + - 64 Kb + - 16 Kb + * - ``nucleo_f334r8`` + - `ST Nucleo F334R8 + `_ + - STM32F334r8t6 ``cortex-m4`` + - 72 Mhz ``72000000L`` + - 64 Kb + - 16 Kb + * - ``nucleo_f401re`` + - `ST Nucleo F401RE + `_ + - STM32F401ret6 ``cortex-m4`` + - 84 Mhz ``84000000L`` + - 512 Kb + - 96 Kb + * - ``nucleo_f411re`` + - `ST Nucleo F411RE + `_ + - STM32F411ret6 ``cortex-m4`` + - 100 Mhz ``100000000L`` + - 512 Kb + - 128 Kb + * - ``nucleo_l053r8`` + - `ST Nucleo L053R8 + `_ + - STM32L053r8t6 ``cortex-m0`` + - 48 Mhz ``48000000L`` + - 64 Kb + - 8 Kb + * - ``nucleo_l152re`` + - `ST Nucleo L152RE + `_ + - STM32L152ret6 ``cortex-m3`` + - 32 Mhz ``32000000L`` + - 512 Kb + - 80 Kb + +More detailed information you can find here +`STM32 Discovery kits `_ and here +`ST Nucleo boards with MBED support `_. diff --git a/examples/stm32/stm32-cmsis-blink/platformio.ini b/examples/stm32/stm32-cmsis-blink/platformio.ini index c90f099e..d19acf8d 100644 --- a/examples/stm32/stm32-cmsis-blink/platformio.ini +++ b/examples/stm32/stm32-cmsis-blink/platformio.ini @@ -17,17 +17,17 @@ # Automatic targets - enable auto-uploading # targets = upload -[env:stm32f4discovery] -platform = stm32 +[env:disco_f407vg] +platform = ststm32 framework = cmsis -board = stm32f4discovery +board = disco_f407vg -[env:stm32ldiscovery] -platform = stm32 +[env:disco_l152rb] +platform = ststm32 framework = cmsis -board = stm32ldiscovery +board = disco_l152rb -[env:stm32f3discovery] -platform = stm32 +[env:disco_f303vc] +platform = ststm32 framework = cmsis -board = stm32f3discovery +board = disco_f303vc \ No newline at end of file diff --git a/examples/stm32/stm32-opencm3-blink/platformio.ini b/examples/stm32/stm32-opencm3-blink/platformio.ini index 3c472f00..4055d71f 100644 --- a/examples/stm32/stm32-opencm3-blink/platformio.ini +++ b/examples/stm32/stm32-opencm3-blink/platformio.ini @@ -17,17 +17,17 @@ # Automatic targets - enable auto-uploading # targets = upload -[env:stm32f4discovery] -platform = stm32 +[env:disco_f407vg] +platform = ststm32 framework = opencm3 -board = stm32f4discovery +board = disco_f407vg -[env:stm32ldiscovery] -platform = stm32 +[env:disco_l152rb] +platform = ststm32 framework = opencm3 -board = stm32ldiscovery +board = disco_l152rb -[env:stm32f3discovery] -platform = stm32 +[env:disco_f303vc] +platform = ststm32 framework = opencm3 -board = stm32f3discovery +board = disco_f303vc diff --git a/examples/stm32/stm32-spl-blink/platformio.ini b/examples/stm32/stm32-spl-blink/platformio.ini index 6ba5b0c1..1324053c 100644 --- a/examples/stm32/stm32-spl-blink/platformio.ini +++ b/examples/stm32/stm32-spl-blink/platformio.ini @@ -17,17 +17,17 @@ # Automatic targets - enable auto-uploading # targets = upload -[env:stm32f4discovery] -platform = stm32 +[env:disco_f407vg] +platform = ststm32 framework = cmsis,spl -board = stm32f4discovery +board = disco_f407vg -[env:stm32ldiscovery] -platform = stm32 +[env:disco_l152rb] +platform = ststm32 framework = cmsis,spl -board = stm32ldiscovery +board = disco_l152rb -[env:stm32f3discovery] -platform = stm32 +[env:disco_f303vc] +platform = ststm32 framework = cmsis,spl -board = stm32f3discovery +board = disco_f303vc diff --git a/platformio/boards/stm32.json b/platformio/boards/stm32.json deleted file mode 100644 index 2dae3544..00000000 --- a/platformio/boards/stm32.json +++ /dev/null @@ -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 - } - } -} \ No newline at end of file diff --git a/platformio/boards/ststm32.json b/platformio/boards/ststm32.json new file mode 100644 index 00000000..0f5f673d --- /dev/null +++ b/platformio/boards/ststm32.json @@ -0,0 +1,280 @@ +{ + "disco_f407vg": { + "build": { + "core": "stm32", + "extra_flags": "-DSTM32F40_41xxx", + "f_cpu": "168000000L", + "ldscript": "stm32f405x6.ld", + "cpu": "cortex-m4", + "mcu": "stm32f407vgt6", + "variant": "stm32f4" + }, + "framework": "cmsis", + "name": "STM32F4DISCOVERY", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 131072, + "maximum_size": 1048576 + } + }, + "disco_l152rb": { + "build": { + "core": "stm32", + "extra_flags": "-DSTM32L1XX_MD", + "f_cpu": "32000000L", + "ldscript": "stm32l15xx6.ld", + "cpu": "cortex-m3", + "mcu": "stm32l152rbt6", + "variant": "stm32l1" + }, + "framework": "cmsis", + "name": "STM32LDISCOVERY", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 131072 + } + }, + "disco_f303vc": { + "build": { + "core": "stm32", + "extra_flags": "-DSTM32F303xC", + "f_cpu": "72000000L", + "ldscript": "stm32f30xx.ld", + "cpu": "cortex-m4", + "mcu": "stm32f303vct6", + "variant": "stm32f3" + }, + "framework": "cmsis", + "name": "STM32F3DISCOVERY", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 49152, + "maximum_size": 262144 + } + }, + "disco_f100rb": { + "build": { + "f_cpu": "24000000L", + "cpu": "cortex-m3", + "mcu": "stm32f100rbt6" + }, + "framework": "mbed", + "name": "STM32VLDISCOVERY", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 131072 + } + }, + "disco_f051r8": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "stm32f051r8t6" + }, + "framework": "mbed", + "name": "STM32F0DISCOVERY", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 65536 + } + }, + "disco_f334c8": { + "build": { + "f_cpu": "72000000L", + "cpu": "cortex-m4", + "mcu": "stm32f334c8t6" + }, + "framework": "mbed", + "name": "32F3348DISCOVERY", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 65536 + } + }, + "disco_f401vc": { + "build": { + "f_cpu": "84000000L", + "cpu": "cortex-m4", + "mcu": "stm32f401vct6" + }, + "framework": "mbed", + "name": "32F401CDISCOVERY", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 65536, + "maximum_size": 262144 + } + }, + "disco_f429zi": { + "build": { + "f_cpu": "180000000L", + "cpu": "cortex-m4", + "mcu": "stm32f429zit6" + }, + "framework": "mbed", + "name": "32F429IDISCOVERY", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 262144, + "maximum_size": 2097152 + } + }, + "nucleo_f030r8": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "stm32f030r8t6" + }, + "framework": "mbed", + "name": "ST Nucleo F030R8", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 65536 + } + }, + "nucleo_f070rb": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "stm32f070rbt6" + }, + "framework": "mbed", + "name": "ST Nucleo F070RB", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 131072 + } + }, + "nucleo_f072rb": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "stm32f072rbt6" + }, + "framework": "mbed", + "name": "ST Nucleo F072RB", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 131072 + } + }, + "nucleo_f091rc": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "stm32f091rct6" + }, + "framework": "mbed", + "name": "ST Nucleo F091RC", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 32768, + "maximum_size": 262144 + } + }, + "nucleo_f103rb": { + "build": { + "f_cpu": "72000000L", + "cpu": "cortex-m3", + "mcu": "stm32f103rbt6" + }, + "framework": "mbed", + "name": "ST Nucleo F103RB", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 20480, + "maximum_size": 131072 + } + }, + "nucleo_f302r8": { + "build": { + "f_cpu": "72000000L", + "cpu": "cortex-m4", + "mcu": "stm32f302r8t6" + }, + "framework": "mbed", + "name": "ST Nucleo F302R8", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 65536 + } + }, + "nucleo_f334r8": { + "build": { + "f_cpu": "72000000L", + "cpu": "cortex-m4", + "mcu": "stm32f334r8t6" + }, + "framework": "mbed", + "name": "ST Nucleo F334R8", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 65536 + } + }, + "nucleo_f401re": { + "build": { + "f_cpu": "84000000L", + "cpu": "cortex-m4", + "mcu": "stm32f401ret6" + }, + "framework": "mbed", + "name": "ST Nucleo F401RE", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 98304, + "maximum_size": 524288 + } + }, + "nucleo_f411re": { + "build": { + "f_cpu": "100000000L", + "cpu": "cortex-m4", + "mcu": "stm32f411ret6" + }, + "framework": "mbed", + "name": "ST Nucleo F411RE", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 131072, + "maximum_size": 524288 + } + }, + "nucleo_l053r8": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "stm32l053r8t6" + }, + "framework": "mbed", + "name": "ST Nucleo L053R8", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 65536 + } + }, + "nucleo_l152re": { + "build": { + "f_cpu": "32000000L", + "cpu": "cortex-m3", + "mcu": "stm32l152ret6" + }, + "framework": "mbed", + "name": "ST Nucleo L152RE", + "platform": "ststm32", + "upload": { + "maximum_ram_size": 81920, + "maximum_size": 524288 + } + } +} \ No newline at end of file diff --git a/platformio/builder/scripts/stm32.py b/platformio/builder/scripts/ststm32.py similarity index 67% rename from platformio/builder/scripts/stm32.py rename to platformio/builder/scripts/ststm32.py index 4cd991af..9bc2f4c8 100644 --- a/platformio/builder/scripts/stm32.py +++ b/platformio/builder/scripts/ststm32.py @@ -2,15 +2,23 @@ # See LICENSE for details. """ - Builder for STMicroelectronics - STM32 Series ARM microcontrollers. + Builder for ST STM32 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"))) @@ -38,13 +46,11 @@ env.Append( ] ) -CORELIBS = env.ProcessGeneral() - # # Target: Build executable and linkable firmware # -target_elf = env.BuildFirmware(["c", "gcc", "m", "nosys"] + CORELIBS) +target_elf = env.BuildFirmware() # # Target: Build the .bin file @@ -66,7 +72,10 @@ AlwaysBuild(target_size) # 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) # diff --git a/platformio/platforms/stm32.py b/platformio/platforms/ststm32.py similarity index 79% rename from platformio/platforms/stm32.py rename to platformio/platforms/ststm32.py index 63607d95..bf1e99bf 100644 --- a/platformio/platforms/stm32.py +++ b/platformio/platforms/ststm32.py @@ -4,10 +4,10 @@ from platformio.platforms.base import BasePlatform -class Stm32Platform(BasePlatform): +class Ststm32Platform(BasePlatform): """ - An embedded platform for STMicroelectronics ARM microcontrollers + An embedded platform for ST STM32 ARM microcontrollers """ PACKAGES = { @@ -36,5 +36,9 @@ class Stm32Platform(BasePlatform): "framework-opencm3": { "default": True + }, + + "framework-mbed": { + "default": True } } diff --git a/tests/commands/test_boards.py b/tests/commands/test_boards.py index 3dfd1a11..dfeef591 100644 --- a/tests/commands/test_boards.py +++ b/tests/commands/test_boards.py @@ -44,7 +44,7 @@ def test_board_options(platformio_setup, clirunner, validate_cliresult): def test_board_ldscripts(platformio_setup, clirunner, validate_cliresult): result = clirunner.invoke( install_cli, [ - "stm32", + "ststm32", "--skip-default-package", "--with-package=ldscripts" ]) From 5fa0a176a7ede46f296fb69ec0d87ccf546a0478 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Mon, 9 Mar 2015 12:22:24 +0200 Subject: [PATCH 02/16] Refactor CORELIBS per platform --- docs/platforms/creating_platform.rst | 6 +-- platformio/builder/scripts/atmelavr.py | 4 +- platformio/builder/scripts/atmelsam.py | 4 +- platformio/builder/scripts/basearm.py | 11 +++-- platformio/builder/scripts/baseavr.py | 2 + .../builder/scripts/frameworks/arduino.py | 4 +- .../builder/scripts/frameworks/cmsis.py | 4 +- .../builder/scripts/frameworks/energia.py | 4 +- .../builder/scripts/frameworks/opencm3.py | 4 +- platformio/builder/scripts/frameworks/spl.py | 4 +- platformio/builder/scripts/teensy.py | 4 +- platformio/builder/scripts/timsp430.py | 6 +-- platformio/builder/scripts/titiva.py | 4 +- platformio/builder/tools/platformio.py | 40 +++++++++++-------- 14 files changed, 50 insertions(+), 51 deletions(-) diff --git a/docs/platforms/creating_platform.rst b/docs/platforms/creating_platform.rst index 5347be01..9865beec 100644 --- a/docs/platforms/creating_platform.rst +++ b/docs/platforms/creating_platform.rst @@ -217,6 +217,8 @@ base template of ``test-builder.py``. CPPDEFINES=["DEFINE_1", "DEFINE=2", "DEFINE_N"], + LIBS=["additional", "libs", "here"], + UPLOADER=join("$PIOPACKAGES_DIR", "tool-bar", "uploader"), UPLOADCMD="$UPLOADER $SOURCES" ) @@ -238,12 +240,10 @@ base template of ``test-builder.py``. # The source code of "platformio-build-tool" is here # https://github.com/ivankravets/platformio/blob/develop/platformio/builder/tools/platformio.py - CORELIBS = env.ProcessGeneral() - # # Target: Build executable and linkable firmware # - target_elf = env.BuildFirmware(CORELIBS + ["additional", "libs", "here"]) + target_elf = env.BuildFirmware() # # Target: Build the .bin file diff --git a/platformio/builder/scripts/atmelavr.py b/platformio/builder/scripts/atmelavr.py index c32fe8b1..eacb925b 100644 --- a/platformio/builder/scripts/atmelavr.py +++ b/platformio/builder/scripts/atmelavr.py @@ -82,13 +82,11 @@ else: UPLOADEEPCMD='"$UPLOADER" $UPLOADERFLAGS -U eeprom:w:$SOURCES:i' ) -CORELIBS = env.ProcessGeneral() - # # 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 diff --git a/platformio/builder/scripts/atmelsam.py b/platformio/builder/scripts/atmelsam.py index 347cb75a..596872c8 100644 --- a/platformio/builder/scripts/atmelsam.py +++ b/platformio/builder/scripts/atmelsam.py @@ -68,13 +68,11 @@ env.Append( ] ) -CORELIBS = env.ProcessGeneral() - # # Target: Build executable and linkable firmware # -target_elf = env.BuildFirmware(["m", "gcc"] + CORELIBS) +target_elf = env.BuildFirmware() # # Target: Build the .bin file diff --git a/platformio/builder/scripts/basearm.py b/platformio/builder/scripts/basearm.py index 0cb81b83..9ae00990 100644 --- a/platformio/builder/scripts/basearm.py +++ b/platformio/builder/scripts/basearm.py @@ -50,16 +50,15 @@ env.Replace( "-mcpu=${BOARD_OPTIONS['build']['cpu']}" ], + LIBS=["c", "gcc", "m"], + 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( - ASFLAGS=[ - "-mfloat-abi=hard", - "-mfpu=fpv4-sp-d16" - ], - CCFLAGS=[ + CPPFLAGS=[ "-mfloat-abi=hard", "-mfpu=fpv4-sp-d16", "-fsingle-precision-constant" diff --git a/platformio/builder/scripts/baseavr.py b/platformio/builder/scripts/baseavr.py index bfe19df8..8a0384f1 100644 --- a/platformio/builder/scripts/baseavr.py +++ b/platformio/builder/scripts/baseavr.py @@ -47,6 +47,8 @@ env.Replace( "-Wl,--gc-sections" ], + LIBS=["m"], + SIZEPRINTCMD='"$SIZETOOL" --mcu=$BOARD_MCU -C -d $SOURCES' ) diff --git a/platformio/builder/scripts/frameworks/arduino.py b/platformio/builder/scripts/frameworks/arduino.py index 77ef6c88..f154d5c9 100644 --- a/platformio/builder/scripts/frameworks/arduino.py +++ b/platformio/builder/scripts/frameworks/arduino.py @@ -8,7 +8,7 @@ from os import listdir, walk from os.path import isfile, join -from SCons.Script import DefaultEnvironment, Return +from SCons.Script import DefaultEnvironment env = DefaultEnvironment() @@ -178,4 +178,4 @@ if env.subst("${PLATFORMFW_DIR}")[-3:] == "sam": join("$PLATFORMFW_DIR", "system", "libsam", "source") )) -Return("libs") +env.Append(LIBS=libs) diff --git a/platformio/builder/scripts/frameworks/cmsis.py b/platformio/builder/scripts/frameworks/cmsis.py index 4af5b98a..66bc005c 100644 --- a/platformio/builder/scripts/frameworks/cmsis.py +++ b/platformio/builder/scripts/frameworks/cmsis.py @@ -7,7 +7,7 @@ from os.path import join -from SCons.Script import DefaultEnvironment, Return +from SCons.Script import DefaultEnvironment env = DefaultEnvironment() @@ -39,4 +39,4 @@ libs.append(envsafe.BuildLibrary( join("$PLATFORMFW_DIR", "variants", "${BOARD_OPTIONS['build']['variant']}") )) -Return("libs") +env.Append(LIBS=libs) diff --git a/platformio/builder/scripts/frameworks/energia.py b/platformio/builder/scripts/frameworks/energia.py index a4f72a63..8e1e4901 100644 --- a/platformio/builder/scripts/frameworks/energia.py +++ b/platformio/builder/scripts/frameworks/energia.py @@ -7,7 +7,7 @@ from os.path import join -from SCons.Script import DefaultEnvironment, Return +from SCons.Script import DefaultEnvironment env = DefaultEnvironment() @@ -52,4 +52,4 @@ libs.append(env.BuildLibrary( join("$PLATFORMFW_DIR", "cores", "${BOARD_OPTIONS['build']['core']}") )) -Return("libs") +env.Append(LIBS=libs) diff --git a/platformio/builder/scripts/frameworks/opencm3.py b/platformio/builder/scripts/frameworks/opencm3.py index 5742429c..330fcd07 100644 --- a/platformio/builder/scripts/frameworks/opencm3.py +++ b/platformio/builder/scripts/frameworks/opencm3.py @@ -9,7 +9,7 @@ import re from os import listdir, sep, walk from os.path import isfile, join, normpath -from SCons.Script import DefaultEnvironment, Return +from SCons.Script import DefaultEnvironment from platformio.util import exec_command @@ -168,4 +168,4 @@ libs.append(env.Library( get_source_files(root_dir) )) -Return("libs") +env.Append(LIBS=libs) diff --git a/platformio/builder/scripts/frameworks/spl.py b/platformio/builder/scripts/frameworks/spl.py index ee19fc0c..b4644678 100644 --- a/platformio/builder/scripts/frameworks/spl.py +++ b/platformio/builder/scripts/frameworks/spl.py @@ -7,7 +7,7 @@ from os.path import join -from SCons.Script import DefaultEnvironment, Return +from SCons.Script import DefaultEnvironment env = DefaultEnvironment() @@ -61,4 +61,4 @@ libs.append(envsafe.BuildLibrary( ignore_files )) -Return("libs") +env.Append(LIBS=libs) diff --git a/platformio/builder/scripts/teensy.py b/platformio/builder/scripts/teensy.py index a6f9837c..140fa8fd 100644 --- a/platformio/builder/scripts/teensy.py +++ b/platformio/builder/scripts/teensy.py @@ -53,13 +53,11 @@ else: UPLOADHEXCMD='"$UPLOADER" $UPLOADERFLAGS' ) -CORELIBS = env.ProcessGeneral() - # # Target: Build executable and linkable firmware # -target_elf = env.BuildFirmware(["m"] + CORELIBS) +target_elf = env.BuildFirmware() # # Target: Build the firmware file diff --git a/platformio/builder/scripts/timsp430.py b/platformio/builder/scripts/timsp430.py index 98fbd1d1..90507539 100644 --- a/platformio/builder/scripts/timsp430.py +++ b/platformio/builder/scripts/timsp430.py @@ -48,6 +48,8 @@ env.Replace( "-Wl,-gc-sections,-u,main" ], + LIBS=["m"], + SIZEPRINTCMD='"$SIZETOOL" -B -d $SOURCES', UPLOADER=join("$PIOPACKAGES_DIR", "tool-mspdebug", "mspdebug"), @@ -74,13 +76,11 @@ env.Append( ) ) -CORELIBS = env.ProcessGeneral() - # # Target: Build executable and linkable firmware # -target_elf = env.BuildFirmware(["m"] + CORELIBS) +target_elf = env.BuildFirmware() # # Target: Build the .hex diff --git a/platformio/builder/scripts/titiva.py b/platformio/builder/scripts/titiva.py index b96d4b70..db14ecdf 100644 --- a/platformio/builder/scripts/titiva.py +++ b/platformio/builder/scripts/titiva.py @@ -27,13 +27,11 @@ env.Append( ] ) -CORELIBS = env.ProcessGeneral() - # # Target: Build executable and linkable firmware # -target_elf = env.BuildFirmware(["c", "gcc", "m"] + CORELIBS) +target_elf = env.BuildFirmware() # # Target: Build the .bin file diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index 37931953..e83bf8d4 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -10,7 +10,7 @@ from SCons.Script import SConscript, SConscriptChdir from SCons.Util import case_sensitive_suffixes -def ProcessGeneral(env): +def BuildFirmware(env): # fix ASM handling under non-casitive OS if not case_sensitive_suffixes('.s', '.S'): env.Replace( @@ -24,20 +24,8 @@ def ProcessGeneral(env): if "BUILD_FLAGS" in env: env.MergeFlags(env['BUILD_FLAGS']) - corelibs = [] - 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 + env.BuildFramework() - -def BuildFirmware(env, corelibs): firmenv = env.Clone() vdirs = firmenv.VariantDirRecursive( join("$BUILD_DIR", "src"), "$PROJECTSRC_DIR") @@ -59,12 +47,15 @@ def BuildFirmware(env, corelibs): _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( join("$BUILD_DIR", "firmware"), [firmenv.GlobCXXFiles(vdir) for vdir in vdirs], - LIBS=corelibs + deplibs, + LIBS=env.get("LIBS") + deplibs, LIBPATH="$BUILD_DIR", PROGSUFFIX=".elf" ) @@ -95,6 +86,21 @@ def VariantDirRecursive(env, variant_dir, src_dir, duplicate=True, 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(","): + SConscriptChdir(0) + SConscript( + env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks", + "%s.py" % f.strip().lower())) + ) + + def BuildLibrary(env, variant_dir, library_dir, ignore_files=None): lib = env.Clone() vdirs = lib.VariantDirRecursive( @@ -303,10 +309,10 @@ def exists(_): def generate(env): - env.AddMethod(ProcessGeneral) env.AddMethod(BuildFirmware) env.AddMethod(GlobCXXFiles) env.AddMethod(VariantDirRecursive) + env.AddMethod(BuildFramework) env.AddMethod(BuildLibrary) env.AddMethod(BuildDependentLibraries) env.AddMethod(ConvertInoToCpp) From 4a8cd9914b0fbe68fa0d01f40a5cda25b0431690 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Mon, 9 Mar 2015 12:27:30 +0200 Subject: [PATCH 03/16] Add new platforms and boards: Freescale, Nordic, NXP and etc. --- docs/platforms/freescalekinetis.rst | 104 ++++++++++ docs/platforms/index.rst | 3 + docs/platforms/nordicnrf51.rst | 110 +++++++++++ docs/platforms/nxplpc.rst | 146 ++++++++++++++ platformio/boards/adafruit.json | 4 +- platformio/boards/freescalekinetis.json | 87 +++++++++ platformio/boards/nordicnrf51.json | 102 ++++++++++ platformio/boards/nxplpc.json | 184 ++++++++++++++++++ .../builder/scripts/freescalekinetis.py | 59 ++++++ platformio/builder/scripts/nordicnrf51.py | 59 ++++++ platformio/builder/scripts/nxplpc.py | 59 ++++++ platformio/commands/boards.py | 2 +- platformio/platforms/freescalekinetis.py | 23 +++ platformio/platforms/nordicnrf51.py | 23 +++ platformio/platforms/nxplpc.py | 23 +++ 15 files changed, 985 insertions(+), 3 deletions(-) create mode 100644 docs/platforms/freescalekinetis.rst create mode 100644 docs/platforms/nordicnrf51.rst create mode 100644 docs/platforms/nxplpc.rst create mode 100644 platformio/boards/freescalekinetis.json create mode 100644 platformio/boards/nordicnrf51.json create mode 100644 platformio/boards/nxplpc.json create mode 100644 platformio/builder/scripts/freescalekinetis.py create mode 100644 platformio/builder/scripts/nordicnrf51.py create mode 100644 platformio/builder/scripts/nxplpc.py create mode 100644 platformio/platforms/freescalekinetis.py create mode 100644 platformio/platforms/nordicnrf51.py create mode 100644 platformio/platforms/nxplpc.py diff --git a/docs/platforms/freescalekinetis.rst b/docs/platforms/freescalekinetis.rst new file mode 100644 index 00000000..de5f7aa4 --- /dev/null +++ b/docs/platforms/freescalekinetis.rst @@ -0,0 +1,104 @@ +.. _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. + +.. contents:: + +Packages +-------- + +.. list-table:: + :header-rows: 1 + + * - Name + - Alias + - Contents + * - ``toolchain-gccarmnoneeabi`` + - toolchain + - `gcc-arm-embedded `_, + `GDB `_ + * - ``framework-mbed`` + - + - See below in :ref:`freescalekinetis_frameworks` + +.. warning:: + **Linux Users:** Don't forget to install "udev" rules file + `99-platformio-udev.rules `_ (an instruction is located in the file). + + +.. _freescalekinetis_frameworks: + +Frameworks +---------- + +.. list-table:: + :header-rows: 1 + + * - Type ``framework`` + - Name + - Reference + * - ``mbed`` + - MBED Framework + - `Documentation `__ + + +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 + * - ``frdm_kl05z`` + - `Freescale Kinetis FRDM-KL05Z `_ + - MKL05Z32VFM4 ``cortex-m0plus`` + - 48 MHz ``48000000L`` + - 32 Kb + - 4 Kb + * - ``frdm_kl25z`` + - `Freescale Kinetis FRDM-KL25Z `_ + - MKL25Z128VLK4 ``cortex-m0plus`` + - 48 MHz ``48000000L`` + - 128 Kb + - 16 Kb + * - ``frdm_kl46z`` + - `Freescale Kinetis FRDM-KL46Z `_ + - MKL46Z256Vll4 ``cortex-m0plus`` + - 48 MHz ``48000000L`` + - 256 Kb + - 32 Kb + * - ``frdm_k22f`` + - `Freescale Kinetis FRDM-K22F `_ + - MK22FN512VLH12 ``cortex-m4`` + - 120 MHz ``120000000L`` + - 512 Kb + - 128 Kb + * - ``frdm_k64f`` + - `Freescale Kinetis FRDM-K64F `_ + - MK64fN1M0VLL12 ``cortex-m4`` + - 120 MHz ``120000000L`` + - 1 Mb + - 256 Kb + * - ``frdm_k20d50m`` + - `Freescale Kinetis FRDM-K20D50M `_ + - MK20DX128VLH5 ``cortex-m4`` + - 48 MHz ``48000000L`` + - 128 Kb + - 16 Kb + + +More detailed information you can find here +`Freescale Kinetis platforms with support MBED framework `_. diff --git a/docs/platforms/index.rst b/docs/platforms/index.rst index ee95d183..220c3a67 100644 --- a/docs/platforms/index.rst +++ b/docs/platforms/index.rst @@ -16,6 +16,9 @@ MCU, upload protocol or etc. Please use ``board`` option. atmelavr atmelsam + freescalekinetis + nordicnrf51 + nxplpc ststm32 teensy timsp430 diff --git a/docs/platforms/nordicnrf51.rst b/docs/platforms/nordicnrf51.rst new file mode 100644 index 00000000..6241ee64 --- /dev/null +++ b/docs/platforms/nordicnrf51.rst @@ -0,0 +1,110 @@ +.. _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. + +.. contents:: + +Packages +-------- + +.. list-table:: + :header-rows: 1 + + * - Name + - Alias + - Contents + * - ``toolchain-gccarmnoneeabi`` + - toolchain + - `gcc-arm-embedded `_, + `GDB `_ + * - ``framework-mbed`` + - + - See below in :ref:`nordicnrf51_frameworks` + +.. warning:: + **Linux Users:** Don't forget to install "udev" rules file + `99-platformio-udev.rules `_ (an instruction is located in the file). + + +.. _nordicnrf51_frameworks: + +Frameworks +---------- + +.. list-table:: + :header-rows: 1 + + * - Type ``framework`` + - Name + - Reference + * - ``mbed`` + - MBED Framework + - `Documentation `__ + + +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 + * - ``nrf51_mkit`` + - `Nordic nRF51822-mKIT `_ + - nrf51822 ``cortex-m0`` + - 16 MHz ``16000000L`` + - 128 Kb + - 16 Kb + * - ``nrf51_dongle`` + - `Nordic nRF51-Dongle `_ + - nrf51822/nrf51422 ``cortex-m0`` + - 32 MHz ``32000000L`` + - 256 Kb + - 16 Kb + * - ``nrf51_dk`` + - `Nordic nRF51-DK `_ + - nrf51822/nrf51422 ``cortex-m0`` + - 32 MHz ``32000000L`` + - 256 Kb + - 16 Kb + * - ``redBearLab`` + - `RedBearLab nRF51822 `_ + - nrf51822 ``cortex-m0`` + - 16 MHz ``16000000L`` + - 256 Kb + - 16 Kb + * - ``redBearLabBLENano`` + - `RedBearLab BLE Nano `_ + - nrf51822 ``cortex-m0`` + - 16 MHz ``16000000L`` + - 256 Kb + - 16 Kb + * - ``wallBotBLE`` + - `JKSoft Wallbot BLE `_ + - nrf51822 ``cortex-m0`` + - 16 MHz ``16000000L`` + - 128 Kb + - 16 Kb + * - ``hrm1017`` + - `Switch Science mbed HRM1017 `_ + - nrf51822 ``cortex-m0`` + - 16 MHz ``16000000L`` + - 128 Kb + - 16 Kb + + +More detailed information you can find here +`nRF51 platforms with support MBED framework `_. diff --git a/docs/platforms/nxplpc.rst b/docs/platforms/nxplpc.rst new file mode 100644 index 00000000..d8dcff37 --- /dev/null +++ b/docs/platforms/nxplpc.rst @@ -0,0 +1,146 @@ +.. _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. + +.. contents:: + +Packages +-------- + +.. list-table:: + :header-rows: 1 + + * - Name + - Alias + - Contents + * - ``toolchain-gccarmnoneeabi`` + - toolchain + - `gcc-arm-embedded `_, + `GDB `_ + * - ``framework-mbed`` + - + - See below in :ref:`nxplpc_frameworks` + +.. warning:: + **Linux Users:** Don't forget to install "udev" rules file + `99-platformio-udev.rules `_ (an instruction is located in the file). + + +.. _nxplpc_frameworks: + +Frameworks +---------- + +.. list-table:: + :header-rows: 1 + + * - Type ``framework`` + - Name + - Reference + * - ``mbed`` + - MBED Framework + - `Documentation `__ + + +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 + * - ``lpc1549`` + - `LPCXpresso1549 `_ + - LPC1549 ``cortex-m3`` + - 72 MHz ``72000000L`` + - 256 Kb + - 36 Kb + * - ``lpc1768`` + - `mbed LPC1768 `_ + - LPC1768 ``cortex-m3`` + - 96 MHz ``96000000L`` + - 512 Kb + - 32 Kb + * - ``seeeduinoArchPro`` + - `Seeeduino-Arch-Pro `_ + - LPC1768 ``cortex-m3`` + - 96 MHz ``96000000L`` + - 512 Kb + - 32 Kb + * - ``ubloxc027`` + - `U-blox C027 `_ + - LPC1768 ``cortex-m3`` + - 96 MHz ``96000000L`` + - 512 Kb + - 32 Kb + * - ``lpc1114fn28`` + - `mbed LPC1114FN28 `_ + - LPC1114FN28 ``cortex-m0`` + - 48 MHz ``48000000L`` + - 32 Kb + - 4 Kb + * - ``lpc11u24`` + - `mbed LPC11U24 `_ + - LPC11U24 ``cortex-m0`` + - 48 MHz ``48000000L`` + - 32 Kb + - 8 Kb + * - ``dipcortexm0`` + - `DipCortex M0 `_ + - LPC11U24 ``cortex-m0`` + - 50 MHz ``50000000L`` + - 32 Kb + - 8 Kb + * - ``blueboard_lpc11u24`` + - `BlueBoard-LPC11U24 `_ + - LPC11U24 ``cortex-m0`` + - 48 MHz ``48000000L`` + - 32 Kb + - 8 Kb + * - ``mbuino`` + - `Outrageous Circuits mBuino `_ + - LPC11U24 ``cortex-m0`` + - 50 MHz ``50000000L`` + - 32 Kb + - 8 Kb + * - ``lpc11u35`` + - `EA LPC11U35 QuickStart Board `_ + - LPC11U35 ``cortex-m0`` + - 48 MHz ``48000000L`` + - 64 Kb + - 10 Kb + * - ``lpc11u35_501`` + - `TG-LPC11U35-501 QuickStart Board `_ + - LPC11U35 ``cortex-m0`` + - 48 MHz ``48000000L`` + - 64 Kb + - 10 Kb + * - ``lpc4088`` + - `EA LPC4088 QuickStart Board `_ + - LPC4088 ``cortex-m4`` + - 120 MHz ``120000000L`` + - 512 Kb + - 96 Kb + * - ``lpc4088_dm`` + - `EA LPC4088 Display Module `_ + - LPC4088 ``cortex-m4`` + - 120 MHz ``120000000L`` + - 512 Kb + - 96 Kb + + +More detailed information you can find here +`NXP platforms with support MBED framework `_. diff --git a/platformio/boards/adafruit.json b/platformio/boards/adafruit.json index 4e7832d0..3ace87a3 100644 --- a/platformio/boards/adafruit.json +++ b/platformio/boards/adafruit.json @@ -34,7 +34,7 @@ "variant": "tiny8" }, "framework": "arduino", - "name": "Adafruit Trinket 8MHz", + "name": "Adafruit Trinket 3V/8MHz", "platform": "atmelavr", "upload": { "maximum_ram_size": 512, @@ -52,7 +52,7 @@ "variant": "tiny8" }, "framework": "arduino", - "name": "Adafruit Trinket 16MHz", + "name": "Adafruit Trinket 5V/16MHz", "platform": "atmelavr", "upload": { "maximum_ram_size": 512, diff --git a/platformio/boards/freescalekinetis.json b/platformio/boards/freescalekinetis.json new file mode 100644 index 00000000..9eb9a25e --- /dev/null +++ b/platformio/boards/freescalekinetis.json @@ -0,0 +1,87 @@ +{ + "frdm_kl25z": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0plus", + "mcu": "mkl25z128vlk4" + }, + "framework": "mbed", + "name": "Freescale Kinetis FRDM-KL25Z", + "platform": "freescalekinetis", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 131072 + } + }, + "frdm_kl46z": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0plus", + "mcu": "mkl46z256vll4" + }, + "framework": "mbed", + "name": "Freescale Kinetis FRDM-KL46Z", + "platform": "freescalekinetis", + "upload": { + "maximum_ram_size": 32768, + "maximum_size": 262144 + } + }, + "frdm_k64f": { + "build": { + "f_cpu": "120000000L", + "cpu": "cortex-m4", + "mcu": "mk64fn1m0vll12" + }, + "framework": "mbed", + "name": "Freescale Kinetis FRDM-K64F", + "platform": "freescalekinetis", + "upload": { + "maximum_ram_size": 262144, + "maximum_size": 1048567 + } + }, + "frdm_kl05z": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0plus", + "mcu": "mkl05z32vfm4" + }, + "framework": "mbed", + "name": "Freescale Kinetis FRDM-KL05Z", + "platform": "freescalekinetis", + "upload": { + "maximum_ram_size": 4096, + "maximum_size": 32768 + } + }, + "frdm_k20d50m": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m4", + "mcu": "mk20dx128vlh5" + }, + "framework": "mbed", + "name": "Freescale Kinetis FRDM-K20D50M", + "platform": "freescalekinetis", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 131072 + } + } + , + "frdm_k22f": { + "build": { + "f_cpu": "120000000L", + "cpu": "cortex-m4", + "mcu": "mk22fn512vlh12" + }, + "framework": "mbed", + "name": "Freescale Kinetis FRDM-K22F", + "platform": "freescalekinetis", + "upload": { + "maximum_ram_size": 131072, + "maximum_size": 524288 + } + } +} \ No newline at end of file diff --git a/platformio/boards/nordicnrf51.json b/platformio/boards/nordicnrf51.json new file mode 100644 index 00000000..f7202b31 --- /dev/null +++ b/platformio/boards/nordicnrf51.json @@ -0,0 +1,102 @@ +{ + "nrf51_mkit": { + "build": { + "f_cpu": "16000000L", + "cpu": "cortex-m0", + "mcu": "nrf51822" + }, + "framework": "mbed", + "name": "Nordic nRF51822-mKIT", + "platform": "nordicnrf51", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 131072 + } + }, + "hrm1017": { + "build": { + "f_cpu": "16000000L", + "cpu": "cortex-m0", + "mcu": "nrf51822" + }, + "framework": "mbed", + "name": "Switch Science mbed HRM1017", + "platform": "nordicnrf51", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 262144 + } + }, + "redBearLab": { + "build": { + "f_cpu": "16000000L", + "cpu": "cortex-m0", + "mcu": "nrf51822" + }, + "framework": "mbed", + "name": "RedBearLab nRF51822", + "platform": "nordicnrf51", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 262144 + } + }, + "nrf51_dk": { + "build": { + "f_cpu": "32000000L", + "cpu": "cortex-m0", + "mcu": "nrf51822" + }, + "framework": "mbed", + "name": "Nordic nRF51-DK", + "platform": "nordicnrf51", + "upload": { + "maximum_ram_size": 32384, + "maximum_size": 262144 + } + }, + "redBearLabBLENano": { + "build": { + "f_cpu": "16000000L", + "cpu": "cortex-m0", + "mcu": "nrf51822" + }, + "framework": "mbed", + "name": "RedBearLab BLE Nano", + "platform": "nordicnrf51", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 262144 + } + }, + "nrf51_dongle": { + "build": { + "f_cpu": "32000000L", + "cpu": "cortex-m0", + "mcu": "nrf51822" + }, + "framework": "mbed", + "name": "Nordic nRF51-Dongle", + "platform": "nordicnrf51", + "upload": { + "maximum_ram_size": 32384, + "maximum_size": 262144 + } + } + , + "wallBotBLE": { + "build": { + "f_cpu": "16000000L", + "cpu": "cortex-m0", + "mcu": "nrf51822" + }, + "framework": "mbed", + "name": "JKSoft Wallbot BLE", + "platform": "nordicnrf51", + "upload": { + "maximum_ram_size": 16384, + "maximum_size": 131072 + } + } + +} \ No newline at end of file diff --git a/platformio/boards/nxplpc.json b/platformio/boards/nxplpc.json new file mode 100644 index 00000000..de012c48 --- /dev/null +++ b/platformio/boards/nxplpc.json @@ -0,0 +1,184 @@ +{ + "lpc1768": { + "build": { + "f_cpu": "96000000L", + "cpu": "cortex-m3", + "mcu": "lpc1768" + }, + "framework": "mbed", + "name": "mbed LPC1768", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 32768, + "maximum_size": 524288 + } + }, + "lpc11u24": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "lpc11u24" + }, + "framework": "mbed", + "name": "mbed LPC11U24", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 32768 + } + }, + "lpc4088": { + "build": { + "f_cpu": "120000000L", + "cpu": "cortex-m4", + "mcu": "lpc4088" + }, + "framework": "mbed", + "name": "EA LPC4088 QuickStart Board", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 98304, + "maximum_size": 524288 + } + }, + "dipcortexm0": { + "build": { + "f_cpu": "50000000L", + "cpu": "cortex-m0", + "mcu": "lpc11u24" + }, + "framework": "mbed", + "name": "DipCortex M0", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 32768 + } + }, + "blueboard_lpc11u24": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "lpc11u24" + }, + "framework": "mbed", + "name": "BlueBoard-LPC11U24", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 32768 + } + }, + "seeeduinoArchPro": { + "build": { + "f_cpu": "96000000L", + "cpu": "cortex-m3", + "mcu": "lpc1768" + }, + "framework": "mbed", + "name": "Seeeduino-Arch-Pro", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 32768, + "maximum_size": 524288 + } + }, + "ubloxc027": { + "build": { + "f_cpu": "96000000L", + "cpu": "cortex-m3", + "mcu": "lpc1768" + }, + "framework": "mbed", + "name": "u-blox C027", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 32768, + "maximum_size": 524288 + } + }, + "lpc1114fn28": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "lpc1114fn28" + }, + "framework": "mbed", + "name": "mbed LPC1114FN28", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 4096, + "maximum_size": 32768 + } + }, + "lpc11u35": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "lpc11u35" + }, + "framework": "mbed", + "name": "EA LPC11U35 QuickStart Board", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 10240, + "maximum_size": 65536 + } + }, + "lpc11u35_501": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "lpc11u35" + }, + "framework": "mbed", + "name": "TG-LPC11U35-501", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 10240, + "maximum_size": 65536 + } + }, + "lpc1549": { + "build": { + "f_cpu": "72000000L", + "cpu": "cortex-m3", + "mcu": "lpc1549" + }, + "framework": "mbed", + "name": "LPCXpresso1549", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 36864, + "maximum_size": 262144 + } + }, + "mbuino": { + "build": { + "f_cpu": "48000000L", + "cpu": "cortex-m0", + "mcu": "lpc11u24" + }, + "framework": "mbed", + "name": "Outrageous Circuits mBuino", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 8192, + "maximum_size": 32768 + } + }, + "lpc4088_dm": { + "build": { + "f_cpu": "120000000L", + "cpu": "cortex-m4", + "mcu": "lpc4088" + }, + "framework": "mbed", + "name": "EA LPC4088 Display Module", + "platform": "nxplpc", + "upload": { + "maximum_ram_size": 98304, + "maximum_size": 524288 + } + } +} \ No newline at end of file diff --git a/platformio/builder/scripts/freescalekinetis.py b/platformio/builder/scripts/freescalekinetis.py new file mode 100644 index 00000000..bb5f7048 --- /dev/null +++ b/platformio/builder/scripts/freescalekinetis.py @@ -0,0 +1,59 @@ +# Copyright (C) Ivan Kravets +# 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]) diff --git a/platformio/builder/scripts/nordicnrf51.py b/platformio/builder/scripts/nordicnrf51.py new file mode 100644 index 00000000..1460b81d --- /dev/null +++ b/platformio/builder/scripts/nordicnrf51.py @@ -0,0 +1,59 @@ +# Copyright (C) Ivan Kravets +# 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]) diff --git a/platformio/builder/scripts/nxplpc.py b/platformio/builder/scripts/nxplpc.py new file mode 100644 index 00000000..4782c81e --- /dev/null +++ b/platformio/builder/scripts/nxplpc.py @@ -0,0 +1,59 @@ +# Copyright (C) Ivan Kravets +# 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]) diff --git a/platformio/commands/boards.py b/platformio/commands/boards.py index 400a4ae4..1bb89f21 100644 --- a/platformio/commands/boards.py +++ b/platformio/commands/boards.py @@ -16,7 +16,7 @@ def cli(query, json_output): # pylint: disable=R0912 if json_output: 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}") grpboards = {} diff --git a/platformio/platforms/freescalekinetis.py b/platformio/platforms/freescalekinetis.py new file mode 100644 index 00000000..09243ec8 --- /dev/null +++ b/platformio/platforms/freescalekinetis.py @@ -0,0 +1,23 @@ +# Copyright (C) Ivan Kravets +# See LICENSE for details. + +from platformio.platforms.base import BasePlatform + + +class FreescalekinetisPlatform(BasePlatform): + + """ + An embedded platform for Freescale Kinetis series ARM microcontrollers + """ + + PACKAGES = { + + "toolchain-gccarmnoneeabi": { + "alias": "toolchain", + "default": True + }, + + "framework-mbed": { + "default": True + } + } diff --git a/platformio/platforms/nordicnrf51.py b/platformio/platforms/nordicnrf51.py new file mode 100644 index 00000000..17126aac --- /dev/null +++ b/platformio/platforms/nordicnrf51.py @@ -0,0 +1,23 @@ +# Copyright (C) Ivan Kravets +# See LICENSE for details. + +from platformio.platforms.base import BasePlatform + + +class Nordicnrf51Platform(BasePlatform): + + """ + An embedded platform for Nordic nRF51 series ARM microcontrollers + """ + + PACKAGES = { + + "toolchain-gccarmnoneeabi": { + "alias": "toolchain", + "default": True + }, + + "framework-mbed": { + "default": True + } + } diff --git a/platformio/platforms/nxplpc.py b/platformio/platforms/nxplpc.py new file mode 100644 index 00000000..9c9e3152 --- /dev/null +++ b/platformio/platforms/nxplpc.py @@ -0,0 +1,23 @@ +# Copyright (C) Ivan Kravets +# See LICENSE for details. + +from platformio.platforms.base import BasePlatform + + +class NxplpcPlatform(BasePlatform): + + """ + An embedded platform for NXP LPC series ARM microcontrollers + """ + + PACKAGES = { + + "toolchain-gccarmnoneeabi": { + "alias": "toolchain", + "default": True + }, + + "framework-mbed": { + "default": True + } + } From d3b9322d3bad2e983c500865721516456256cf11 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Mon, 9 Mar 2015 12:27:54 +0200 Subject: [PATCH 04/16] Initial support for MBED Framework --- examples/mbed/mbed-blink/README.rst | 21 +++ examples/mbed/mbed-blink/platformio.ini | 43 ++++++ examples/mbed/mbed-blink/src/main.cpp | 12 ++ platformio/builder/scripts/frameworks/mbed.py | 140 ++++++++++++++++++ platformio/builder/tools/pioupload.py | 26 +++- platformio/util.py | 29 +++- scripts/mbed_to_package.py | 64 ++++++++ 7 files changed, 326 insertions(+), 9 deletions(-) create mode 100644 examples/mbed/mbed-blink/README.rst create mode 100644 examples/mbed/mbed-blink/platformio.ini create mode 100644 examples/mbed/mbed-blink/src/main.cpp create mode 100644 platformio/builder/scripts/frameworks/mbed.py create mode 100644 scripts/mbed_to_package.py diff --git a/examples/mbed/mbed-blink/README.rst b/examples/mbed/mbed-blink/README.rst new file mode 100644 index 00000000..b36ea0e3 --- /dev/null +++ b/examples/mbed/mbed-blink/README.rst @@ -0,0 +1,21 @@ +How to buid PlatformIO based project +==================================== + +1. `Install PlatformIO `_ +2. Download `source code with examples `_ +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 diff --git a/examples/mbed/mbed-blink/platformio.ini b/examples/mbed/mbed-blink/platformio.ini new file mode 100644 index 00000000..bbef0cbe --- /dev/null +++ b/examples/mbed/mbed-blink/platformio.ini @@ -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 \ No newline at end of file diff --git a/examples/mbed/mbed-blink/src/main.cpp b/examples/mbed/mbed-blink/src/main.cpp new file mode 100644 index 00000000..8247a2e9 --- /dev/null +++ b/examples/mbed/mbed-blink/src/main.cpp @@ -0,0 +1,12 @@ +#include "mbed.h" + +DigitalOut myled(LED1); + +int main() { + while(1) { + myled = 1; + wait(1); + myled = 0; + wait(1); + } +} \ No newline at end of file diff --git a/platformio/builder/scripts/frameworks/mbed.py b/platformio/builder/scripts/frameworks/mbed.py new file mode 100644 index 00000000..03f54616 --- /dev/null +++ b/platformio/builder/scripts/frameworks/mbed.py @@ -0,0 +1,140 @@ +# Copyright (C) Ivan Kravets +# See LICENSE for details. + +""" + Build script for Mbed Framework +""" + +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) diff --git a/platformio/builder/tools/pioupload.py b/platformio/builder/tools/pioupload.py index 130fd22f..512615b6 100644 --- a/platformio/builder/tools/pioupload.py +++ b/platformio/builder/tools/pioupload.py @@ -7,7 +7,7 @@ from time import sleep from SCons.Script import Exit from serial import Serial -from platformio.util import get_serialports +from platformio.util import get_logicaldisks, get_serialports def FlushSerialBuffer(env, port): @@ -52,16 +52,28 @@ def WaitForNewSerialPort(_, before): 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(): - if "VID:PID" in item['hwid']: - print "Auto-detected UPLOAD_PORT: %s" % item['port'] - env.Replace(UPLOAD_PORT=item['port']) - break + if "VID:PID" not in item['hwid']: + continue + print "Auto-detected UPLOAD_PORT: %s" % item['port'] + env.Replace(UPLOAD_PORT=item['port']) + break if "UPLOAD_PORT" not in env: 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(_): diff --git a/platformio/util.py b/platformio/util.py index b4f0473c..9c1007b8 100644 --- a/platformio/util.py +++ b/platformio/util.py @@ -3,8 +3,10 @@ import json import os +import re 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 threading import Thread @@ -173,7 +175,30 @@ def get_serialports(): from serial.tools.list_ports_posix import comports else: 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): diff --git a/scripts/mbed_to_package.py b/scripts/mbed_to_package.py new file mode 100644 index 00000000..e56d0f05 --- /dev/null +++ b/scripts/mbed_to_package.py @@ -0,0 +1,64 @@ +# Copyright (C) Ivan Kravets +# 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()) From 326cf0da7dc553e4de0b3d14aecb5ce38baa560f Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 17:48:04 +0200 Subject: [PATCH 05/16] Add "vendor" and "url" field to board options, change "framework" field to "frameworks" // Resolve #113 --- platformio/boards/adafruit.json | 42 ++++--- platformio/boards/arduino.json | 190 ++++++++++++++++++++---------- platformio/boards/digistump.json | 30 +++-- platformio/boards/engduino.json | 18 ++- platformio/boards/microduino.json | 54 ++++++--- platformio/boards/misc.json | 22 ++-- platformio/boards/teensy.json | 24 ++-- platformio/boards/timsp430.json | 44 ++++--- platformio/boards/titiva.json | 18 ++- 9 files changed, 293 insertions(+), 149 deletions(-) diff --git a/platformio/boards/adafruit.json b/platformio/boards/adafruit.json index 3ace87a3..9618e995 100644 --- a/platformio/boards/adafruit.json +++ b/platformio/boards/adafruit.json @@ -10,7 +10,7 @@ "variant": "flora", "vid": "0x239A" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Adafruit Flora", "platform": "atmelavr", "upload": { @@ -22,7 +22,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": false - } + }, + "url": "http://www.adafruit.com/product/659", + "vendor": "Adafruit" }, "trinket3": { @@ -33,14 +35,16 @@ "mcu": "attiny85", "variant": "tiny8" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Adafruit Trinket 3V/8MHz", "platform": "atmelavr", "upload": { "maximum_ram_size": 512, "maximum_size": 8192, "protocol": "usbtiny" - } + }, + "url": "http://www.adafruit.com/products/1500", + "vendor": "Adafruit" }, "trinket5": { @@ -51,14 +55,16 @@ "mcu": "attiny85", "variant": "tiny8" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Adafruit Trinket 5V/16MHz", "platform": "atmelavr", "upload": { "maximum_ram_size": 512, "maximum_size": 8192, "protocol": "usbtiny" - } + }, + "url": "http://www.adafruit.com/products/1501", + "vendor": "Adafruit" }, "protrinket3": { @@ -69,14 +75,16 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Pro Trinket 3V/12MHz (USB)", "platform": "atmelavr", "upload": { "maximum_ram_size": 2048, "maximum_size": 28672, "protocol": "usbtiny" - } + }, + "url": "http://www.adafruit.com/products/2010", + "vendor": "Adafruit" }, "protrinket5": { @@ -87,14 +95,16 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Pro Trinket 5V/16MHz (USB)", "platform": "atmelavr", "upload": { "maximum_ram_size": 2048, "maximum_size": 28672, "protocol": "usbtiny" - } + }, + "url": "http://www.adafruit.com/products/2000", + "vendor": "Adafruit" }, "protrinket3ftdi": { "build": { @@ -104,7 +114,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Pro Trinket 3V/12MHz (FTDI)", "platform": "atmelavr", "upload": { @@ -113,7 +123,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "http://www.adafruit.com/products/2010", + "vendor": "Adafruit" }, "protrinket5ftdi": { "build": { @@ -123,7 +135,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Pro Trinket 5V/16MHz (USB)", "platform": "atmelavr", "upload": { @@ -132,6 +144,8 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "http://www.adafruit.com/products/2000", + "vendor": "Adafruit" } } \ No newline at end of file diff --git a/platformio/boards/arduino.json b/platformio/boards/arduino.json index 43779bc1..76f90725 100644 --- a/platformio/boards/arduino.json +++ b/platformio/boards/arduino.json @@ -10,7 +10,7 @@ "variant": "leonardo", "vid": "0x1B4F" }, - "framework": "arduino", + "frameworks": "arduino", "name": "LilyPad Arduino USB", "platform": "atmelavr", "upload": { @@ -22,7 +22,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardLilyPadUSB", + "vendor": "Arduino" }, "atmegangatmega168": { "build": { @@ -32,7 +34,7 @@ "mcu": "atmega168", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino NG or older ATmega168", "platform": "atmelavr", "upload": { @@ -41,7 +43,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/main/boards", + "vendor": "Arduino" }, "atmegangatmega8": { "build": { @@ -51,7 +55,7 @@ "mcu": "atmega8", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino NG or older ATmega8", "platform": "atmelavr", "upload": { @@ -60,7 +64,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/main/boards", + "vendor": "Arduino" }, "btatmega168": { "build": { @@ -70,7 +76,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino BT ATmega168", "platform": "atmelavr", "upload": { @@ -80,7 +86,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/main/boards", + "vendor": "Arduino" }, "btatmega328": { "build": { @@ -90,7 +98,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino BT ATmega328", "platform": "atmelavr", "upload": { @@ -100,7 +108,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/main/boards", + "vendor": "Arduino" }, "diecimilaatmega168": { "build": { @@ -110,7 +120,7 @@ "mcu": "atmega168", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Duemilanove or Diecimila ATmega168", "platform": "atmelavr", "upload": { @@ -119,7 +129,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardDiecimila", + "vendor": "Arduino" }, "diecimilaatmega328": { "build": { @@ -129,7 +141,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Duemilanove or Diecimila ATmega328", "platform": "atmelavr", "upload": { @@ -138,7 +150,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardDiecimila", + "vendor": "Arduino" }, "esplora": { "build": { @@ -151,7 +165,7 @@ "variant": "leonardo", "vid": "0x2341" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Esplora", "platform": "atmelavr", "upload": { @@ -163,7 +177,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardEsplora", + "vendor": "Arduino" }, "ethernet": { "build": { @@ -173,7 +189,7 @@ "mcu": "atmega328p", "variant": "ethernet" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Ethernet", "platform": "atmelavr", "upload": { @@ -182,7 +198,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardEthernet", + "vendor": "Arduino" }, "fio": { "build": { @@ -192,7 +210,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Fio", "platform": "atmelavr", "upload": { @@ -201,7 +219,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardFio", + "vendor": "Arduino" }, "leonardo": { "build": { @@ -214,7 +234,7 @@ "variant": "leonardo", "vid": "0x2341" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Leonardo", "platform": "atmelavr", "upload": { @@ -226,7 +246,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/arduinoBoardLeonardo", + "vendor": "Arduino" }, "lilypadatmega168": { "build": { @@ -236,7 +258,7 @@ "mcu": "atmega168", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "LilyPad Arduino ATmega168", "platform": "atmelavr", "upload": { @@ -245,7 +267,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardLilyPad", + "vendor": "Arduino" }, "lilypadatmega328": { "build": { @@ -255,7 +279,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "LilyPad Arduino ATmega328", "platform": "atmelavr", "upload": { @@ -264,7 +288,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardLilyPad", + "vendor": "Arduino" }, "megaADK": { "build": { @@ -274,7 +300,7 @@ "mcu": "atmega2560", "variant": "mega" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Mega ADK", "platform": "atmelavr", "upload": { @@ -283,7 +309,9 @@ "protocol": "wiring", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardMegaADK", + "vendor": "Arduino" }, "megaatmega1280": { "build": { @@ -293,7 +321,7 @@ "mcu": "atmega1280", "variant": "mega" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Mega or Mega 2560 ATmega1280", "platform": "atmelavr", "upload": { @@ -302,7 +330,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "http://arduino.cc/en/Main/arduinoBoardMega", + "vendor": "Arduino" }, "megaatmega2560": { "build": { @@ -312,7 +342,7 @@ "mcu": "atmega2560", "variant": "mega" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)", "platform": "atmelavr", "upload": { @@ -321,7 +351,9 @@ "protocol": "wiring", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "http://arduino.cc/en/Main/arduinoBoardMega2560", + "vendor": "Arduino" }, "micro": { "build": { @@ -334,7 +366,7 @@ "variant": "micro", "vid": "0x2341" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Micro", "platform": "atmelavr", "upload": { @@ -346,7 +378,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardMicro", + "vendor": "Arduino" }, "miniatmega168": { "build": { @@ -356,7 +390,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Mini ATmega168", "platform": "atmelavr", "upload": { @@ -365,7 +399,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardMini", + "vendor": "Arduino" }, "miniatmega328": { "build": { @@ -375,7 +411,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Mini ATmega328", "platform": "atmelavr", "upload": { @@ -384,7 +420,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardMini", + "vendor": "Arduino" }, "nanoatmega168": { "build": { @@ -394,7 +432,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Nano ATmega168", "platform": "atmelavr", "upload": { @@ -403,7 +441,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardNano", + "vendor": "Arduino" }, "nanoatmega328": { "build": { @@ -413,7 +453,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Nano ATmega328", "platform": "atmelavr", "upload": { @@ -422,7 +462,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardNano", + "vendor": "Arduino" }, "pro16MHzatmega168": { "build": { @@ -432,7 +474,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz)", "platform": "atmelavr", "upload": { @@ -441,7 +483,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardProMini", + "vendor": "Arduino" }, "pro16MHzatmega328": { "build": { @@ -451,7 +495,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)", "platform": "atmelavr", "upload": { @@ -460,7 +504,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardProMini", + "vendor": "Arduino" }, "pro8MHzatmega168": { "build": { @@ -470,7 +516,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz)", "platform": "atmelavr", "upload": { @@ -479,7 +525,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 19200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardProMini", + "vendor": "Arduino" }, "pro8MHzatmega328": { "build": { @@ -489,7 +537,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz)", "platform": "atmelavr", "upload": { @@ -498,7 +546,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardProMini", + "vendor": "Arduino" }, "robotControl": { "build": { @@ -511,7 +561,7 @@ "variant": "robot_control", "vid": "0x2341" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Robot Control", "platform": "atmelavr", "upload": { @@ -523,7 +573,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/Robot", + "vendor": "Arduino" }, "robotMotor": { "build": { @@ -536,7 +588,7 @@ "variant": "robot_motor", "vid": "0x2341" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Robot Motor", "platform": "atmelavr", "upload": { @@ -548,7 +600,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/Robot", + "vendor": "Arduino" }, "uno": { "build": { @@ -558,7 +612,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Uno", "platform": "atmelavr", "upload": { @@ -567,7 +621,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardUno", + "vendor": "Arduino" }, "yun": { "build": { @@ -580,7 +636,7 @@ "variant": "yun", "vid": "0x2341" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Yun", "platform": "atmelavr", "upload": { @@ -593,7 +649,9 @@ "use_1200bps_touch": true, "via_ssh": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/ArduinoBoardYun", + "vendor": "Arduino" }, "due": { "build": { @@ -608,18 +666,20 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Due (Programming Port)", "platform": "atmelsam", "upload": { "disable_flushing": true, - "maximum_ram_size": 28672, + "maximum_ram_size": 32768, "maximum_size": 524288, "protocol": "sam-ba", "require_upload_port" : true, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/arduinoBoardDue", + "vendor": "Arduino" }, "dueUSB": { "build": { @@ -634,17 +694,19 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Arduino Due (USB Native Port)", "platform": "atmelsam", "upload": { "disable_flushing": true, - "maximum_ram_size": 28672, + "maximum_ram_size": 32768, "maximum_size": 524288, "protocol": "sam-ba", "require_upload_port" : true, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://arduino.cc/en/Main/arduinoBoardDue", + "vendor": "Arduino" } } diff --git a/platformio/boards/digistump.json b/platformio/boards/digistump.json index 8e0dc576..0f0f135e 100644 --- a/platformio/boards/digistump.json +++ b/platformio/boards/digistump.json @@ -7,14 +7,16 @@ "mcu": "attiny85", "variant": "digispark_tiny" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Digispark (Default - 16 MHz)", "platform": "atmelavr", "upload": { "maximum_ram_size": 512, "maximum_size": 6012, "protocol": "digispark" - } + }, + "url": "http://digistump.com/products/1", + "vendor": "Digistump" }, "digispark-pro": { "build": { @@ -24,14 +26,16 @@ "mcu": "attiny167", "variant": "digispark_pro" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Digispark Pro (Default 16 MHz)", "platform": "atmelavr", "upload": { "maximum_ram_size": 512, "maximum_size": 14844, "protocol": "digispark" - } + }, + "url": "http://digistump.com/products/109", + "vendor": "Digistump" }, "digispark-pro32": { "build": { @@ -41,14 +45,16 @@ "mcu": "attiny167", "variant": "digispark_pro32" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Digispark Pro (16 MHz) (32 byte buffer)", "platform": "atmelavr", "upload": { "maximum_ram_size": 512, "maximum_size": 14844, "protocol": "digispark" - } + }, + "url": "http://digistump.com/products/109", + "vendor": "Digistump" }, "digispark-pro64": { "build": { @@ -58,14 +64,16 @@ "mcu": "attiny167", "variant": "digispark_pro64" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Digispark Pro (16 MHz) (64 byte buffer)", "platform": "atmelavr", "upload": { "maximum_ram_size": 512, "maximum_size": 14844, "protocol": "digispark" - } + }, + "url": "http://digistump.com/products/109", + "vendor": "Digistump" }, "digix": { "build": { @@ -80,7 +88,7 @@ "variant": "digispark_digix", "vid": "0x16D0" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Digistump DigiX", "platform": "atmelsam", "upload": { @@ -91,6 +99,8 @@ "require_upload_port" : true, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://digistump.com/products/50", + "vendor": "Digistump" } } \ No newline at end of file diff --git a/platformio/boards/engduino.json b/platformio/boards/engduino.json index 32235a93..159887a1 100644 --- a/platformio/boards/engduino.json +++ b/platformio/boards/engduino.json @@ -10,7 +10,7 @@ "variant": "engduinov1", "vid": "0x1B4F" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Engduino 1", "platform": "atmelavr", "upload": { @@ -22,7 +22,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://www.engduino.org", + "vendor": "Engduino" }, "engduinov2": { "build": { @@ -35,7 +37,7 @@ "variant": "engduinov2", "vid": "0x1B4F" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Engduino 2", "platform": "atmelavr", "upload": { @@ -47,7 +49,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://www.engduino.org", + "vendor": "Engduino" }, "engduinov3": { "build": { @@ -60,7 +64,7 @@ "variant": "engduinov3", "vid": "0x1B4F" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Engduino 3", "platform": "atmelavr", "upload": { @@ -72,6 +76,8 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "http://www.engduino.org", + "vendor": "Engduino" } } \ No newline at end of file diff --git a/platformio/boards/microduino.json b/platformio/boards/microduino.json index 86d09dcf..42b3411f 100644 --- a/platformio/boards/microduino.json +++ b/platformio/boards/microduino.json @@ -7,7 +7,7 @@ "mcu": "atmega1284p", "variant": "plus" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core+ (ATmega1284P@16M,5V)", "platform": "atmelavr", "upload": { @@ -16,7 +16,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B", + "vendor": "Microduino" }, "1284p8m": { "build": { @@ -26,7 +28,7 @@ "mcu": "atmega1284p", "variant": "plus" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core+ (ATmega1284P@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -35,7 +37,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B", + "vendor": "Microduino" }, "168pa16m": { "build": { @@ -45,7 +49,7 @@ "mcu": "atmega168p", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core (Atmega168PA@16M,5V)", "platform": "atmelavr", "upload": { @@ -54,7 +58,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core", + "vendor": "Microduino" }, "168pa8m": { "build": { @@ -64,7 +70,7 @@ "mcu": "atmega168p", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core (Atmega168PA@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -73,7 +79,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core", + "vendor": "Microduino" }, "328p16m": { "build": { @@ -83,7 +91,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core (Atmega328P@16M,5V)", "platform": "atmelavr", "upload": { @@ -92,7 +100,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core", + "vendor": "Microduino" }, "328p8m": { "build": { @@ -102,7 +112,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core (Atmega328P@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -111,7 +121,9 @@ "require_upload_port" : true, "protocol": "arduino", "speed": 57600 - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core", + "vendor": "Microduino" }, "32u416m": { "build": { @@ -123,7 +135,7 @@ "variant": "32u4", "vid": "0x2341" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core USB (ATmega32U4@16M,5V)", "platform": "atmelavr", "upload": { @@ -135,7 +147,9 @@ "speed": 57600, "use_1200bps_touch": true, "wait_for_upload_port": true - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-CoreUSB", + "vendor": "Microduino" }, "644pa16m": { "build": { @@ -145,7 +159,7 @@ "mcu": "atmega644p", "variant": "plus" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core+ (Atmega644PA@16M,5V)", "platform": "atmelavr", "upload": { @@ -154,7 +168,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 115200 - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B", + "vendor": "Microduino" }, "644pa8m": { "build": { @@ -164,7 +180,7 @@ "mcu": "atmega644p", "variant": "plus" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Microduino Core+ (Atmega644PA@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -173,6 +189,8 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "https://www.microduino.cc/wiki/index.php?title=Microduino-Core%2B", + "vendor": "Microduino" } } \ No newline at end of file diff --git a/platformio/boards/misc.json b/platformio/boards/misc.json index 8c1e85a0..2b24d002 100644 --- a/platformio/boards/misc.json +++ b/platformio/boards/misc.json @@ -7,7 +7,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Raspduino", "platform": "atmelavr", "upload": { @@ -16,7 +16,9 @@ "protocol": "arduino", "require_upload_port" : true, "speed": 57600 - } + }, + "url": "http://www.bitwizard.nl/wiki/index.php/Raspduino", + "vendor": "BitWizard" }, "sainSmartDue": { "build": { @@ -31,18 +33,20 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, - "framework": "arduino", + "frameworks": "arduino", "name": "SainSmart Due (Programming Port)", "platform": "atmelsam", "upload": { "disable_flushing": true, - "maximum_ram_size": 28672, + "maximum_ram_size": 32768, "maximum_size": 524288, "protocol": "sam-ba", "require_upload_port" : true, "use_1200bps_touch": 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": { "build": { @@ -57,17 +61,19 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, - "framework": "arduino", + "frameworks": "arduino", "name": "SainSmart Due (USB Native Port)", "platform": "atmelsam", "upload": { "disable_flushing": true, - "maximum_ram_size": 28672, + "maximum_ram_size": 32768, "maximum_size": 524288, "protocol": "sam-ba", "require_upload_port" : true, "use_1200bps_touch": 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" } } \ No newline at end of file diff --git a/platformio/boards/teensy.json b/platformio/boards/teensy.json index 49403ecb..6914b37a 100644 --- a/platformio/boards/teensy.json +++ b/platformio/boards/teensy.json @@ -5,13 +5,15 @@ "f_cpu": "16000000L", "mcu": "atmega32u4" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Teensy 2.0", "platform": "teensy", "upload": { "maximum_ram_size": 2560, "maximum_size": 32256 - } + }, + "url": "https://www.pjrc.com/store/teensy.html", + "vendor": "Teensy" }, "teensy20pp": { @@ -20,13 +22,15 @@ "f_cpu": "16000000L", "mcu": "at90usb1286" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Teensy++ 2.0", "platform": "teensy", "upload": { "maximum_ram_size": 8192, "maximum_size": 130048 - } + }, + "url": "https://www.pjrc.com/store/teensypp.html", + "vendor": "Teensy" }, "teensy30": { @@ -38,13 +42,15 @@ "mcu": "mk20dx128", "cpu": "cortex-m4" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Teensy 3.0", "platform": "teensy", "upload": { "maximum_ram_size": 16384, "maximum_size": 131072 - } + }, + "url": "https://www.pjrc.com/store/teensy3.html", + "vendor": "Teensy" }, "teensy31": { @@ -56,12 +62,14 @@ "mcu": "mk20dx256", "cpu": "cortex-m4" }, - "framework": "arduino", + "frameworks": "arduino", "name": "Teensy 3.1", "platform": "teensy", "upload": { "maximum_ram_size": 65536, "maximum_size": 262144 - } + }, + "url": "https://www.pjrc.com/store/teensy31.html", + "vendor": "Teensy" } } diff --git a/platformio/boards/timsp430.json b/platformio/boards/timsp430.json index a8d2b46f..b93e9fab 100644 --- a/platformio/boards/timsp430.json +++ b/platformio/boards/timsp430.json @@ -6,14 +6,16 @@ "mcu": "msp430f5529", "variant": "launchpad_f5529" }, - "framework": "energia", + "frameworks": "energia", "name": "LaunchPad w/ msp430f5529 (16MHz)", "platform": "timsp430", "upload": { "maximum_ram_size": 1024, "maximum_size": 131072, "protocol": "tilib" - } + }, + "url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html", + "vendor": "TI" }, "lpmsp430f5529_25": { "build": { @@ -22,14 +24,16 @@ "mcu": "msp430f5529", "variant": "launchpad_f5529" }, - "framework": "energia", + "frameworks": "energia", "name": "LaunchPad w/ msp430f5529 (25MHz)", "platform": "timsp430", "upload": { "maximum_ram_size": 1024, "maximum_size": 131072, "protocol": "tilib" - } + }, + "url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430f5529lp.html", + "vendor": "TI" }, "lpmsp430fr5739": { "build": { @@ -38,14 +42,16 @@ "mcu": "msp430fr5739", "variant": "fraunchpad" }, - "framework": "energia", + "frameworks": "energia", "name": "FraunchPad w/ msp430fr5739", "platform": "timsp430", "upload": { "maximum_ram_size": 1024, "maximum_size": 15872, "protocol": "rf2500" - } + }, + "url": "http://www.ti.com/tool/msp-exp430fr5739", + "vendor": "TI" }, "lpmsp430fr5969": { "build": { @@ -54,14 +60,16 @@ "mcu": "msp430fr5969", "variant": "launchpad_fr5969" }, - "framework": "energia", + "frameworks": "energia", "name": "LaunchPad w/ msp430fr5969", "platform": "timsp430", "upload": { "maximum_ram_size": 1024, "maximum_size": 65536, "protocol": "tilib" - } + }, + "url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430fr5969.html", + "vendor": "TI" }, "lpmsp430g2231": { "build": { @@ -70,14 +78,16 @@ "mcu": "msp430g2231", "variant": "launchpad" }, - "framework": "energia", - "name": "LaunchPad w/ msp430g2231 (1MHz)", + "frameworks": "energia", + "name": "LaunchPad w/ msp430g2231 (1 MHz)", "platform": "timsp430", "upload": { "maximum_ram_size": 128, "maximum_size": 2048, "protocol": "rf2500" - } + }, + "url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html", + "vendor": "TI" }, "lpmsp430g2452": { "build": { @@ -86,14 +96,16 @@ "mcu": "msp430g2452", "variant": "launchpad" }, - "framework": "energia", + "frameworks": "energia", "name": "LaunchPad w/ msp430g2452 (16MHz)", "platform": "timsp430", "upload": { "maximum_ram_size": 256, "maximum_size": 8192, "protocol": "rf2500" - } + }, + "url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html", + "vendor": "TI" }, "lpmsp430g2553": { "build": { @@ -102,13 +114,15 @@ "mcu": "msp430g2553", "variant": "launchpad" }, - "framework": "energia", + "frameworks": "energia", "name": "LaunchPad w/ msp430g2553 (16MHz)", "platform": "timsp430", "upload": { "maximum_ram_size": 512, "maximum_size": 16384, "protocol": "rf2500" - } + }, + "url": "http://www.ti.com/ww/en/launchpad/launchpads-msp430-msp-exp430g2.html", + "vendor": "TI" } } \ No newline at end of file diff --git a/platformio/boards/titiva.json b/platformio/boards/titiva.json index 757ee6fa..0fcbc576 100644 --- a/platformio/boards/titiva.json +++ b/platformio/boards/titiva.json @@ -8,13 +8,15 @@ "mcu": "lplm4f120h5qr", "variant": "stellarpad" }, - "framework": "energia", + "frameworks": "energia,opencm3", "name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)", "platform": "titiva", "upload": { "maximum_ram_size": 32768, "maximum_size": 262144 - } + }, + "url": "http://www.ti.com/tool/ek-lm4f120xl", + "vendor": "TI" }, "lptm4c1230c3pm": { "build": { @@ -25,13 +27,15 @@ "mcu": "lptm4c1230c3pm", "variant": "stellarpad" }, - "framework": "energia", + "frameworks": "energia,opencm3", "name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)", "platform": "titiva", "upload": { "maximum_ram_size": 32768, "maximum_size": 262144 - } + }, + "url": "http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c123gxl.html", + "vendor": "TI" }, "lptm4c1294ncpdt": { "build": { @@ -42,12 +46,14 @@ "mcu": "lptm4c1294ncpdt", "variant": "launchpad_129" }, - "framework": "energia", + "frameworks": "energia,opencm3", "name": "LaunchPad (Tiva C) w/ tm4c129 (120MHz)", "platform": "titiva", "upload": { "maximum_ram_size": 262144, "maximum_size": 1048576 - } + }, + "url": "http://www.ti.com/ww/en/launchpad/launchpads-connected-ek-tm4c1294xl.html", + "vendor": "TI" } } \ No newline at end of file From 7e58eb8094248e12be9078fd7a44847ab430b55d Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 17:50:15 +0200 Subject: [PATCH 06/16] Add checking incompatibility between board and frameworks // Resolve #112 --- platformio/builder/tools/platformio.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/platformio/builder/tools/platformio.py b/platformio/builder/tools/platformio.py index e83bf8d4..ca464b25 100644 --- a/platformio/builder/tools/platformio.py +++ b/platformio/builder/tools/platformio.py @@ -6,7 +6,7 @@ import re from os import getenv, listdir, remove, sep, walk 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 @@ -94,11 +94,16 @@ def BuildFramework(env): env.ConvertInoToCpp() for f in env['FRAMEWORK'].split(","): - SConscriptChdir(0) - SConscript( - env.subst(join("$PIOBUILDER_DIR", "scripts", "frameworks", - "%s.py" % f.strip().lower())) - ) + 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): From af9c23ad877c3ba2bcfb6fc22e587e96c734d1ae Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 17:53:46 +0200 Subject: [PATCH 07/16] Automatically generate environment with first supported framework --- platformio/commands/init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio/commands/init.py b/platformio/commands/init.py index c5f58aaa..355597e4 100644 --- a/platformio/commands/init.py +++ b/platformio/commands/init.py @@ -94,7 +94,7 @@ def fill_project_envs(project_file, board_types, disable_auto_uploading): data = builtin_boards[type_] # find default framework for board - framework = data.get("framework", None) + framework = data.get("frameworks", None).split(",")[0] content.append("[env:autogen_%s]" % type_) content.append("platform = %s" % data['platform']) if framework: From e22890ac18bdd482518b98d9f97bc09c6166e1b7 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 17:56:46 +0200 Subject: [PATCH 08/16] Add "vendor" and "url" field to board options, change "framework" field to "frameworks" // Resolve #113 --- platformio/boards/freescalekinetis.json | 38 +++++--- platformio/boards/nordicnrf51.json | 46 ++++++---- platformio/boards/nxplpc.json | 78 ++++++++++------ platformio/boards/ststm32.json | 114 ++++++++++++++++-------- 4 files changed, 183 insertions(+), 93 deletions(-) diff --git a/platformio/boards/freescalekinetis.json b/platformio/boards/freescalekinetis.json index 9eb9a25e..b33cbd84 100644 --- a/platformio/boards/freescalekinetis.json +++ b/platformio/boards/freescalekinetis.json @@ -5,13 +5,15 @@ "cpu": "cortex-m0plus", "mcu": "mkl25z128vlk4" }, - "framework": "mbed", + "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": { @@ -19,13 +21,15 @@ "cpu": "cortex-m0plus", "mcu": "mkl46z256vll4" }, - "framework": "mbed", + "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": { @@ -33,13 +37,15 @@ "cpu": "cortex-m4", "mcu": "mk64fn1m0vll12" }, - "framework": "mbed", + "frameworks": "mbed", "name": "Freescale Kinetis FRDM-K64F", "platform": "freescalekinetis", "upload": { "maximum_ram_size": 262144, - "maximum_size": 1048567 - } + "maximum_size": 1048576 + }, + "url": "https://developer.mbed.org/platforms/FRDM-K64F/", + "vendor": "Freescale" }, "frdm_kl05z": { "build": { @@ -47,13 +53,15 @@ "cpu": "cortex-m0plus", "mcu": "mkl05z32vfm4" }, - "framework": "mbed", + "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": { @@ -61,13 +69,15 @@ "cpu": "cortex-m4", "mcu": "mk20dx128vlh5" }, - "framework": "mbed", + "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": { @@ -76,12 +86,14 @@ "cpu": "cortex-m4", "mcu": "mk22fn512vlh12" }, - "framework": "mbed", + "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" } } \ No newline at end of file diff --git a/platformio/boards/nordicnrf51.json b/platformio/boards/nordicnrf51.json index f7202b31..d88d4ebf 100644 --- a/platformio/boards/nordicnrf51.json +++ b/platformio/boards/nordicnrf51.json @@ -5,13 +5,15 @@ "cpu": "cortex-m0", "mcu": "nrf51822" }, - "framework": "mbed", + "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": { @@ -19,13 +21,15 @@ "cpu": "cortex-m0", "mcu": "nrf51822" }, - "framework": "mbed", + "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": { @@ -33,13 +37,15 @@ "cpu": "cortex-m0", "mcu": "nrf51822" }, - "framework": "mbed", + "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": { @@ -47,13 +53,15 @@ "cpu": "cortex-m0", "mcu": "nrf51822" }, - "framework": "mbed", + "frameworks": "mbed", "name": "Nordic nRF51-DK", "platform": "nordicnrf51", "upload": { - "maximum_ram_size": 32384, + "maximum_ram_size": 32768, "maximum_size": 262144 - } + }, + "url": "https://developer.mbed.org/platforms/Nordic-nRF51-DK/", + "vendor": "Nordic" }, "redBearLabBLENano": { "build": { @@ -61,13 +69,15 @@ "cpu": "cortex-m0", "mcu": "nrf51822" }, - "framework": "mbed", + "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": { @@ -75,13 +85,15 @@ "cpu": "cortex-m0", "mcu": "nrf51822" }, - "framework": "mbed", + "frameworks": "mbed", "name": "Nordic nRF51-Dongle", "platform": "nordicnrf51", "upload": { - "maximum_ram_size": 32384, + "maximum_ram_size": 32768, "maximum_size": 262144 - } + }, + "url": "https://developer.mbed.org/platforms/Nordic-nRF51-Dongle/", + "vendor": "Nordic" } , "wallBotBLE": { @@ -90,13 +102,15 @@ "cpu": "cortex-m0", "mcu": "nrf51822" }, - "framework": "mbed", + "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" } } \ No newline at end of file diff --git a/platformio/boards/nxplpc.json b/platformio/boards/nxplpc.json index de012c48..57cfdfc8 100644 --- a/platformio/boards/nxplpc.json +++ b/platformio/boards/nxplpc.json @@ -5,13 +5,15 @@ "cpu": "cortex-m3", "mcu": "lpc1768" }, - "framework": "mbed", + "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": { @@ -19,13 +21,15 @@ "cpu": "cortex-m0", "mcu": "lpc11u24" }, - "framework": "mbed", + "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": { @@ -33,13 +37,15 @@ "cpu": "cortex-m4", "mcu": "lpc4088" }, - "framework": "mbed", + "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": { @@ -47,13 +53,15 @@ "cpu": "cortex-m0", "mcu": "lpc11u24" }, - "framework": "mbed", + "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": { @@ -61,13 +69,15 @@ "cpu": "cortex-m0", "mcu": "lpc11u24" }, - "framework": "mbed", + "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": { @@ -75,13 +85,15 @@ "cpu": "cortex-m3", "mcu": "lpc1768" }, - "framework": "mbed", + "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": { @@ -89,13 +101,15 @@ "cpu": "cortex-m3", "mcu": "lpc1768" }, - "framework": "mbed", + "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": { @@ -103,13 +117,15 @@ "cpu": "cortex-m0", "mcu": "lpc1114fn28" }, - "framework": "mbed", + "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": { @@ -117,13 +133,15 @@ "cpu": "cortex-m0", "mcu": "lpc11u35" }, - "framework": "mbed", + "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": { @@ -131,13 +149,15 @@ "cpu": "cortex-m0", "mcu": "lpc11u35" }, - "framework": "mbed", + "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": { @@ -145,13 +165,15 @@ "cpu": "cortex-m3", "mcu": "lpc1549" }, - "framework": "mbed", + "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": { @@ -159,13 +181,15 @@ "cpu": "cortex-m0", "mcu": "lpc11u24" }, - "framework": "mbed", + "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": { @@ -173,12 +197,14 @@ "cpu": "cortex-m4", "mcu": "lpc4088" }, - "framework": "mbed", + "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" } } \ No newline at end of file diff --git a/platformio/boards/ststm32.json b/platformio/boards/ststm32.json index 0f5f673d..7ab6a260 100644 --- a/platformio/boards/ststm32.json +++ b/platformio/boards/ststm32.json @@ -9,13 +9,15 @@ "mcu": "stm32f407vgt6", "variant": "stm32f4" }, - "framework": "cmsis", + "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": { @@ -27,13 +29,15 @@ "mcu": "stm32l152rbt6", "variant": "stm32l1" }, - "framework": "cmsis", + "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": { @@ -45,13 +49,15 @@ "mcu": "stm32f303vct6", "variant": "stm32f3" }, - "framework": "cmsis", + "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": { @@ -59,13 +65,15 @@ "cpu": "cortex-m3", "mcu": "stm32f100rbt6" }, - "framework": "mbed", + "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": { @@ -73,13 +81,15 @@ "cpu": "cortex-m0", "mcu": "stm32f051r8t6" }, - "framework": "mbed", + "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": { @@ -87,13 +97,15 @@ "cpu": "cortex-m4", "mcu": "stm32f334c8t6" }, - "framework": "mbed", + "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": { @@ -101,13 +113,15 @@ "cpu": "cortex-m4", "mcu": "stm32f401vct6" }, - "framework": "mbed", + "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": { @@ -115,13 +129,15 @@ "cpu": "cortex-m4", "mcu": "stm32f429zit6" }, - "framework": "mbed", + "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": { @@ -129,13 +145,15 @@ "cpu": "cortex-m0", "mcu": "stm32f030r8t6" }, - "framework": "mbed", + "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": { @@ -143,13 +161,15 @@ "cpu": "cortex-m0", "mcu": "stm32f070rbt6" }, - "framework": "mbed", + "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": { @@ -157,13 +177,15 @@ "cpu": "cortex-m0", "mcu": "stm32f072rbt6" }, - "framework": "mbed", + "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": { @@ -171,13 +193,15 @@ "cpu": "cortex-m0", "mcu": "stm32f091rct6" }, - "framework": "mbed", + "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": { @@ -185,13 +209,15 @@ "cpu": "cortex-m3", "mcu": "stm32f103rbt6" }, - "framework": "mbed", + "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": { @@ -199,13 +225,15 @@ "cpu": "cortex-m4", "mcu": "stm32f302r8t6" }, - "framework": "mbed", + "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": { @@ -213,13 +241,15 @@ "cpu": "cortex-m4", "mcu": "stm32f334r8t6" }, - "framework": "mbed", + "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": { @@ -227,13 +257,15 @@ "cpu": "cortex-m4", "mcu": "stm32f401ret6" }, - "framework": "mbed", + "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": { @@ -241,13 +273,15 @@ "cpu": "cortex-m4", "mcu": "stm32f411ret6" }, - "framework": "mbed", + "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": { @@ -255,13 +289,15 @@ "cpu": "cortex-m0", "mcu": "stm32l053r8t6" }, - "framework": "mbed", + "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": { @@ -269,12 +305,14 @@ "cpu": "cortex-m3", "mcu": "stm32l152ret6" }, - "framework": "mbed", + "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" } } \ No newline at end of file From 898a9c56019c6eab340ec52d3ea5e1876e2bdf9c Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 18:08:52 +0200 Subject: [PATCH 09/16] Add "get_frameworks" function --- platformio/util.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/platformio/util.py b/platformio/util.py index 9c1007b8..2965e020 100644 --- a/platformio/util.py +++ b/platformio/util.py @@ -257,3 +257,40 @@ def get_boards(type_=None): if type_ not in boards: raise exception.UnknownBoard(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 From 7b4680ef6ae7cd42ef8bcd89a96688d7c554beee Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 18:12:58 +0200 Subject: [PATCH 10/16] Add script for dynamically generating RST documents. Update platforms and frameworks documentation // Resolve 114 --- .../builder/scripts/frameworks/arduino.py | 7 +- .../builder/scripts/frameworks/cmsis.py | 10 +- .../builder/scripts/frameworks/energia.py | 8 +- platformio/builder/scripts/frameworks/mbed.py | 16 +- .../builder/scripts/frameworks/opencm3.py | 7 +- platformio/builder/scripts/frameworks/spl.py | 7 +- platformio/builder/scripts/nxplpc.py | 2 +- platformio/exception.py | 5 + platformio/platforms/atmelavr.py | 9 +- platformio/platforms/atmelsam.py | 7 +- platformio/platforms/base.py | 80 ++++++++ platformio/platforms/freescalekinetis.py | 7 +- platformio/platforms/nordicnrf51.py | 9 +- platformio/platforms/nxplpc.py | 9 +- platformio/platforms/ststm32.py | 9 +- platformio/platforms/teensy.py | 9 +- platformio/platforms/timsp430.py | 9 +- platformio/platforms/titiva.py | 8 +- scripts/docspregen.py | 194 ++++++++++++++++++ 19 files changed, 387 insertions(+), 25 deletions(-) create mode 100644 scripts/docspregen.py diff --git a/platformio/builder/scripts/frameworks/arduino.py b/platformio/builder/scripts/frameworks/arduino.py index f154d5c9..ba3871bc 100644 --- a/platformio/builder/scripts/frameworks/arduino.py +++ b/platformio/builder/scripts/frameworks/arduino.py @@ -2,7 +2,11 @@ # 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 @@ -146,7 +150,6 @@ if BOARD_BUILDOPTS.get("core", None) == "teensy": # Target: Build Core Library # - libs = [] if "variant" in BOARD_BUILDOPTS: diff --git a/platformio/builder/scripts/frameworks/cmsis.py b/platformio/builder/scripts/frameworks/cmsis.py index 66bc005c..1b9c0236 100644 --- a/platformio/builder/scripts/frameworks/cmsis.py +++ b/platformio/builder/scripts/frameworks/cmsis.py @@ -2,7 +2,15 @@ # 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 diff --git a/platformio/builder/scripts/frameworks/energia.py b/platformio/builder/scripts/frameworks/energia.py index 8e1e4901..d240aa6a 100644 --- a/platformio/builder/scripts/frameworks/energia.py +++ b/platformio/builder/scripts/frameworks/energia.py @@ -2,7 +2,13 @@ # 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 diff --git a/platformio/builder/scripts/frameworks/mbed.py b/platformio/builder/scripts/frameworks/mbed.py index 03f54616..fcf263be 100644 --- a/platformio/builder/scripts/frameworks/mbed.py +++ b/platformio/builder/scripts/frameworks/mbed.py @@ -2,7 +2,15 @@ # See LICENSE for details. """ - Build script for Mbed Framework +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 @@ -123,17 +131,17 @@ for lib_path in eixdata.get("CPPPATH"): # -# Target: Build MBED Library +# 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("$BUILD_DIR", "FrameworkMbed"), join("$PLATFORMFW_DIR", "core") ) libs.append(env.Library( - join("$BUILD_DIR", "FrameworkMBED"), + join("$BUILD_DIR", "FrameworkMbed"), get_source_files(eixdata.get("FILES", [])) )) diff --git a/platformio/builder/scripts/frameworks/opencm3.py b/platformio/builder/scripts/frameworks/opencm3.py index 330fcd07..d89fe44c 100644 --- a/platformio/builder/scripts/frameworks/opencm3.py +++ b/platformio/builder/scripts/frameworks/opencm3.py @@ -2,7 +2,12 @@ # 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 diff --git a/platformio/builder/scripts/frameworks/spl.py b/platformio/builder/scripts/frameworks/spl.py index b4644678..21394b82 100644 --- a/platformio/builder/scripts/frameworks/spl.py +++ b/platformio/builder/scripts/frameworks/spl.py @@ -2,7 +2,12 @@ # 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 diff --git a/platformio/builder/scripts/nxplpc.py b/platformio/builder/scripts/nxplpc.py index 4782c81e..39b9dfd9 100644 --- a/platformio/builder/scripts/nxplpc.py +++ b/platformio/builder/scripts/nxplpc.py @@ -16,7 +16,7 @@ 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" + + print ("Firmware has been successfully uploaded.\n" "Please restart your board.") env = DefaultEnvironment() diff --git a/platformio/exception.py b/platformio/exception.py index 5646befe..451e7761 100644 --- a/platformio/exception.py +++ b/platformio/exception.py @@ -44,6 +44,11 @@ class UnknownBoard(PlatformioException): MESSAGE = "Unknown board type '%s'" +class UnknownFramework(PlatformioException): + + MESSAGE = "Unknown framework '%s'" + + class UnknownPackage(PlatformioException): MESSAGE = "Detected unknown package '%s'" diff --git a/platformio/platforms/atmelavr.py b/platformio/platforms/atmelavr.py index f8b34bb9..6ca3e0f4 100644 --- a/platformio/platforms/atmelavr.py +++ b/platformio/platforms/atmelavr.py @@ -8,8 +8,13 @@ from platformio.util import get_boards class AtmelavrPlatform(BasePlatform): """ - An embedded platform for Atmel AVR microcontrollers - (with Arduino Framework) + Atmel AVR 8- and 32-bit MCUs deliver a unique combination of + 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 = { diff --git a/platformio/platforms/atmelsam.py b/platformio/platforms/atmelsam.py index f5913ce9..aacb03a1 100644 --- a/platformio/platforms/atmelsam.py +++ b/platformio/platforms/atmelsam.py @@ -7,8 +7,11 @@ from platformio.platforms.base import BasePlatform class AtmelsamPlatform(BasePlatform): """ - An embedded platform for Atmel SAM microcontrollers - (with Arduino Framework) + Atmel | SMART offers Flash- based ARM products based on the ARM + Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB + to 2MB of Flash including a rich peripheral and feature mix. + + http://www.atmel.com/products/microcontrollers/arm/default.aspx """ PACKAGES = { diff --git a/platformio/platforms/base.py b/platformio/platforms/base.py index dcfef9d9..869f0e15 100644 --- a/platformio/platforms/base.py +++ b/platformio/platforms/base.py @@ -12,6 +12,86 @@ from platformio import exception, util from platformio.app import get_state_item, set_state_item 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): diff --git a/platformio/platforms/freescalekinetis.py b/platformio/platforms/freescalekinetis.py index 09243ec8..61106fea 100644 --- a/platformio/platforms/freescalekinetis.py +++ b/platformio/platforms/freescalekinetis.py @@ -7,7 +7,12 @@ from platformio.platforms.base import BasePlatform class FreescalekinetisPlatform(BasePlatform): """ - An embedded platform for Freescale Kinetis series ARM microcontrollers + 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 = { diff --git a/platformio/platforms/nordicnrf51.py b/platformio/platforms/nordicnrf51.py index 17126aac..975b4ce4 100644 --- a/platformio/platforms/nordicnrf51.py +++ b/platformio/platforms/nordicnrf51.py @@ -7,7 +7,14 @@ from platformio.platforms.base import BasePlatform class Nordicnrf51Platform(BasePlatform): """ - An embedded platform for Nordic nRF51 series ARM microcontrollers + 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 = { diff --git a/platformio/platforms/nxplpc.py b/platformio/platforms/nxplpc.py index 9c9e3152..4da1334f 100644 --- a/platformio/platforms/nxplpc.py +++ b/platformio/platforms/nxplpc.py @@ -7,7 +7,14 @@ from platformio.platforms.base import BasePlatform class NxplpcPlatform(BasePlatform): """ - An embedded platform for NXP LPC series ARM microcontrollers + 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 = { diff --git a/platformio/platforms/ststm32.py b/platformio/platforms/ststm32.py index bf1e99bf..a33947f1 100644 --- a/platformio/platforms/ststm32.py +++ b/platformio/platforms/ststm32.py @@ -7,7 +7,14 @@ from platformio.platforms.base import BasePlatform class Ststm32Platform(BasePlatform): """ - An embedded platform for ST STM32 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 = { diff --git a/platformio/platforms/teensy.py b/platformio/platforms/teensy.py index 8e0f2179..648c1c3f 100644 --- a/platformio/platforms/teensy.py +++ b/platformio/platforms/teensy.py @@ -8,8 +8,13 @@ from platformio.util import get_boards class TeensyPlatform(BasePlatform): """ - An embedded platform for Teensy boards - (with Arduino Framework) + 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 """ PACKAGES = { diff --git a/platformio/platforms/timsp430.py b/platformio/platforms/timsp430.py index ae17a121..a15b5fd1 100644 --- a/platformio/platforms/timsp430.py +++ b/platformio/platforms/timsp430.py @@ -5,9 +5,14 @@ from platformio.platforms.base import BasePlatform class Timsp430Platform(BasePlatform): + """ - An embedded platform for TI MSP430 microcontrollers - (with Energia Framework) + MSP430 microcontrollers (MCUs) from Texas Instruments (TI) + 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 = { diff --git a/platformio/platforms/titiva.py b/platformio/platforms/titiva.py index 657cffa9..ed14d2da 100644 --- a/platformio/platforms/titiva.py +++ b/platformio/platforms/titiva.py @@ -7,8 +7,12 @@ from platformio.platforms.base import BasePlatform class TitivaPlatform(BasePlatform): """ - An embedded platform for TI TIVA C ARM microcontrollers - (with Energia and OpenCM3 Frameworks) + Texas Instruments TM4C12x MCUs offer the industrys most popular + 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 = { diff --git a/scripts/docspregen.py b/scripts/docspregen.py new file mode 100644 index 00000000..0b6b5a50 --- /dev/null +++ b/scripts/docspregen.py @@ -0,0 +1,194 @@ +# Copyright (C) Ivan Kravets +# 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 `_ (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()) From fe797a326531abf6b6b0dc20377194cafb0d8a6d Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 18:13:53 +0200 Subject: [PATCH 11/16] Add "Frameworks" documentation // Resolve #115 --- docs/frameworks/arduino.rst | 607 ++++++++++++++++++++++++++++++++++++ docs/frameworks/cmsis.rst | 51 +++ docs/frameworks/energia.rst | 107 +++++++ docs/frameworks/index.rst | 14 + docs/frameworks/mbed.rst | 535 +++++++++++++++++++++++++++++++ docs/frameworks/opencm3.rst | 87 ++++++ docs/frameworks/spl.rst | 51 +++ docs/index.rst | 3 +- 8 files changed, 1454 insertions(+), 1 deletion(-) create mode 100644 docs/frameworks/arduino.rst create mode 100644 docs/frameworks/cmsis.rst create mode 100644 docs/frameworks/energia.rst create mode 100644 docs/frameworks/index.rst create mode 100644 docs/frameworks/mbed.rst create mode 100644 docs/frameworks/opencm3.rst create mode 100644 docs/frameworks/spl.rst diff --git a/docs/frameworks/arduino.rst b/docs/frameworks/arduino.rst new file mode 100644 index 00000000..a45abf34 --- /dev/null +++ b/docs/frameworks/arduino.rst @@ -0,0 +1,607 @@ +.. _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 `_ + - ATMEGA32U4 + - 8 MHz + - 32 Kb + - 2.5 Kb + + + * - ``protrinket3`` + - `Pro Trinket 3V/12MHz (USB) `_ + - ATMEGA328P + - 12 MHz + - 32 Kb + - 2 Kb + + + * - ``protrinket3ftdi`` + - `Pro Trinket 3V/12MHz (FTDI) `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``protrinket5`` + - `Pro Trinket 5V/16MHz (USB) `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``protrinket5ftdi`` + - `Pro Trinket 5V/16MHz (USB) `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``trinket3`` + - `Adafruit Trinket 3V/8MHz `_ + - ATTINY85 + - 8 MHz + - 8 Kb + - 0.5 Kb + + + * - ``trinket5`` + - `Adafruit Trinket 5V/16MHz `_ + - 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 `_ + - ATMEGA32U4 + - 8 MHz + - 32 Kb + - 2.5 Kb + + + * - ``atmegangatmega168`` + - `Arduino NG or older ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``atmegangatmega8`` + - `Arduino NG or older ATmega8 `_ + - ATMEGA8 + - 16 MHz + - 8 Kb + - 1 Kb + + + * - ``btatmega168`` + - `Arduino BT ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``btatmega328`` + - `Arduino BT ATmega328 `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``diecimilaatmega168`` + - `Arduino Duemilanove or Diecimila ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``diecimilaatmega328`` + - `Arduino Duemilanove or Diecimila ATmega328 `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``due`` + - `Arduino Due (Programming Port) `_ + - AT91SAM3X8E + - 84 MHz + - 512 Kb + - 32 Kb + + + * - ``dueUSB`` + - `Arduino Due (USB Native Port) `_ + - AT91SAM3X8E + - 84 MHz + - 512 Kb + - 32 Kb + + + * - ``esplora`` + - `Arduino Esplora `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``ethernet`` + - `Arduino Ethernet `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``fio`` + - `Arduino Fio `_ + - ATMEGA328P + - 8 MHz + - 32 Kb + - 2 Kb + + + * - ``leonardo`` + - `Arduino Leonardo `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``lilypadatmega168`` + - `LilyPad Arduino ATmega168 `_ + - ATMEGA168 + - 8 MHz + - 16 Kb + - 1 Kb + + + * - ``lilypadatmega328`` + - `LilyPad Arduino ATmega328 `_ + - ATMEGA328P + - 8 MHz + - 32 Kb + - 2 Kb + + + * - ``megaADK`` + - `Arduino Mega ADK `_ + - ATMEGA2560 + - 16 MHz + - 256 Kb + - 8 Kb + + + * - ``megaatmega1280`` + - `Arduino Mega or Mega 2560 ATmega1280 `_ + - ATMEGA1280 + - 16 MHz + - 128 Kb + - 8 Kb + + + * - ``megaatmega2560`` + - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ + - ATMEGA2560 + - 16 MHz + - 256 Kb + - 8 Kb + + + * - ``micro`` + - `Arduino Micro `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``miniatmega168`` + - `Arduino Mini ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``miniatmega328`` + - `Arduino Mini ATmega328 `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``nanoatmega168`` + - `Arduino Nano ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``nanoatmega328`` + - `Arduino Nano ATmega328 `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``pro16MHzatmega168`` + - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``pro16MHzatmega328`` + - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``pro8MHzatmega168`` + - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ + - ATMEGA168 + - 8 MHz + - 16 Kb + - 1 Kb + + + * - ``pro8MHzatmega328`` + - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ + - ATMEGA328P + - 8 MHz + - 32 Kb + - 2 Kb + + + * - ``robotControl`` + - `Arduino Robot Control `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``robotMotor`` + - `Arduino Robot Motor `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``uno`` + - `Arduino Uno `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``yun`` + - `Arduino Yun `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + +BitWizard +~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``raspduino`` + - `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) `_ + - ATTINY167 + - 16 MHz + - 16 Kb + - 0.5 Kb + + + * - ``digispark-pro32`` + - `Digispark Pro (16 MHz) (32 byte buffer) `_ + - ATTINY167 + - 16 MHz + - 16 Kb + - 0.5 Kb + + + * - ``digispark-pro64`` + - `Digispark Pro (16 MHz) (64 byte buffer) `_ + - ATTINY167 + - 16 MHz + - 16 Kb + - 0.5 Kb + + + * - ``digispark-tiny`` + - `Digispark (Default - 16 MHz) `_ + - ATTINY85 + - 16 MHz + - 8 Kb + - 0.5 Kb + + + * - ``digix`` + - `Digistump DigiX `_ + - AT91SAM3X8E + - 84 MHz + - 512 Kb + - 28 Kb + +Engduino +~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``engduinov1`` + - `Engduino 1 `_ + - ATMEGA32U4 + - 8 MHz + - 32 Kb + - 2.5 Kb + + + * - ``engduinov2`` + - `Engduino 2 `_ + - ATMEGA32U4 + - 8 MHz + - 32 Kb + - 2.5 Kb + + + * - ``engduinov3`` + - `Engduino 3 `_ + - 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) `_ + - ATMEGA1284P + - 16 MHz + - 128 Kb + - 16 Kb + + + * - ``1284p8m`` + - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ + - ATMEGA1284P + - 8 MHz + - 128 Kb + - 16 Kb + + + * - ``168pa16m`` + - `Microduino Core (Atmega168PA@16M,5V) `_ + - ATMEGA168P + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``168pa8m`` + - `Microduino Core (Atmega168PA@8M,3.3V) `_ + - ATMEGA168P + - 8 MHz + - 16 Kb + - 1 Kb + + + * - ``328p16m`` + - `Microduino Core (Atmega328P@16M,5V) `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``328p8m`` + - `Microduino Core (Atmega328P@8M,3.3V) `_ + - ATMEGA328P + - 8 MHz + - 32 Kb + - 2 Kb + + + * - ``32u416m`` + - `Microduino Core USB (ATmega32U4@16M,5V) `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``644pa16m`` + - `Microduino Core+ (Atmega644PA@16M,5V) `_ + - ATMEGA644P + - 16 MHz + - 64 Kb + - 4 Kb + + + * - ``644pa8m`` + - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ + - 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) `_ + - AT91SAM3X8E + - 84 MHz + - 512 Kb + - 32 Kb + + + * - ``sainSmartDueUSB`` + - `SainSmart Due (USB Native Port) `_ + - AT91SAM3X8E + - 84 MHz + - 512 Kb + - 32 Kb + +Teensy +~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``teensy20`` + - `Teensy 2.0 `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``teensy20pp`` + - `Teensy++ 2.0 `_ + - AT90USB1286 + - 16 MHz + - 128 Kb + - 8 Kb + + + * - ``teensy30`` + - `Teensy 3.0 `_ + - MK20DX128 + - 48 MHz + - 128 Kb + - 16 Kb + + + * - ``teensy31`` + - `Teensy 3.1 `_ + - MK20DX256 + - 72 MHz + - 256 Kb + - 64 Kb + \ No newline at end of file diff --git a/docs/frameworks/cmsis.rst b/docs/frameworks/cmsis.rst new file mode 100644 index 00000000..55e5fd1f --- /dev/null +++ b/docs/frameworks/cmsis.rst @@ -0,0 +1,51 @@ +.. _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 `_ + - STM32F303VCT6 + - 72 MHz + - 256 Kb + - 48 Kb + + + * - ``disco_f407vg`` + - `STM32F4DISCOVERY `_ + - STM32F407VGT6 + - 168 MHz + - 1024 Kb + - 128 Kb + + + * - ``disco_l152rb`` + - `STM32LDISCOVERY `_ + - STM32L152RBT6 + - 32 MHz + - 128 Kb + - 16 Kb + \ No newline at end of file diff --git a/docs/frameworks/energia.rst b/docs/frameworks/energia.rst new file mode 100644 index 00000000..f25533bd --- /dev/null +++ b/docs/frameworks/energia.rst @@ -0,0 +1,107 @@ +.. _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) `_ + - LPLM4F120H5QR + - 80 MHz + - 256 Kb + - 32 Kb + + + * - ``lpmsp430f5529`` + - `LaunchPad w/ msp430f5529 (16MHz) `_ + - MSP430F5529 + - 16 MHz + - 128 Kb + - 1 Kb + + + * - ``lpmsp430f5529_25`` + - `LaunchPad w/ msp430f5529 (25MHz) `_ + - MSP430F5529 + - 25 MHz + - 128 Kb + - 1 Kb + + + * - ``lpmsp430fr5739`` + - `FraunchPad w/ msp430fr5739 `_ + - MSP430FR5739 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``lpmsp430fr5969`` + - `LaunchPad w/ msp430fr5969 `_ + - MSP430FR5969 + - 8 MHz + - 64 Kb + - 1 Kb + + + * - ``lpmsp430g2231`` + - `LaunchPad w/ msp430g2231 (1 MHz) `_ + - MSP430G2231 + - 1 MHz + - 2 Kb + - 0.125 Kb + + + * - ``lpmsp430g2452`` + - `LaunchPad w/ msp430g2452 (16MHz) `_ + - MSP430G2452 + - 16 MHz + - 8 Kb + - 0.25 Kb + + + * - ``lpmsp430g2553`` + - `LaunchPad w/ msp430g2553 (16MHz) `_ + - MSP430G2553 + - 16 MHz + - 16 Kb + - 0.5 Kb + + + * - ``lptm4c1230c3pm`` + - `LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ + - LPTM4C1230C3PM + - 80 MHz + - 256 Kb + - 32 Kb + + + * - ``lptm4c1294ncpdt`` + - `LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ + - LPTM4C1294NCPDT + - 120 MHz + - 1024 Kb + - 256 Kb + \ No newline at end of file diff --git a/docs/frameworks/index.rst b/docs/frameworks/index.rst new file mode 100644 index 00000000..43952bef --- /dev/null +++ b/docs/frameworks/index.rst @@ -0,0 +1,14 @@ +.. _frameworks: + +Frameworks +========== + +.. toctree:: + :maxdepth: 2 + + arduino + cmsis + energia + mbed + opencm3 + spl diff --git a/docs/frameworks/mbed.rst b/docs/frameworks/mbed.rst new file mode 100644 index 00000000..d3d0287c --- /dev/null +++ b/docs/frameworks/mbed.rst @@ -0,0 +1,535 @@ +.. _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 `_ + - 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 `_ + - LPC11U35 + - 48 MHz + - 64 Kb + - 10 Kb + + + * - ``lpc4088`` + - `EA LPC4088 QuickStart Board `_ + - LPC4088 + - 120 MHz + - 512 Kb + - 96 Kb + + + * - ``lpc4088_dm`` + - `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 `_ + - MK20DX128VLH5 + - 48 MHz + - 128 Kb + - 16 Kb + + + * - ``frdm_k22f`` + - `Freescale Kinetis FRDM-K22F `_ + - MK22FN512VLH12 + - 120 MHz + - 512 Kb + - 128 Kb + + + * - ``frdm_k64f`` + - `Freescale Kinetis FRDM-K64F `_ + - MK64FN1M0VLL12 + - 120 MHz + - 1024 Kb + - 256 Kb + + + * - ``frdm_kl05z`` + - `Freescale Kinetis FRDM-KL05Z `_ + - MKL05Z32VFM4 + - 48 MHz + - 32 Kb + - 4 Kb + + + * - ``frdm_kl25z`` + - `Freescale Kinetis FRDM-KL25Z `_ + - MKL25Z128VLK4 + - 48 MHz + - 128 Kb + - 16 Kb + + + * - ``frdm_kl46z`` + - `Freescale Kinetis 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 `_ + - 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 `_ + - LPC11U24 + - 48 MHz + - 32 Kb + - 8 Kb + +NXP +~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``lpc11u24`` + - `mbed LPC11U24 `_ + - LPC11U24 + - 48 MHz + - 32 Kb + - 8 Kb + + + * - ``lpc1549`` + - `LPCXpresso1549 `_ + - LPC1549 + - 72 MHz + - 256 Kb + - 36 Kb + + + * - ``lpc1768`` + - `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 `_ + - NRF51822 + - 32 MHz + - 256 Kb + - 32 Kb + + + * - ``nrf51_dongle`` + - `Nordic nRF51-Dongle `_ + - NRF51822 + - 32 MHz + - 256 Kb + - 32 Kb + + + * - ``nrf51_mkit`` + - `Nordic nRF51822-mKIT `_ + - 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 `_ + - LPC11U24 + - 48 MHz + - 32 Kb + - 8 Kb + +RedBearLab +~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``redBearLab`` + - `RedBearLab nRF51822 `_ + - NRF51822 + - 16 MHz + - 256 Kb + - 16 Kb + + + * - ``redBearLabBLENano`` + - `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 `_ + - STM32F051R8T6 + - 48 MHz + - 64 Kb + - 8 Kb + + + * - ``disco_f100rb`` + - `STM32VLDISCOVERY `_ + - STM32F100RBT6 + - 24 MHz + - 128 Kb + - 8 Kb + + + * - ``disco_f303vc`` + - `STM32F3DISCOVERY `_ + - STM32F303VCT6 + - 72 MHz + - 256 Kb + - 48 Kb + + + * - ``disco_f334c8`` + - `32F3348DISCOVERY `_ + - STM32F334C8T6 + - 72 MHz + - 64 Kb + - 16 Kb + + + * - ``disco_f401vc`` + - `32F401CDISCOVERY `_ + - STM32F401VCT6 + - 84 MHz + - 256 Kb + - 64 Kb + + + * - ``disco_f407vg`` + - `STM32F4DISCOVERY `_ + - STM32F407VGT6 + - 168 MHz + - 1024 Kb + - 128 Kb + + + * - ``disco_f429zi`` + - `32F429IDISCOVERY `_ + - STM32F429ZIT6 + - 180 MHz + - 2048 Kb + - 256 Kb + + + * - ``nucleo_f030r8`` + - `ST Nucleo F030R8 `_ + - STM32F030R8T6 + - 48 MHz + - 64 Kb + - 8 Kb + + + * - ``nucleo_f070rb`` + - `ST Nucleo F070RB `_ + - STM32F070RBT6 + - 48 MHz + - 128 Kb + - 16 Kb + + + * - ``nucleo_f072rb`` + - `ST Nucleo F072RB `_ + - STM32F072RBT6 + - 48 MHz + - 128 Kb + - 16 Kb + + + * - ``nucleo_f091rc`` + - `ST Nucleo F091RC `_ + - STM32F091RCT6 + - 48 MHz + - 256 Kb + - 32 Kb + + + * - ``nucleo_f103rb`` + - `ST Nucleo F103RB `_ + - STM32F103RBT6 + - 72 MHz + - 128 Kb + - 20 Kb + + + * - ``nucleo_f302r8`` + - `ST Nucleo F302R8 `_ + - STM32F302R8T6 + - 72 MHz + - 64 Kb + - 16 Kb + + + * - ``nucleo_f334r8`` + - `ST Nucleo F334R8 `_ + - STM32F334R8T6 + - 72 MHz + - 64 Kb + - 16 Kb + + + * - ``nucleo_f401re`` + - `ST Nucleo F401RE `_ + - STM32F401RET6 + - 84 MHz + - 512 Kb + - 96 Kb + + + * - ``nucleo_f411re`` + - `ST Nucleo F411RE `_ + - STM32F411RET6 + - 100 MHz + - 512 Kb + - 128 Kb + + + * - ``nucleo_l053r8`` + - `ST Nucleo L053R8 `_ + - STM32L053R8T6 + - 48 MHz + - 64 Kb + - 8 Kb + + + * - ``nucleo_l152re`` + - `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 `_ + - 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 `_ + - 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 `_ + - NRF51822 + - 16 MHz + - 256 Kb + - 16 Kb + + + * - ``lpc1114fn28`` + - `mbed 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 `_ + - LPC1768 + - 96 MHz + - 512 Kb + - 32 Kb + \ No newline at end of file diff --git a/docs/frameworks/opencm3.rst b/docs/frameworks/opencm3.rst new file mode 100644 index 00000000..5c722ca2 --- /dev/null +++ b/docs/frameworks/opencm3.rst @@ -0,0 +1,87 @@ +.. _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 `_ + - STM32F303VCT6 + - 72 MHz + - 256 Kb + - 48 Kb + + + * - ``disco_f407vg`` + - `STM32F4DISCOVERY `_ + - STM32F407VGT6 + - 168 MHz + - 1024 Kb + - 128 Kb + + + * - ``disco_l152rb`` + - `STM32LDISCOVERY `_ + - 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) `_ + - LPLM4F120H5QR + - 80 MHz + - 256 Kb + - 32 Kb + + + * - ``lptm4c1230c3pm`` + - `LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ + - LPTM4C1230C3PM + - 80 MHz + - 256 Kb + - 32 Kb + + + * - ``lptm4c1294ncpdt`` + - `LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ + - LPTM4C1294NCPDT + - 120 MHz + - 1024 Kb + - 256 Kb + \ No newline at end of file diff --git a/docs/frameworks/spl.rst b/docs/frameworks/spl.rst new file mode 100644 index 00000000..ae08977d --- /dev/null +++ b/docs/frameworks/spl.rst @@ -0,0 +1,51 @@ +.. _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 `_ + - STM32F303VCT6 + - 72 MHz + - 256 Kb + - 48 Kb + + + * - ``disco_f407vg`` + - `STM32F4DISCOVERY `_ + - STM32F407VGT6 + - 168 MHz + - 1024 Kb + - 128 Kb + + + * - ``disco_l152rb`` + - `STM32LDISCOVERY `_ + - STM32L152RBT6 + - 32 MHz + - 128 Kb + - 16 Kb + \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 3f7bd777..8f734c06 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -28,7 +28,7 @@ Embedded Development. *Easier Than Ever.* * Built-in :ref:`Serial Port Monitor ` * Configurable build :ref:`-flags/-options ` * Integration with :ref:`development environments (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.* ---------------------------------------- @@ -59,6 +59,7 @@ Contents projectconf envvars platforms/index + frameworks/index librarymanager/index userguide/index ide From b511df0bd4ba8e0d73140631f9256638bcc8f334 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 18:19:36 +0200 Subject: [PATCH 12/16] Update "Platforms" documentation --- docs/platforms/atmelavr.rst | 840 ++++++++++++++-------------- docs/platforms/atmelsam.rst | 114 ++-- docs/platforms/freescalekinetis.rst | 117 ++-- docs/platforms/nordicnrf51.rst | 167 +++--- docs/platforms/nxplpc.rst | 297 +++++++--- docs/platforms/ststm32.rst | 272 ++++----- docs/platforms/teensy.rst | 92 ++- docs/platforms/timsp430.rst | 134 +++-- docs/platforms/titiva.rst | 98 ++-- 9 files changed, 1150 insertions(+), 981 deletions(-) diff --git a/docs/platforms/atmelavr.rst b/docs/platforms/atmelavr.rst index cba4eae4..5fc07043 100644 --- a/docs/platforms/atmelavr.rst +++ b/docs/platforms/atmelavr.rst @@ -3,11 +3,13 @@ Platform ``atmelavr`` ===================== -`Atmel AVR® 8- and 32-bit MCUs `_ -deliver a unique combination of performance, power efficiency and design -flexibility. Optimized to speed time to market—and easily adapt to new -ones—they are based on the industry's most code-efficient architecture for -C and assembly programming. +Atmel AVR 8- and 32-bit MCUs deliver a unique combination of +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 .. contents:: @@ -18,45 +20,25 @@ Packages :header-rows: 1 * - Name - - Alias - Contents - * - ``toolchain-atmelavr`` - - toolchain - - `avr-gcc `_, - `GDB `_, - `AVaRICE `_, - `SimulAVR `_ - * - ``tool-avrdude`` - - uploader - - `AVRDUDE `_ - * - ``tool-micronucleus`` - - uploader - - `Micronucleus `_ - * - ``framework-arduinoavr`` - - - - See below in :ref:`atmelavr_frameworks` + * - ``toolchain-atmelavr`` + - `avr-gcc `_, `GDB `_, `AVaRICE `_, `SimulAVR `_ + + * - ``tool-avrdude`` + - `AVRDUDE `_ + + * - ``framework-arduinoavr`` + - `Arduino Wiring-based Framework (AVR Core, 1.6) `_ + + * - ``tool-micronucleus`` + - `Micronucleus `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `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 `_ - Boards ------ @@ -66,224 +48,6 @@ Boards * For more detailed ``board`` information please scroll tables below by 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) - `_ - - ATmega168 ``atmega168`` - - 16 MHz ``16000000L`` - - 16 Kb - - 1 Kb - * - ``atmegangatmega8`` - - `Arduino Arduino NG or older (ATmega8) - `_ - - ATmega8 ``atmega8`` - - 16 MHz ``16000000L`` - - 8 Kb - - 1 Kb - * - ``btatmega168`` - - `Arduino BT (ATmega168) - `_ - - ATmega168 ``atmega168`` - - 16 MHz ``16000000L`` - - 16 Kb - - 1 Kb - * - ``btatmega328`` - - `Arduino BT (ATmega328) - `_ - - ATmega328 ``atmega328`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - * - ``diecimilaatmega168`` - - `Arduino Diecimila or Duemilanove (ATmega168) - `_ - - ATmega168 ``atmega168`` - - 16 MHz ``16000000L`` - - 16 Kb - - 1 Kb - * - ``diecimilaatmega328`` - - `Arduino Diecimila or Duemilanove (ATmega328) - `_ - - ATmega328 ``atmega328`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - * - ``esplora`` - - `Arduino Esplora `_ - - ATmega32u4 ``atmega32u4`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2.5 Kb - * - ``ethernet`` - - `Arduino Ethernet - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - * - ``fio`` - - `Arduino Fio - `_ - - ATmega328P ``atmega328p`` - - 8 MHz ``8000000L`` - - 32 Kb - - 2 Kb - * - ``leonardo`` - - `Arduino Leonardo `_ - - ATmega32u4 ``atmega32u4`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2.5 Kb - * - ``LilyPadUSB`` - - `Arduino LilyPad USB - `_ - - ATmega32u4 ``atmega32u4`` - - 8 MHz ``8000000L`` - - 32 Kb - - 2.5 Kb - * - ``lilypadatmega168`` - - `Arduino LilyPad (ATmega168) - `_ - - ATmega168 ``atmega168`` - - 8 MHz ``8000000L`` - - 16 Kb - - 1 Kb - * - ``lilypadatmega328`` - - `Arduino LilyPad (ATmega328) - `_ - - ATmega328P ``atmega328p`` - - 8 MHz ``8000000L`` - - 32 Kb - - 2 Kb - * - ``megaADK`` - - `Arduino Mega ADK - `_ - - ATmega2560 ``atmega2560`` - - 16 MHz ``16000000L`` - - 256 Kb - - 8 Kb - * - ``megaatmega1280`` - - `Arduino Mega (ATmega1280) - `_ - - ATmega1280 ``atmega1280`` - - 16 MHz ``16000000L`` - - 128 Kb - - 8 Kb - * - ``megaatmega2560`` - - `Arduino Mega (ATmega2560) - `_ - - ATmega2560 ``atmega2560`` - - 16 MHz ``16000000L`` - - 256 Kb - - 8 Kb - * - ``micro`` - - `Arduino Micro - `_ - - ATmega32u4 ``atmega32u4`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2.5 Kb - * - ``miniatmega168`` - - `Arduino Mini (ATmega168) - `_ - - ATmega168 ``atmega168`` - - 16 MHz ``16000000L`` - - 16 Kb - - 1 Kb - * - ``miniatmega328`` - - `Arduino Mini (ATmega328P) - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - * - ``nanoatmega168`` - - `Arduino Nano (ATmega168) - `_ - - ATmega168 ``atmega168`` - - 16 MHz ``16000000L`` - - 16 Kb - - 1 Kb - * - ``nanoatmega328`` - - `Arduino Nano (ATmega328P) - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - * - ``pro8MHzatmega168`` - - `Arduino Pro or Pro Mini (ATmega168, 3.3V) - `_ - - ATmega168 ``atmega168`` - - 8 MHz ``8000000L`` - - 16 Kb - - 1 Kb - * - ``pro16MHzatmega168`` - - `Arduino Pro or Pro Mini (ATmega168, 5V) - `_ - - ATmega168 ``atmega168`` - - 16 MHz ``16000000L`` - - 16 Kb - - 1 Kb - * - ``pro8MHzatmega328`` - - `Arduino Pro or Pro Mini (ATmega328P, 3.3V) - `_ - - ATmega328P ``atmega328p`` - - 8 MHz ``8000000L`` - - 32 Kb - - 2 Kb - * - ``pro16MHzatmega328`` - - `Arduino Pro or Pro Mini (ATmega328P, 5V) - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - * - ``robotControl`` - - `Arduino Robot Control - `_ - - ATmega32u4 ``atmega32u4`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2.5 Kb - * - ``robotMotor`` - - `Arduino Robot Motor - `_ - - ATmega32u4 ``atmega32u4`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2.5 Kb - * - ``uno`` - - `Arduino Uno - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - * - ``yun`` - - `Arduino Yun - `_ - - ATmega32u4 ``atmega32u4`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2.5 Kb - -More detailed information you can find here -`Arduino boards `_. - - Adafruit ~~~~~~~~ @@ -292,65 +56,311 @@ Adafruit * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM + * - ``flora8`` - - `Adafruit Flora - `_ - - ATmega32u4 ``atmega32u4`` - - 8 MHz ``8000000L`` + - `Adafruit Flora `_ + - ATMEGA32U4 + - 8 MHz - 32 Kb - 2.5 Kb - * - ``trinket3`` - - `Adafruit Trinket 8MHz 3.3V LOGIC - `_ - - ATtiny85 ``attiny85`` - - 8 MHz ``8000000L`` - - 8 Kb - - 0.5 Kb - * - ``trinket5`` - - `Adafruit Trinket 16MHz 5V LOGIC - `_ - - ATtiny85 ``ATtiny85`` - - 16 MHz ``16000000L`` - - 8 Kb - - 0.5 Kb + + * - ``protrinket3`` - - `Adafruit Pro Trinket 3V/12MHz (USB) - `_ - - ATmega328P ``atmega328p`` - - 12 MHz ``12000000L`` + - `Pro Trinket 3V/12MHz (USB) `_ + - ATMEGA328P + - 12 MHz - 32 Kb - 2 Kb + + * - ``protrinket3ftdi`` - - `Adafruit Pro Trinket 3V/12MHz (FTDI) - `_ - - ATmega328P ``atmega328p`` - - 12 MHz ``12000000L`` + - `Pro Trinket 3V/12MHz (FTDI) `_ + - ATMEGA328P + - 16 MHz - 32 Kb - 2 Kb + + * - ``protrinket5`` - - `Adafruit Pro Trinket 5V/16MHz (USB) - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` + - `Pro Trinket 5V/16MHz (USB) `_ + - ATMEGA328P + - 16 MHz - 32 Kb - 2 Kb + + * - ``protrinket5ftdi`` - - `Adafruit Pro Trinket 5V/16MHz (FTDI) - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` + - `Pro Trinket 5V/16MHz (USB) `_ + - ATMEGA328P + - 16 MHz - 32 Kb - 2 Kb + -More detailed information you can find here -`Adafruits boards `_. + * - ``trinket3`` + - `Adafruit Trinket 3V/8MHz `_ + - ATTINY85 + - 8 MHz + - 8 Kb + - 0.5 Kb + + * - ``trinket5`` + - `Adafruit Trinket 5V/16MHz `_ + - ATTINY85 + - 16 MHz + - 8 Kb + - 0.5 Kb + +Arduino +~~~~~~~ -Digispark +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``LilyPadUSB`` + - `LilyPad Arduino USB `_ + - ATMEGA32U4 + - 8 MHz + - 32 Kb + - 2.5 Kb + + + * - ``atmegangatmega168`` + - `Arduino NG or older ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``atmegangatmega8`` + - `Arduino NG or older ATmega8 `_ + - ATMEGA8 + - 16 MHz + - 8 Kb + - 1 Kb + + + * - ``btatmega168`` + - `Arduino BT ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``btatmega328`` + - `Arduino BT ATmega328 `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``diecimilaatmega168`` + - `Arduino Duemilanove or Diecimila ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``diecimilaatmega328`` + - `Arduino Duemilanove or Diecimila ATmega328 `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``esplora`` + - `Arduino Esplora `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``ethernet`` + - `Arduino Ethernet `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``fio`` + - `Arduino Fio `_ + - ATMEGA328P + - 8 MHz + - 32 Kb + - 2 Kb + + + * - ``leonardo`` + - `Arduino Leonardo `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``lilypadatmega168`` + - `LilyPad Arduino ATmega168 `_ + - ATMEGA168 + - 8 MHz + - 16 Kb + - 1 Kb + + + * - ``lilypadatmega328`` + - `LilyPad Arduino ATmega328 `_ + - ATMEGA328P + - 8 MHz + - 32 Kb + - 2 Kb + + + * - ``megaADK`` + - `Arduino Mega ADK `_ + - ATMEGA2560 + - 16 MHz + - 256 Kb + - 8 Kb + + + * - ``megaatmega1280`` + - `Arduino Mega or Mega 2560 ATmega1280 `_ + - ATMEGA1280 + - 16 MHz + - 128 Kb + - 8 Kb + + + * - ``megaatmega2560`` + - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ + - ATMEGA2560 + - 16 MHz + - 256 Kb + - 8 Kb + + + * - ``micro`` + - `Arduino Micro `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``miniatmega168`` + - `Arduino Mini ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``miniatmega328`` + - `Arduino Mini ATmega328 `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``nanoatmega168`` + - `Arduino Nano ATmega168 `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``nanoatmega328`` + - `Arduino Nano ATmega328 `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``pro16MHzatmega168`` + - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ + - ATMEGA168 + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``pro16MHzatmega328`` + - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``pro8MHzatmega168`` + - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ + - ATMEGA168 + - 8 MHz + - 16 Kb + - 1 Kb + + + * - ``pro8MHzatmega328`` + - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ + - ATMEGA328P + - 8 MHz + - 32 Kb + - 2 Kb + + + * - ``robotControl`` + - `Arduino Robot Control `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``robotMotor`` + - `Arduino Robot Motor `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + + + * - ``uno`` + - `Arduino Uno `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``yun`` + - `Arduino Yun `_ + - ATMEGA32U4 + - 16 MHz + - 32 Kb + - 2.5 Kb + +BitWizard ~~~~~~~~~ .. list-table:: @@ -358,32 +368,62 @@ Digispark * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM - * - ``digispark-tiny`` - - `Digispark USB Development Board `_ - - ATtiny85 ``attiny85`` - - 16 MHz ``16000000L`` - - 8 Kb - - 0.5 Kb + + * - ``raspduino`` + - `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) `_ - - ATtiny167 ``attiny167`` - - 16 MHz ``16000000L`` + - `Digispark Pro (Default 16 MHz) `_ + - ATTINY167 + - 16 MHz - 16 Kb - 0.5 Kb + + * - ``digispark-pro32`` - - `Digispark Pro (16 Mhz) (32 byte buffer) `_ - - ATtiny167 ``attiny167`` - - 16 Mhz ``16000000L`` - - 16 kb - - 0.5 Kb + - `Digispark Pro (16 MHz) (32 byte buffer) `_ + - ATTINY167 + - 16 MHz + - 16 Kb + - 0.5 Kb + -More detailed information you can find here -`Digistump Development Boards `_. + * - ``digispark-pro64`` + - `Digispark Pro (16 MHz) (64 byte buffer) `_ + - ATTINY167 + - 16 MHz + - 16 Kb + - 0.5 Kb + + * - ``digispark-tiny`` + - `Digispark (Default - 16 MHz) `_ + - ATTINY85 + - 16 MHz + - 8 Kb + - 0.5 Kb + Engduino ~~~~~~~~ @@ -392,33 +432,34 @@ Engduino * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM + * - ``engduinov1`` - `Engduino 1 `_ - - ATmega32u4 ``atmega32u4`` - - 8 MHz ``8000000L`` + - ATMEGA32U4 + - 8 MHz - 32 Kb - 2.5 Kb + + * - ``engduinov2`` - `Engduino 2 `_ - - ATmega32u4 ``atmega32u4`` - - 8 MHz ``8000000L`` + - ATMEGA32U4 + - 8 MHz - 32 Kb - 2.5 Kb + + * - ``engduinov3`` - `Engduino 3 `_ - - ATmega32u4 ``atmega32u4`` - - 8 MHz ``8000000L`` + - ATMEGA32U4 + - 8 MHz - 32 Kb - 2.5 Kb - -More detailed information you can find here -`Engduino Site `_. - - + Microduino ~~~~~~~~~~ @@ -427,98 +468,79 @@ Microduino * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM - * - ``168pa8m`` - - `Microduino Core (ATmega168P, 3.3V) - `_ - - ATmega168P ``atmega168p`` - - 8 MHz ``8000000L`` - - 16 Kb - - 1 Kb - * - ``168pa16m`` - - `Microduino Core (ATmega168P, 5V) - `_ - - ATmega168P ``atmega168p`` - - 16 MHz ``16000000L`` - - 16 Kb - - 1 Kb - * - ``328p8m`` - - `Microduino Core (ATmega328P, 3.3V) - `_ - - ATmega328P ``atmega328p`` - - 8 MHz ``8000000L`` - - 32 Kb - - 2 Kb - * - ``328p16m`` - - `Microduino Core (ATmega328P, 5V) - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - * - ``644pa8m`` - - `Microduino Core+ (ATmega644PA, 3.3V) - `_ - - ATmega644PA ``atmega644p`` - - 8 MHz ``8000000L`` - - 64 Kb - - 4 Kb - * - ``644pa16m`` - - `Microduino Core+ (ATmega644PA, 5V) - `_ - - ATmega644PA ``atmega644p`` - - 16 MHz ``16000000L`` - - 64 Kb - - 4 Kb - * - ``1284p8m`` - - `Microduino Core+ (Atmega1284P, 3.3V) - `_ - - Atmega1284P ``atmega1284p`` - - 8 MHz ``8000000L`` - - 128 Kb - - 16 Kb + * - ``1284p16m`` - - `Microduino Core+ (Atmega1284P, 5V) - `_ - - Atmega1284P ``atmega1284p`` - - 16 MHz ``16000000L`` + - `Microduino Core+ (ATmega1284P@16M,5V) `_ + - ATMEGA1284P + - 16 MHz - 128 Kb - 16 Kb + + + * - ``1284p8m`` + - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ + - ATMEGA1284P + - 8 MHz + - 128 Kb + - 16 Kb + + + * - ``168pa16m`` + - `Microduino Core (Atmega168PA@16M,5V) `_ + - ATMEGA168P + - 16 MHz + - 16 Kb + - 1 Kb + + + * - ``168pa8m`` + - `Microduino Core (Atmega168PA@8M,3.3V) `_ + - ATMEGA168P + - 8 MHz + - 16 Kb + - 1 Kb + + + * - ``328p16m`` + - `Microduino Core (Atmega328P@16M,5V) `_ + - ATMEGA328P + - 16 MHz + - 32 Kb + - 2 Kb + + + * - ``328p8m`` + - `Microduino Core (Atmega328P@8M,3.3V) `_ + - ATMEGA328P + - 8 MHz + - 32 Kb + - 2 Kb + + * - ``32u416m`` - - `Microduino-Core USB - `_ - - ATmega32u4 ``atmega32u4`` - - 16 MHz ``16000000L`` + - `Microduino Core USB (ATmega32U4@16M,5V) `_ + - ATMEGA32U4 + - 16 MHz - 32 Kb - 2.5 Kb + + * - ``644pa16m`` + - `Microduino Core+ (Atmega644PA@16M,5V) `_ + - ATMEGA644P + - 16 MHz + - 64 Kb + - 4 Kb + -More detailed information you can find here -`Microduino boards `_. - - -Raspduino -~~~~~~~~~ - -.. list-table:: - :header-rows: 1 - - * - Type ``board`` - - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` - - Flash - - RAM - * - ``raspduino`` - - `Raspduino - `_ - - ATmega328P ``atmega328p`` - - 16 MHz ``16000000L`` - - 32 Kb - - 2 Kb - -More detailed information you can find here -`Wiki `_. + * - ``644pa8m`` + - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ + - ATMEGA644P + - 8 MHz + - 64 Kb + - 4 Kb + \ No newline at end of file diff --git a/docs/platforms/atmelsam.rst b/docs/platforms/atmelsam.rst index 14363615..a5b70073 100644 --- a/docs/platforms/atmelsam.rst +++ b/docs/platforms/atmelsam.rst @@ -3,10 +3,11 @@ Platform ``atmelsam`` ===================== -`Atmel® | SMART `_ -offers Flash- based ARM® products based on the ARM Cortex-®M0+, Cortex-M3 and -Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich -peripheral and feature mix. +Atmel | SMART offers Flash- based ARM products based on the ARM +Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB +to 2MB of Flash including a rich peripheral and feature mix. + +http://www.atmel.com/products/microcontrollers/arm/default.aspx .. contents:: @@ -17,40 +18,25 @@ Packages :header-rows: 1 * - Name - - Alias - Contents - * - ``toolchain-gccarmnoneeabi`` - - toolchain - - `gcc-arm-embedded `_, - `GDB `_ - * - ``tool-bossac`` - - uploader - - `BOSSA CLI `_ - * - ``framework-arduino`` - - - - See below in :ref:`atmelsam_frameworks` + * - ``framework-arduinosam`` + - `Arduino Wiring-based Framework (SAM Core, 1.6) `_ + + * - ``ldscripts`` + - `Linker Scripts `_ + + * - ``toolchain-gccarmnoneeabi`` + - `gcc-arm-embedded `_, `GDB `_ + + * - ``tool-bossac`` + - `BOSSA CLI `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `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 `_ - Boards ------ @@ -60,45 +46,79 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +Arduino +~~~~~~~ + .. list-table:: :header-rows: 1 * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM + * - ``due`` - `Arduino Due (Programming Port) `_ - - at91sam3x8e ``cortex-m3`` - - 84 MHz ``84000000L`` + - AT91SAM3X8E + - 84 MHz - 512 Kb - 32 Kb + + * - ``dueUSB`` - `Arduino Due (USB Native Port) `_ - - at91sam3x8e ``cortex-m3`` - - 84 MHz ``84000000L`` + - AT91SAM3X8E + - 84 MHz - 512 Kb - 32 Kb + +Digistump +~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + * - ``digix`` - `Digistump DigiX `_ - - at91sam3x8e ``cortex-m3`` - - 84 MHz ``84000000L`` - - 512 kb - - 32 Kb + - 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) `_ - - at91sam3x8e ``cortex-m3`` - - 84 MHz ``84000000L`` + - AT91SAM3X8E + - 84 MHz - 512 Kb - 32 Kb + + * - ``sainSmartDueUSB`` - `SainSmart Due (USB Native Port) `_ - - at91sam3x8e ``cortex-m3`` - - 84 MHz ``84000000L`` + - AT91SAM3X8E + - 84 MHz - 512 Kb - 32 Kb - -More detailed information you can find here -`Atmel SMART ARM-based MCUs `_. + \ No newline at end of file diff --git a/docs/platforms/freescalekinetis.rst b/docs/platforms/freescalekinetis.rst index de5f7aa4..86d39276 100644 --- a/docs/platforms/freescalekinetis.rst +++ b/docs/platforms/freescalekinetis.rst @@ -3,7 +3,12 @@ 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. +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:: @@ -14,36 +19,19 @@ Packages :header-rows: 1 * - Name - - Alias - Contents - * - ``toolchain-gccarmnoneeabi`` - - toolchain - - `gcc-arm-embedded `_, - `GDB `_ + * - ``framework-mbed`` - - - - See below in :ref:`freescalekinetis_frameworks` + - `mbed Framework `_ + + * - ``toolchain-gccarmnoneeabi`` + - `gcc-arm-embedded `_, `GDB `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `99-platformio-udev.rules `_ (an instruction is located in the file). -.. _freescalekinetis_frameworks: - -Frameworks ----------- - -.. list-table:: - :header-rows: 1 - - * - Type ``framework`` - - Name - - Reference - * - ``mbed`` - - MBED Framework - - `Documentation `__ - Boards ------ @@ -53,52 +41,63 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +Freescale +~~~~~~~~~ + .. list-table:: :header-rows: 1 * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM - * - ``frdm_kl05z`` - - `Freescale Kinetis FRDM-KL05Z `_ - - MKL05Z32VFM4 ``cortex-m0plus`` - - 48 MHz ``48000000L`` - - 32 Kb - - 4 Kb - * - ``frdm_kl25z`` - - `Freescale Kinetis FRDM-KL25Z `_ - - MKL25Z128VLK4 ``cortex-m0plus`` - - 48 MHz ``48000000L`` - - 128 Kb - - 16 Kb - * - ``frdm_kl46z`` - - `Freescale Kinetis FRDM-KL46Z `_ - - MKL46Z256Vll4 ``cortex-m0plus`` - - 48 MHz ``48000000L`` - - 256 Kb - - 32 Kb - * - ``frdm_k22f`` - - `Freescale Kinetis FRDM-K22F `_ - - MK22FN512VLH12 ``cortex-m4`` - - 120 MHz ``120000000L`` - - 512 Kb - - 128 Kb - * - ``frdm_k64f`` - - `Freescale Kinetis FRDM-K64F `_ - - MK64fN1M0VLL12 ``cortex-m4`` - - 120 MHz ``120000000L`` - - 1 Mb - - 256 Kb + * - ``frdm_k20d50m`` - `Freescale Kinetis FRDM-K20D50M `_ - - MK20DX128VLH5 ``cortex-m4`` - - 48 MHz ``48000000L`` + - MK20DX128VLH5 + - 48 MHz - 128 Kb - 16 Kb + + * - ``frdm_k22f`` + - `Freescale Kinetis FRDM-K22F `_ + - MK22FN512VLH12 + - 120 MHz + - 512 Kb + - 128 Kb + -More detailed information you can find here -`Freescale Kinetis platforms with support MBED framework `_. + * - ``frdm_k64f`` + - `Freescale Kinetis FRDM-K64F `_ + - MK64FN1M0VLL12 + - 120 MHz + - 1024 Kb + - 256 Kb + + + * - ``frdm_kl05z`` + - `Freescale Kinetis FRDM-KL05Z `_ + - MKL05Z32VFM4 + - 48 MHz + - 32 Kb + - 4 Kb + + + * - ``frdm_kl25z`` + - `Freescale Kinetis FRDM-KL25Z `_ + - MKL25Z128VLK4 + - 48 MHz + - 128 Kb + - 16 Kb + + + * - ``frdm_kl46z`` + - `Freescale Kinetis FRDM-KL46Z `_ + - MKL46Z256VLL4 + - 48 MHz + - 256 Kb + - 32 Kb + \ No newline at end of file diff --git a/docs/platforms/nordicnrf51.rst b/docs/platforms/nordicnrf51.rst index 6241ee64..ff58ddd2 100644 --- a/docs/platforms/nordicnrf51.rst +++ b/docs/platforms/nordicnrf51.rst @@ -3,7 +3,14 @@ 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. +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:: @@ -14,36 +21,19 @@ Packages :header-rows: 1 * - Name - - Alias - Contents - * - ``toolchain-gccarmnoneeabi`` - - toolchain - - `gcc-arm-embedded `_, - `GDB `_ + * - ``framework-mbed`` - - - - See below in :ref:`nordicnrf51_frameworks` + - `mbed Framework `_ + + * - ``toolchain-gccarmnoneeabi`` + - `gcc-arm-embedded `_, `GDB `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `99-platformio-udev.rules `_ (an instruction is located in the file). -.. _nordicnrf51_frameworks: - -Frameworks ----------- - -.. list-table:: - :header-rows: 1 - - * - Type ``framework`` - - Name - - Reference - * - ``mbed`` - - MBED Framework - - `Documentation `__ - Boards ------ @@ -53,58 +43,107 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +JKSoft +~~~~~~ + .. list-table:: :header-rows: 1 * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM - * - ``nrf51_mkit`` - - `Nordic nRF51822-mKIT `_ - - nrf51822 ``cortex-m0`` - - 16 MHz ``16000000L`` - - 128 Kb - - 16 Kb - * - ``nrf51_dongle`` - - `Nordic nRF51-Dongle `_ - - nrf51822/nrf51422 ``cortex-m0`` - - 32 MHz ``32000000L`` - - 256 Kb - - 16 Kb - * - ``nrf51_dk`` - - `Nordic nRF51-DK `_ - - nrf51822/nrf51422 ``cortex-m0`` - - 32 MHz ``32000000L`` - - 256 Kb - - 16 Kb - * - ``redBearLab`` - - `RedBearLab nRF51822 `_ - - nrf51822 ``cortex-m0`` - - 16 MHz ``16000000L`` - - 256 Kb - - 16 Kb - * - ``redBearLabBLENano`` - - `RedBearLab BLE Nano `_ - - nrf51822 ``cortex-m0`` - - 16 MHz ``16000000L`` - - 256 Kb - - 16 Kb + * - ``wallBotBLE`` - `JKSoft Wallbot BLE `_ - - nrf51822 ``cortex-m0`` - - 16 MHz ``16000000L`` + - 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 `_ + - NRF51822 + - 32 MHz + - 256 Kb + - 32 Kb + + + * - ``nrf51_dongle`` + - `Nordic nRF51-Dongle `_ + - NRF51822 + - 32 MHz + - 256 Kb + - 32 Kb + + + * - ``nrf51_mkit`` + - `Nordic nRF51822-mKIT `_ + - NRF51822 + - 16 MHz + - 128 Kb + - 16 Kb + +RedBearLab +~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``redBearLab`` + - `RedBearLab nRF51822 `_ + - NRF51822 + - 16 MHz + - 256 Kb + - 16 Kb + + + * - ``redBearLabBLENano`` + - `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 `_ - - nrf51822 ``cortex-m0`` - - 16 MHz ``16000000L`` - - 128 Kb + - NRF51822 + - 16 MHz + - 256 Kb - 16 Kb - - -More detailed information you can find here -`nRF51 platforms with support MBED framework `_. + \ No newline at end of file diff --git a/docs/platforms/nxplpc.rst b/docs/platforms/nxplpc.rst index d8dcff37..9ddaf80e 100644 --- a/docs/platforms/nxplpc.rst +++ b/docs/platforms/nxplpc.rst @@ -3,7 +3,14 @@ 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. +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:: @@ -14,36 +21,19 @@ Packages :header-rows: 1 * - Name - - Alias - Contents - * - ``toolchain-gccarmnoneeabi`` - - toolchain - - `gcc-arm-embedded `_, - `GDB `_ + * - ``framework-mbed`` - - - - See below in :ref:`nxplpc_frameworks` + - `mbed Framework `_ + + * - ``toolchain-gccarmnoneeabi`` + - `gcc-arm-embedded `_, `GDB `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `99-platformio-udev.rules `_ (an instruction is located in the file). -.. _nxplpc_frameworks: - -Frameworks ----------- - -.. list-table:: - :header-rows: 1 - - * - Type ``framework`` - - Name - - Reference - * - ``mbed`` - - MBED Framework - - `Documentation `__ - Boards ------ @@ -53,94 +43,215 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +CQ Publishing +~~~~~~~~~~~~~ + .. list-table:: :header-rows: 1 * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM - * - ``lpc1549`` - - `LPCXpresso1549 `_ - - LPC1549 ``cortex-m3`` - - 72 MHz ``72000000L`` - - 256 Kb - - 36 Kb - * - ``lpc1768`` - - `mbed LPC1768 `_ - - LPC1768 ``cortex-m3`` - - 96 MHz ``96000000L`` - - 512 Kb - - 32 Kb - * - ``seeeduinoArchPro`` - - `Seeeduino-Arch-Pro `_ - - LPC1768 ``cortex-m3`` - - 96 MHz ``96000000L`` - - 512 Kb - - 32 Kb - * - ``ubloxc027`` - - `U-blox C027 `_ - - LPC1768 ``cortex-m3`` - - 96 MHz ``96000000L`` - - 512 Kb - - 32 Kb - * - ``lpc1114fn28`` - - `mbed LPC1114FN28 `_ - - LPC1114FN28 ``cortex-m0`` - - 48 MHz ``48000000L`` - - 32 Kb - - 4 Kb - * - ``lpc11u24`` - - `mbed LPC11U24 `_ - - LPC11U24 ``cortex-m0`` - - 48 MHz ``48000000L`` - - 32 Kb - - 8 Kb - * - ``dipcortexm0`` - - `DipCortex M0 `_ - - LPC11U24 ``cortex-m0`` - - 50 MHz ``50000000L`` - - 32 Kb - - 8 Kb - * - ``blueboard_lpc11u24`` - - `BlueBoard-LPC11U24 `_ - - LPC11U24 ``cortex-m0`` - - 48 MHz ``48000000L`` - - 32 Kb - - 8 Kb - * - ``mbuino`` - - `Outrageous Circuits mBuino `_ - - LPC11U24 ``cortex-m0`` - - 50 MHz ``50000000L`` - - 32 Kb - - 8 Kb + + * - ``lpc11u35_501`` + - `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 `_ - - LPC11U35 ``cortex-m0`` - - 48 MHz ``48000000L`` - - 64 Kb - - 10 Kb - * - ``lpc11u35_501`` - - `TG-LPC11U35-501 QuickStart Board `_ - - LPC11U35 ``cortex-m0`` - - 48 MHz ``48000000L`` + - LPC11U35 + - 48 MHz - 64 Kb - 10 Kb + + * - ``lpc4088`` - `EA LPC4088 QuickStart Board `_ - - LPC4088 ``cortex-m4`` - - 120 MHz ``120000000L`` + - LPC4088 + - 120 MHz - 512 Kb - 96 Kb + + * - ``lpc4088_dm`` - `EA LPC4088 Display Module `_ - - LPC4088 ``cortex-m4`` - - 120 MHz ``120000000L`` + - LPC4088 + - 120 MHz - 512 Kb - 96 Kb + +NGX Technologies +~~~~~~~~~~~~~~~~ +.. list-table:: + :header-rows: 1 -More detailed information you can find here -`NXP platforms with support MBED framework `_. + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``blueboard_lpc11u24`` + - `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 `_ + - LPC11U24 + - 48 MHz + - 32 Kb + - 8 Kb + + + * - ``lpc1549`` + - `LPCXpresso1549 `_ + - LPC1549 + - 72 MHz + - 256 Kb + - 36 Kb + + + * - ``lpc1768`` + - `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 `_ + - LPC11U24 + - 48 MHz + - 32 Kb + - 8 Kb + +SeeedStudio +~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``seeeduinoArchPro`` + - `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 `_ + - LPC11U24 + - 50 MHz + - 32 Kb + - 8 Kb + +Switch Science +~~~~~~~~~~~~~~ + +.. list-table:: + :header-rows: 1 + + * - Type ``board`` + - Name + - Microcontroller + - Frequency + - Flash + - RAM + + * - ``lpc1114fn28`` + - `mbed 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 `_ + - LPC1768 + - 96 MHz + - 512 Kb + - 32 Kb + \ No newline at end of file diff --git a/docs/platforms/ststm32.rst b/docs/platforms/ststm32.rst index 4f024041..20717388 100644 --- a/docs/platforms/ststm32.rst +++ b/docs/platforms/ststm32.rst @@ -3,9 +3,14 @@ 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. +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. -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. +http://www.st.com/web/en/catalog/mmc/FM141/SC1169?sc=stm32 .. contents:: @@ -16,57 +21,34 @@ Packages :header-rows: 1 * - Name - - Alias - Contents + * - ``toolchain-gccarmnoneeabi`` - - toolchain - - `gcc-arm-embedded `_, - `GDB `_ + - `gcc-arm-embedded `_, `GDB `_ + * - ``tool-stlink`` - - uploader - - `STLink `_ - * - ``framework-cmsis`` - - - - See below in :ref:`ststm32_frameworks` + - `ST-Link `_ + * - ``framework-spl`` - - - - See below in :ref:`ststm32_frameworks` - * - ``framework-opencm3`` - - - - See below in :ref:`ststm32_frameworks` + - `Standard Peripheral Library for STM32 MCUs `_ + + * - ``framework-cmsis`` + - `Vendor-independent hardware abstraction layer for the Cortex-M processor series `_ + * - ``framework-mbed`` - - - - See below in :ref:`ststm32_frameworks` + - `mbed Framework `_ + + * - ``framework-opencm3`` + - `libOpenCM3 Framework `_ + + * - ``ldscripts`` + - `Linker Scripts `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `99-platformio-udev.rules `_ (an instruction is located in the file). -.. _ststm32_frameworks: - -Frameworks ----------- - -.. list-table:: - :header-rows: 1 - - * - Type ``framework`` - - Name - - Reference - * - ``cmsis`` - - Vendor-independent hardware abstraction layer for the Cortex-M processor series - - `Documentation `__ - * - ``spl`` - - Standard Peripheral Library for ST STM32 MCUs - - `Documentation `__ - * - ``opencm3`` - - libOpenCM3 Framework - - `Documentation `__ - * - ``mbed`` - - MBED Framework - - `Documentation `__ - Boards ------ @@ -76,149 +58,167 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +ST +~~ + .. list-table:: :header-rows: 1 * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM - * - ``disco_l152rb`` - - `STM32LDISCOVERY - `_ - - STM32L152rbt6 ``cortex-m3`` - - 32 MHz ``32000000L`` + + * - ``disco_f051r8`` + - `STM32F0DISCOVERY `_ + - STM32F051R8T6 + - 48 MHz + - 64 Kb + - 8 Kb + + + * - ``disco_f100rb`` + - `STM32VLDISCOVERY `_ + - STM32F100RBT6 + - 24 MHz - 128 Kb - - 16 Kb + - 8 Kb + + * - ``disco_f303vc`` - - `STM32F3DISCOVERY - `_ - - STM32F303vct6 ``cortex-m4`` - - 72 MHz ``72000000L`` + - `STM32F3DISCOVERY `_ + - STM32F303VCT6 + - 72 MHz - 256 Kb - 48 Kb - * - ``disco_f407vg`` - - `STM32F4DISCOVERY - `_ - - STM32F407vgt6 ``cortex-m4`` - - 168 Mhz ``168000000L`` - - 1 Mb - - 192 Kb - * - ``disco_f100rb`` - - `STM32VLDISCOVERY - `_ - - STM32F100rbt6 ``cortex-m3`` - - 24 Mhz ``24000000L`` - - 128 Kb - - 8 Kb - * - ``disco_f051r8`` - - `STM32F0DISCOVERY - `_ - - STM32F051r8t6 ``cortex-m0`` - - 48 Mhz ``48000000L`` - - 64 Kb - - 8 Kb + + * - ``disco_f334c8`` - - `32F3348DISCOVERY - `_ - - STM32F334c8t6 ``cortex-m4`` - - 72 Mhz ``72000000L`` + - `32F3348DISCOVERY `_ + - STM32F334C8T6 + - 72 MHz - 64 Kb - 16 Kb + + * - ``disco_f401vc`` - - `32F401CDISCOVERY - `_ - - STM32F401vct6 ``cortex-m4`` - - 84 Mhz ``84000000L`` + - `32F401CDISCOVERY `_ + - STM32F401VCT6 + - 84 MHz - 256 Kb - 64 Kb + + + * - ``disco_f407vg`` + - `STM32F4DISCOVERY `_ + - STM32F407VGT6 + - 168 MHz + - 1024 Kb + - 128 Kb + + * - ``disco_f429zi`` - - `32F429IDISCOVERY - `_ - - STM32F429zit6 ``cortex-m4`` - - 180 Mhz ``180000000L`` - - 2 Mb + - `32F429IDISCOVERY `_ + - STM32F429ZIT6 + - 180 MHz + - 2048 Kb - 256 Kb + + + * - ``disco_l152rb`` + - `STM32LDISCOVERY `_ + - STM32L152RBT6 + - 32 MHz + - 128 Kb + - 16 Kb + + * - ``nucleo_f030r8`` - - `ST Nucleo F030R8 - `_ - - STM32F030r8t6 ``cortex-m0`` - - 48 Mhz ``48000000L`` + - `ST Nucleo F030R8 `_ + - STM32F030R8T6 + - 48 MHz - 64 Kb - 8 Kb + + * - ``nucleo_f070rb`` - - `ST Nucleo F070RB - `_ - - STM32F070rbt6 ``cortex-m0`` - - 48 Mhz ``48000000L`` + - `ST Nucleo F070RB `_ + - STM32F070RBT6 + - 48 MHz - 128 Kb - 16 Kb + + * - ``nucleo_f072rb`` - - `ST Nucleo F072RB - `_ - - STM32F072rbt6 ``cortex-m0`` - - 48 Mhz ``48000000L`` + - `ST Nucleo F072RB `_ + - STM32F072RBT6 + - 48 MHz - 128 Kb - 16 Kb + + * - ``nucleo_f091rc`` - - `ST Nucleo F091RC - `_ - - STM32F091rct6 ``cortex-m0`` - - 48 Mhz ``48000000L`` + - `ST Nucleo F091RC `_ + - STM32F091RCT6 + - 48 MHz - 256 Kb - 32 Kb + + * - ``nucleo_f103rb`` - - `ST Nucleo F103RB - `_ - - STM32F103rbt6 ``cortex-m3`` - - 72 Mhz ``72000000L`` + - `ST Nucleo F103RB `_ + - STM32F103RBT6 + - 72 MHz - 128 Kb - 20 Kb + + * - ``nucleo_f302r8`` - - `ST Nucleo F302R8 - `_ - - STM32F302r8t6 ``cortex-m4`` - - 72 Mhz ``72000000L`` + - `ST Nucleo F302R8 `_ + - STM32F302R8T6 + - 72 MHz - 64 Kb - 16 Kb + + * - ``nucleo_f334r8`` - - `ST Nucleo F334R8 - `_ - - STM32F334r8t6 ``cortex-m4`` - - 72 Mhz ``72000000L`` + - `ST Nucleo F334R8 `_ + - STM32F334R8T6 + - 72 MHz - 64 Kb - 16 Kb + + * - ``nucleo_f401re`` - - `ST Nucleo F401RE - `_ - - STM32F401ret6 ``cortex-m4`` - - 84 Mhz ``84000000L`` + - `ST Nucleo F401RE `_ + - STM32F401RET6 + - 84 MHz - 512 Kb - 96 Kb + + * - ``nucleo_f411re`` - - `ST Nucleo F411RE - `_ - - STM32F411ret6 ``cortex-m4`` - - 100 Mhz ``100000000L`` + - `ST Nucleo F411RE `_ + - STM32F411RET6 + - 100 MHz - 512 Kb - 128 Kb + + * - ``nucleo_l053r8`` - - `ST Nucleo L053R8 - `_ - - STM32L053r8t6 ``cortex-m0`` - - 48 Mhz ``48000000L`` + - `ST Nucleo L053R8 `_ + - STM32L053R8T6 + - 48 MHz - 64 Kb - 8 Kb + + * - ``nucleo_l152re`` - - `ST Nucleo L152RE - `_ - - STM32L152ret6 ``cortex-m3`` - - 32 Mhz ``32000000L`` + - `ST Nucleo L152RE `_ + - STM32L152RET6 + - 32 MHz - 512 Kb - 80 Kb - -More detailed information you can find here -`STM32 Discovery kits `_ and here -`ST Nucleo boards with MBED support `_. + \ No newline at end of file diff --git a/docs/platforms/teensy.rst b/docs/platforms/teensy.rst index 37f172c6..21ff5fc5 100644 --- a/docs/platforms/teensy.rst +++ b/docs/platforms/teensy.rst @@ -3,7 +3,13 @@ Platform ``teensy`` =================== -`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:: @@ -14,46 +20,28 @@ Packages :header-rows: 1 * - Name - - Alias - Contents - * - ``toolchain-gccarmnoneeabi`` - - toolchain - - `gcc-arm-embedded `_, - `GDB `_ - * - ``toolchain-atmelavr`` - - toolchain - - `avr-gcc `_, - `GDB `_, - `AVaRICE `_, - `SimulAVR `_ - * - ``tool-teensy`` - - uploader - - `Teensy Loader `_ - * - ``framework-arduinoteensy`` - - - - See below in :ref:`teensy_frameworks` + * - ``toolchain-atmelavr`` + - `avr-gcc `_, `GDB `_, `AVaRICE `_, `SimulAVR `_ + + * - ``ldscripts`` + - `Linker Scripts `_ + + * - ``framework-arduinoteensy`` + - `Arduino Wiring-based Framework `_ + + * - ``toolchain-gccarmnoneeabi`` + - `gcc-arm-embedded `_, `GDB `_ + + * - ``tool-teensy`` + - `Teensy Loader `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `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 `_ - Boards ------ @@ -63,39 +51,47 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +Teensy +~~~~~~ + .. list-table:: :header-rows: 1 * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM + * - ``teensy20`` - `Teensy 2.0 `_ - - ATmega32u4 ``atmega32u4`` - - 16 MHz ``16000000L`` + - ATMEGA32U4 + - 16 MHz - 32 Kb - 2.5 Kb + + * - ``teensy20pp`` - `Teensy++ 2.0 `_ - - AT90USB1289 ``at90usb1286`` - - 16 MHz ``16000000L`` + - AT90USB1286 + - 16 MHz - 128 Kb - 8 Kb + + * - ``teensy30`` - `Teensy 3.0 `_ - - MK20DX128 ``cortex-m4`` - - 48 Mhz ``48000000L`` - - 128 kb + - MK20DX128 + - 48 MHz + - 128 Kb - 16 Kb + + * - ``teensy31`` - `Teensy 3.1 `_ - - MK20DX256 ``cortex-m4`` - - 72 Mhz ``72000000L`` - - 256 kb + - MK20DX256 + - 72 MHz + - 256 Kb - 64 Kb - -More detailed information you can find here -`Teensy USB Development Boards `_. + \ No newline at end of file diff --git a/docs/platforms/timsp430.rst b/docs/platforms/timsp430.rst index 256f9f36..3b733f87 100644 --- a/docs/platforms/timsp430.rst +++ b/docs/platforms/timsp430.rst @@ -3,10 +3,12 @@ Platform ``timsp430`` ===================== -`MSP430 microcontrollers (MCUs) from Texas Instruments (TI) `_ -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. +MSP430 microcontrollers (MCUs) from Texas Instruments (TI) +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 .. contents:: @@ -17,40 +19,22 @@ Packages :header-rows: 1 * - Name - - Alias - Contents - * - ``toolchain-timsp430`` - - toolchain - - `msp-gcc `_, - `GDB `_ - * - ``tool-mspdebug`` - - uploader - - `MSPDebug `_ - * - ``framework-energiamsp430`` - - - - See below in :ref:`timsp430_frameworks` + * - ``toolchain-timsp430`` + - `msp-gcc `_, `GDB `_ + + * - ``tool-mspdebug`` + - `MSPDebug `_ + + * - ``framework-energiamsp430`` + - `Energia Wiring-based Framework (MSP430 Core) `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `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 `_ - Boards ------ @@ -60,61 +44,71 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +TI +~~ + .. list-table:: :header-rows: 1 * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM - * - ``lpmsp430g2231`` - - `MSP430G2231 LaunchPad `_ - - MSP430G2231 ``msp430g2231`` - - 16 MHz ``16000000L`` - - 2 Kb - - 128 B - * - ``lpmsp430g2452`` - - `MSP430G2452 LaunchPad `_ - - MSP430G2452 ``msp430g2452`` - - 16 MHz ``16000000L`` - - 8 Kb - - 256 B - * - ``lpmsp430g2553`` - - `MSP430G2553 LaunchPad `_ - - MSP430G2553 ``msp430g2553`` - - 16 MHz ``16000000L`` - - 16 Kb - - 512 B + * - ``lpmsp430f5529`` - - `MSP430F5529 LaunchPad (16 Mhz) `_ - - MSP430F5529 ``msp430f5529`` - - 16 MHz ``16000000L`` + - `LaunchPad w/ msp430f5529 (16MHz) `_ + - MSP430F5529 + - 16 MHz - 128 Kb - - 8 KB + - 1 Kb + + * - ``lpmsp430f5529_25`` - - `MSP430F5529 LaunchPad (25 Mhz) `_ - - MSP430F5529 ``msp430f5529`` - - 25 MHz ``25000000L`` + - `LaunchPad w/ msp430f5529 (25MHz) `_ + - MSP430F5529 + - 25 MHz - 128 Kb - - 8 KB + - 1 Kb + + * - ``lpmsp430fr5739`` - - `MSP430FR5739 Experimenter Board `_ - - MSP430FR5739 ``msp430fr5739`` - - 16 MHz ``16000000L`` + - `FraunchPad w/ msp430fr5739 `_ + - MSP430FR5739 + - 16 MHz - 16 Kb - - 1 KB + - 1 Kb + + * - ``lpmsp430fr5969`` - - `MSP430FR5969 LaunchPad `_ - - MSP430FR5969 ``msp430fr5969`` - - 16 MHz ``16000000L`` + - `LaunchPad w/ msp430fr5969 `_ + - MSP430FR5969 + - 8 MHz - 64 Kb - - 2 KB - - -More detailed information you can find here -`MSP430 LaunchPads `_. + - 1 Kb + + * - ``lpmsp430g2231`` + - `LaunchPad w/ msp430g2231 (1 MHz) `_ + - MSP430G2231 + - 1 MHz + - 2 Kb + - 0.125 Kb + + * - ``lpmsp430g2452`` + - `LaunchPad w/ msp430g2452 (16MHz) `_ + - MSP430G2452 + - 16 MHz + - 8 Kb + - 0.25 Kb + + * - ``lpmsp430g2553`` + - `LaunchPad w/ msp430g2553 (16MHz) `_ + - MSP430G2553 + - 16 MHz + - 16 Kb + - 0.5 Kb + \ No newline at end of file diff --git a/docs/platforms/titiva.rst b/docs/platforms/titiva.rst index 208742d9..ce8078c3 100644 --- a/docs/platforms/titiva.rst +++ b/docs/platforms/titiva.rst @@ -3,12 +3,13 @@ Platform ``titiva`` =================== -`Texas Instruments TM4C12x MCUs `_ -offer the industry’s most popular ARM® -Cortex®-M4 core with scalable memory and package options, unparalleled +Texas Instruments TM4C12x MCUs offer the industrys most popular +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 + .. contents:: Packages @@ -18,45 +19,28 @@ Packages :header-rows: 1 * - Name - - Alias - Contents + + * - ``ldscripts`` + - `Linker Scripts `_ + * - ``toolchain-gccarmnoneeabi`` - - toolchain - - `gcc-arm-embedded `_, - `GDB `_ + - `gcc-arm-embedded `_, `GDB `_ + * - ``tool-lm4flash`` - - uploader - `Flash Programmer `_ - * - ``framework-energiativa`` - - - - See below in :ref:`titiva_frameworks` + * - ``framework-opencm3`` - - - - See below in :ref:`titiva_frameworks` + - `libOpenCM3 Framework `_ + + * - ``framework-energiativa`` + - `Energia Wiring-based Framework (LM4F Core) `_ .. warning:: **Linux Users:** Don't forget to install "udev" rules file `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 `__ - * - ``opencm3`` - - libOpenCM3 Framework - - `Documentation `__ - Boards ------ @@ -66,35 +50,39 @@ Boards * For more detailed ``board`` information please scroll tables below by horizontal. +TI +~~ + .. list-table:: :header-rows: 1 * - Type ``board`` - Name - - Microcontroller ``board_mcu`` - - Frequency ``board_f_cpu`` + - Microcontroller + - Frequency - Flash - RAM - * - ``lplm4f120h5qr`` - - `Stellaris LM4F120 LaunchPad `_ - - LM4F120H5QR ``cortex-m4`` - - 80 MHz ``80000000L`` - - 256 Kb - - 32 Kb - * - ``lptm4c1230c3pm`` - - `Tiva C Series TM4C123G LaunchPad - `_ - - TM4C123GH6PM ``cortex-m4`` - - 80 MHz ``80000000L`` - - 256 Kb - - 32 Kb - * - ``lptm4c1294ncpdt`` - - `Tiva C Series TM4C1294 Connected LaunchPad - `_ - - TM4C1294NCPDT ``cortex-m4`` - - 120 Mhz ``120000000L`` - - 1 Mb - - 256 Kb -More detailed information you can find here -`TIVA C Series LaunchPads `_. + * - ``lplm4f120h5qr`` + - `LaunchPad (Stellaris) w/ lm4f120 (80MHz) `_ + - LPLM4F120H5QR + - 80 MHz + - 256 Kb + - 32 Kb + + + * - ``lptm4c1230c3pm`` + - `LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ + - LPTM4C1230C3PM + - 80 MHz + - 256 Kb + - 32 Kb + + + * - ``lptm4c1294ncpdt`` + - `LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ + - LPTM4C1294NCPDT + - 120 MHz + - 1024 Kb + - 256 Kb + \ No newline at end of file From ce923b6b589ed4bb0155952ce9da24930025bf5a Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 19:32:53 +0200 Subject: [PATCH 13/16] Avoid multiple white spaces --- docs/frameworks/arduino.rst | 69 +++-------------------------- docs/frameworks/cmsis.rst | 3 -- docs/frameworks/energia.rst | 10 ----- docs/frameworks/mbed.rst | 57 ++++++------------------ docs/frameworks/opencm3.rst | 7 +-- docs/frameworks/spl.rst | 3 -- docs/platforms/atmelavr.rst | 58 +++--------------------- docs/platforms/atmelsam.rst | 7 +-- docs/platforms/freescalekinetis.rst | 6 --- docs/platforms/nordicnrf51.rst | 10 ++--- docs/platforms/nxplpc.rst | 21 ++++----- docs/platforms/ststm32.rst | 19 -------- docs/platforms/teensy.rst | 4 -- docs/platforms/timsp430.rst | 7 --- docs/platforms/titiva.rst | 3 -- platformio/boards/arduino.json | 4 +- platformio/boards/ststm32.json | 6 +-- scripts/docspregen.py | 27 +++++------ 18 files changed, 56 insertions(+), 265 deletions(-) diff --git a/docs/frameworks/arduino.rst b/docs/frameworks/arduino.rst index a45abf34..705f6bf0 100644 --- a/docs/frameworks/arduino.rst +++ b/docs/frameworks/arduino.rst @@ -32,7 +32,6 @@ Adafruit - 8 MHz - 32 Kb - 2.5 Kb - * - ``protrinket3`` - `Pro Trinket 3V/12MHz (USB) `_ @@ -40,7 +39,6 @@ Adafruit - 12 MHz - 32 Kb - 2 Kb - * - ``protrinket3ftdi`` - `Pro Trinket 3V/12MHz (FTDI) `_ @@ -48,7 +46,6 @@ Adafruit - 16 MHz - 32 Kb - 2 Kb - * - ``protrinket5`` - `Pro Trinket 5V/16MHz (USB) `_ @@ -56,7 +53,6 @@ Adafruit - 16 MHz - 32 Kb - 2 Kb - * - ``protrinket5ftdi`` - `Pro Trinket 5V/16MHz (USB) `_ @@ -64,7 +60,6 @@ Adafruit - 16 MHz - 32 Kb - 2 Kb - * - ``trinket3`` - `Adafruit Trinket 3V/8MHz `_ @@ -72,7 +67,6 @@ Adafruit - 8 MHz - 8 Kb - 0.5 Kb - * - ``trinket5`` - `Adafruit Trinket 5V/16MHz `_ @@ -80,7 +74,7 @@ Adafruit - 16 MHz - 8 Kb - 0.5 Kb - + Arduino ~~~~~~~ @@ -100,7 +94,6 @@ Arduino - 8 MHz - 32 Kb - 2.5 Kb - * - ``atmegangatmega168`` - `Arduino NG or older ATmega168 `_ @@ -108,7 +101,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``atmegangatmega8`` - `Arduino NG or older ATmega8 `_ @@ -116,7 +108,6 @@ Arduino - 16 MHz - 8 Kb - 1 Kb - * - ``btatmega168`` - `Arduino BT ATmega168 `_ @@ -124,7 +115,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``btatmega328`` - `Arduino BT ATmega328 `_ @@ -132,7 +122,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``diecimilaatmega168`` - `Arduino Duemilanove or Diecimila ATmega168 `_ @@ -140,7 +129,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``diecimilaatmega328`` - `Arduino Duemilanove or Diecimila ATmega328 `_ @@ -148,7 +136,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``due`` - `Arduino Due (Programming Port) `_ @@ -156,7 +143,6 @@ Arduino - 84 MHz - 512 Kb - 32 Kb - * - ``dueUSB`` - `Arduino Due (USB Native Port) `_ @@ -164,7 +150,6 @@ Arduino - 84 MHz - 512 Kb - 32 Kb - * - ``esplora`` - `Arduino Esplora `_ @@ -172,7 +157,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``ethernet`` - `Arduino Ethernet `_ @@ -180,7 +164,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``fio`` - `Arduino Fio `_ @@ -188,7 +171,6 @@ Arduino - 8 MHz - 32 Kb - 2 Kb - * - ``leonardo`` - `Arduino Leonardo `_ @@ -196,7 +178,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``lilypadatmega168`` - `LilyPad Arduino ATmega168 `_ @@ -204,7 +185,6 @@ Arduino - 8 MHz - 16 Kb - 1 Kb - * - ``lilypadatmega328`` - `LilyPad Arduino ATmega328 `_ @@ -212,7 +192,6 @@ Arduino - 8 MHz - 32 Kb - 2 Kb - * - ``megaADK`` - `Arduino Mega ADK `_ @@ -220,7 +199,6 @@ Arduino - 16 MHz - 256 Kb - 8 Kb - * - ``megaatmega1280`` - `Arduino Mega or Mega 2560 ATmega1280 `_ @@ -228,7 +206,6 @@ Arduino - 16 MHz - 128 Kb - 8 Kb - * - ``megaatmega2560`` - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ @@ -236,7 +213,6 @@ Arduino - 16 MHz - 256 Kb - 8 Kb - * - ``micro`` - `Arduino Micro `_ @@ -244,7 +220,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``miniatmega168`` - `Arduino Mini ATmega168 `_ @@ -252,7 +227,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``miniatmega328`` - `Arduino Mini ATmega328 `_ @@ -260,7 +234,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``nanoatmega168`` - `Arduino Nano ATmega168 `_ @@ -268,7 +241,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``nanoatmega328`` - `Arduino Nano ATmega328 `_ @@ -276,7 +248,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``pro16MHzatmega168`` - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ @@ -284,7 +255,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``pro16MHzatmega328`` - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ @@ -292,7 +262,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``pro8MHzatmega168`` - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ @@ -300,7 +269,6 @@ Arduino - 8 MHz - 16 Kb - 1 Kb - * - ``pro8MHzatmega328`` - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ @@ -308,7 +276,6 @@ Arduino - 8 MHz - 32 Kb - 2 Kb - * - ``robotControl`` - `Arduino Robot Control `_ @@ -316,7 +283,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``robotMotor`` - `Arduino Robot Motor `_ @@ -324,7 +290,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``uno`` - `Arduino Uno `_ @@ -332,7 +297,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``yun`` - `Arduino Yun `_ @@ -340,7 +304,7 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - + BitWizard ~~~~~~~~~ @@ -360,7 +324,7 @@ BitWizard - 16 MHz - 32 Kb - 2 Kb - + Digistump ~~~~~~~~~ @@ -380,7 +344,6 @@ Digistump - 16 MHz - 16 Kb - 0.5 Kb - * - ``digispark-pro32`` - `Digispark Pro (16 MHz) (32 byte buffer) `_ @@ -388,7 +351,6 @@ Digistump - 16 MHz - 16 Kb - 0.5 Kb - * - ``digispark-pro64`` - `Digispark Pro (16 MHz) (64 byte buffer) `_ @@ -396,7 +358,6 @@ Digistump - 16 MHz - 16 Kb - 0.5 Kb - * - ``digispark-tiny`` - `Digispark (Default - 16 MHz) `_ @@ -404,7 +365,6 @@ Digistump - 16 MHz - 8 Kb - 0.5 Kb - * - ``digix`` - `Digistump DigiX `_ @@ -412,7 +372,7 @@ Digistump - 84 MHz - 512 Kb - 28 Kb - + Engduino ~~~~~~~~ @@ -432,7 +392,6 @@ Engduino - 8 MHz - 32 Kb - 2.5 Kb - * - ``engduinov2`` - `Engduino 2 `_ @@ -440,7 +399,6 @@ Engduino - 8 MHz - 32 Kb - 2.5 Kb - * - ``engduinov3`` - `Engduino 3 `_ @@ -448,7 +406,7 @@ Engduino - 8 MHz - 32 Kb - 2.5 Kb - + Microduino ~~~~~~~~~~ @@ -468,7 +426,6 @@ Microduino - 16 MHz - 128 Kb - 16 Kb - * - ``1284p8m`` - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ @@ -476,7 +433,6 @@ Microduino - 8 MHz - 128 Kb - 16 Kb - * - ``168pa16m`` - `Microduino Core (Atmega168PA@16M,5V) `_ @@ -484,7 +440,6 @@ Microduino - 16 MHz - 16 Kb - 1 Kb - * - ``168pa8m`` - `Microduino Core (Atmega168PA@8M,3.3V) `_ @@ -492,7 +447,6 @@ Microduino - 8 MHz - 16 Kb - 1 Kb - * - ``328p16m`` - `Microduino Core (Atmega328P@16M,5V) `_ @@ -500,7 +454,6 @@ Microduino - 16 MHz - 32 Kb - 2 Kb - * - ``328p8m`` - `Microduino Core (Atmega328P@8M,3.3V) `_ @@ -508,7 +461,6 @@ Microduino - 8 MHz - 32 Kb - 2 Kb - * - ``32u416m`` - `Microduino Core USB (ATmega32U4@16M,5V) `_ @@ -516,7 +468,6 @@ Microduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``644pa16m`` - `Microduino Core+ (Atmega644PA@16M,5V) `_ @@ -524,7 +475,6 @@ Microduino - 16 MHz - 64 Kb - 4 Kb - * - ``644pa8m`` - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ @@ -532,7 +482,7 @@ Microduino - 8 MHz - 64 Kb - 4 Kb - + SainSmart ~~~~~~~~~ @@ -552,7 +502,6 @@ SainSmart - 84 MHz - 512 Kb - 32 Kb - * - ``sainSmartDueUSB`` - `SainSmart Due (USB Native Port) `_ @@ -560,7 +509,7 @@ SainSmart - 84 MHz - 512 Kb - 32 Kb - + Teensy ~~~~~~ @@ -580,7 +529,6 @@ Teensy - 16 MHz - 32 Kb - 2.5 Kb - * - ``teensy20pp`` - `Teensy++ 2.0 `_ @@ -588,7 +536,6 @@ Teensy - 16 MHz - 128 Kb - 8 Kb - * - ``teensy30`` - `Teensy 3.0 `_ @@ -596,7 +543,6 @@ Teensy - 48 MHz - 128 Kb - 16 Kb - * - ``teensy31`` - `Teensy 3.1 `_ @@ -604,4 +550,3 @@ Teensy - 72 MHz - 256 Kb - 64 Kb - \ No newline at end of file diff --git a/docs/frameworks/cmsis.rst b/docs/frameworks/cmsis.rst index 55e5fd1f..95deecb8 100644 --- a/docs/frameworks/cmsis.rst +++ b/docs/frameworks/cmsis.rst @@ -32,7 +32,6 @@ ST - 72 MHz - 256 Kb - 48 Kb - * - ``disco_f407vg`` - `STM32F4DISCOVERY `_ @@ -40,7 +39,6 @@ ST - 168 MHz - 1024 Kb - 128 Kb - * - ``disco_l152rb`` - `STM32LDISCOVERY `_ @@ -48,4 +46,3 @@ ST - 32 MHz - 128 Kb - 16 Kb - \ No newline at end of file diff --git a/docs/frameworks/energia.rst b/docs/frameworks/energia.rst index f25533bd..2a4c0524 100644 --- a/docs/frameworks/energia.rst +++ b/docs/frameworks/energia.rst @@ -32,7 +32,6 @@ TI - 80 MHz - 256 Kb - 32 Kb - * - ``lpmsp430f5529`` - `LaunchPad w/ msp430f5529 (16MHz) `_ @@ -40,7 +39,6 @@ TI - 16 MHz - 128 Kb - 1 Kb - * - ``lpmsp430f5529_25`` - `LaunchPad w/ msp430f5529 (25MHz) `_ @@ -48,7 +46,6 @@ TI - 25 MHz - 128 Kb - 1 Kb - * - ``lpmsp430fr5739`` - `FraunchPad w/ msp430fr5739 `_ @@ -56,7 +53,6 @@ TI - 16 MHz - 16 Kb - 1 Kb - * - ``lpmsp430fr5969`` - `LaunchPad w/ msp430fr5969 `_ @@ -64,7 +60,6 @@ TI - 8 MHz - 64 Kb - 1 Kb - * - ``lpmsp430g2231`` - `LaunchPad w/ msp430g2231 (1 MHz) `_ @@ -72,7 +67,6 @@ TI - 1 MHz - 2 Kb - 0.125 Kb - * - ``lpmsp430g2452`` - `LaunchPad w/ msp430g2452 (16MHz) `_ @@ -80,7 +74,6 @@ TI - 16 MHz - 8 Kb - 0.25 Kb - * - ``lpmsp430g2553`` - `LaunchPad w/ msp430g2553 (16MHz) `_ @@ -88,7 +81,6 @@ TI - 16 MHz - 16 Kb - 0.5 Kb - * - ``lptm4c1230c3pm`` - `LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ @@ -96,7 +88,6 @@ TI - 80 MHz - 256 Kb - 32 Kb - * - ``lptm4c1294ncpdt`` - `LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ @@ -104,4 +95,3 @@ TI - 120 MHz - 1024 Kb - 256 Kb - \ No newline at end of file diff --git a/docs/frameworks/mbed.rst b/docs/frameworks/mbed.rst index d3d0287c..7051cd81 100644 --- a/docs/frameworks/mbed.rst +++ b/docs/frameworks/mbed.rst @@ -32,7 +32,7 @@ CQ Publishing - 48 MHz - 64 Kb - 10 Kb - + Embedded Artists ~~~~~~~~~~~~~~~~ @@ -52,7 +52,6 @@ Embedded Artists - 48 MHz - 64 Kb - 10 Kb - * - ``lpc4088`` - `EA LPC4088 QuickStart Board `_ @@ -60,7 +59,6 @@ Embedded Artists - 120 MHz - 512 Kb - 96 Kb - * - ``lpc4088_dm`` - `EA LPC4088 Display Module `_ @@ -68,7 +66,7 @@ Embedded Artists - 120 MHz - 512 Kb - 96 Kb - + Freescale ~~~~~~~~~ @@ -88,7 +86,6 @@ Freescale - 48 MHz - 128 Kb - 16 Kb - * - ``frdm_k22f`` - `Freescale Kinetis FRDM-K22F `_ @@ -96,7 +93,6 @@ Freescale - 120 MHz - 512 Kb - 128 Kb - * - ``frdm_k64f`` - `Freescale Kinetis FRDM-K64F `_ @@ -104,7 +100,6 @@ Freescale - 120 MHz - 1024 Kb - 256 Kb - * - ``frdm_kl05z`` - `Freescale Kinetis FRDM-KL05Z `_ @@ -112,7 +107,6 @@ Freescale - 48 MHz - 32 Kb - 4 Kb - * - ``frdm_kl25z`` - `Freescale Kinetis FRDM-KL25Z `_ @@ -120,7 +114,6 @@ Freescale - 48 MHz - 128 Kb - 16 Kb - * - ``frdm_kl46z`` - `Freescale Kinetis FRDM-KL46Z `_ @@ -128,7 +121,7 @@ Freescale - 48 MHz - 256 Kb - 32 Kb - + JKSoft ~~~~~~ @@ -148,7 +141,7 @@ JKSoft - 16 MHz - 128 Kb - 16 Kb - + NGX Technologies ~~~~~~~~~~~~~~~~ @@ -168,7 +161,7 @@ NGX Technologies - 48 MHz - 32 Kb - 8 Kb - + NXP ~~~ @@ -188,7 +181,6 @@ NXP - 48 MHz - 32 Kb - 8 Kb - * - ``lpc1549`` - `LPCXpresso1549 `_ @@ -196,7 +188,6 @@ NXP - 72 MHz - 256 Kb - 36 Kb - * - ``lpc1768`` - `mbed LPC1768 `_ @@ -204,7 +195,7 @@ NXP - 96 MHz - 512 Kb - 32 Kb - + Nordic ~~~~~~ @@ -224,7 +215,6 @@ Nordic - 32 MHz - 256 Kb - 32 Kb - * - ``nrf51_dongle`` - `Nordic nRF51-Dongle `_ @@ -232,7 +222,6 @@ Nordic - 32 MHz - 256 Kb - 32 Kb - * - ``nrf51_mkit`` - `Nordic nRF51822-mKIT `_ @@ -240,7 +229,7 @@ Nordic - 16 MHz - 128 Kb - 16 Kb - + Outrageous Circuits ~~~~~~~~~~~~~~~~~~~ @@ -260,7 +249,7 @@ Outrageous Circuits - 48 MHz - 32 Kb - 8 Kb - + RedBearLab ~~~~~~~~~~ @@ -280,7 +269,6 @@ RedBearLab - 16 MHz - 256 Kb - 16 Kb - * - ``redBearLabBLENano`` - `RedBearLab BLE Nano `_ @@ -288,7 +276,7 @@ RedBearLab - 16 MHz - 256 Kb - 16 Kb - + ST ~~ @@ -308,7 +296,6 @@ ST - 48 MHz - 64 Kb - 8 Kb - * - ``disco_f100rb`` - `STM32VLDISCOVERY `_ @@ -316,7 +303,6 @@ ST - 24 MHz - 128 Kb - 8 Kb - * - ``disco_f303vc`` - `STM32F3DISCOVERY `_ @@ -324,7 +310,6 @@ ST - 72 MHz - 256 Kb - 48 Kb - * - ``disco_f334c8`` - `32F3348DISCOVERY `_ @@ -332,7 +317,6 @@ ST - 72 MHz - 64 Kb - 16 Kb - * - ``disco_f401vc`` - `32F401CDISCOVERY `_ @@ -340,7 +324,6 @@ ST - 84 MHz - 256 Kb - 64 Kb - * - ``disco_f407vg`` - `STM32F4DISCOVERY `_ @@ -348,7 +331,6 @@ ST - 168 MHz - 1024 Kb - 128 Kb - * - ``disco_f429zi`` - `32F429IDISCOVERY `_ @@ -356,7 +338,6 @@ ST - 180 MHz - 2048 Kb - 256 Kb - * - ``nucleo_f030r8`` - `ST Nucleo F030R8 `_ @@ -364,7 +345,6 @@ ST - 48 MHz - 64 Kb - 8 Kb - * - ``nucleo_f070rb`` - `ST Nucleo F070RB `_ @@ -372,7 +352,6 @@ ST - 48 MHz - 128 Kb - 16 Kb - * - ``nucleo_f072rb`` - `ST Nucleo F072RB `_ @@ -380,7 +359,6 @@ ST - 48 MHz - 128 Kb - 16 Kb - * - ``nucleo_f091rc`` - `ST Nucleo F091RC `_ @@ -388,7 +366,6 @@ ST - 48 MHz - 256 Kb - 32 Kb - * - ``nucleo_f103rb`` - `ST Nucleo F103RB `_ @@ -396,7 +373,6 @@ ST - 72 MHz - 128 Kb - 20 Kb - * - ``nucleo_f302r8`` - `ST Nucleo F302R8 `_ @@ -404,7 +380,6 @@ ST - 72 MHz - 64 Kb - 16 Kb - * - ``nucleo_f334r8`` - `ST Nucleo F334R8 `_ @@ -412,7 +387,6 @@ ST - 72 MHz - 64 Kb - 16 Kb - * - ``nucleo_f401re`` - `ST Nucleo F401RE `_ @@ -420,7 +394,6 @@ ST - 84 MHz - 512 Kb - 96 Kb - * - ``nucleo_f411re`` - `ST Nucleo F411RE `_ @@ -428,7 +401,6 @@ ST - 100 MHz - 512 Kb - 128 Kb - * - ``nucleo_l053r8`` - `ST Nucleo L053R8 `_ @@ -436,7 +408,6 @@ ST - 48 MHz - 64 Kb - 8 Kb - * - ``nucleo_l152re`` - `ST Nucleo L152RE `_ @@ -444,7 +415,7 @@ ST - 32 MHz - 512 Kb - 80 Kb - + SeeedStudio ~~~~~~~~~~~ @@ -464,7 +435,7 @@ SeeedStudio - 96 MHz - 512 Kb - 32 Kb - + Solder Splash Labs ~~~~~~~~~~~~~~~~~~ @@ -484,7 +455,7 @@ Solder Splash Labs - 50 MHz - 32 Kb - 8 Kb - + Switch Science ~~~~~~~~~~~~~~ @@ -504,7 +475,6 @@ Switch Science - 16 MHz - 256 Kb - 16 Kb - * - ``lpc1114fn28`` - `mbed LPC1114FN28 `_ @@ -512,7 +482,7 @@ Switch Science - 48 MHz - 32 Kb - 4 Kb - + u-blox ~~~~~~ @@ -532,4 +502,3 @@ u-blox - 96 MHz - 512 Kb - 32 Kb - \ No newline at end of file diff --git a/docs/frameworks/opencm3.rst b/docs/frameworks/opencm3.rst index 5c722ca2..81dbc3aa 100644 --- a/docs/frameworks/opencm3.rst +++ b/docs/frameworks/opencm3.rst @@ -32,7 +32,6 @@ ST - 72 MHz - 256 Kb - 48 Kb - * - ``disco_f407vg`` - `STM32F4DISCOVERY `_ @@ -40,7 +39,6 @@ ST - 168 MHz - 1024 Kb - 128 Kb - * - ``disco_l152rb`` - `STM32LDISCOVERY `_ @@ -48,7 +46,7 @@ ST - 32 MHz - 128 Kb - 16 Kb - + TI ~~ @@ -68,7 +66,6 @@ TI - 80 MHz - 256 Kb - 32 Kb - * - ``lptm4c1230c3pm`` - `LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ @@ -76,7 +73,6 @@ TI - 80 MHz - 256 Kb - 32 Kb - * - ``lptm4c1294ncpdt`` - `LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ @@ -84,4 +80,3 @@ TI - 120 MHz - 1024 Kb - 256 Kb - \ No newline at end of file diff --git a/docs/frameworks/spl.rst b/docs/frameworks/spl.rst index ae08977d..16e4e4af 100644 --- a/docs/frameworks/spl.rst +++ b/docs/frameworks/spl.rst @@ -32,7 +32,6 @@ ST - 72 MHz - 256 Kb - 48 Kb - * - ``disco_f407vg`` - `STM32F4DISCOVERY `_ @@ -40,7 +39,6 @@ ST - 168 MHz - 1024 Kb - 128 Kb - * - ``disco_l152rb`` - `STM32LDISCOVERY `_ @@ -48,4 +46,3 @@ ST - 32 MHz - 128 Kb - 16 Kb - \ No newline at end of file diff --git a/docs/platforms/atmelavr.rst b/docs/platforms/atmelavr.rst index 5fc07043..8204ec29 100644 --- a/docs/platforms/atmelavr.rst +++ b/docs/platforms/atmelavr.rst @@ -67,7 +67,6 @@ Adafruit - 8 MHz - 32 Kb - 2.5 Kb - * - ``protrinket3`` - `Pro Trinket 3V/12MHz (USB) `_ @@ -75,7 +74,6 @@ Adafruit - 12 MHz - 32 Kb - 2 Kb - * - ``protrinket3ftdi`` - `Pro Trinket 3V/12MHz (FTDI) `_ @@ -83,7 +81,6 @@ Adafruit - 16 MHz - 32 Kb - 2 Kb - * - ``protrinket5`` - `Pro Trinket 5V/16MHz (USB) `_ @@ -91,7 +88,6 @@ Adafruit - 16 MHz - 32 Kb - 2 Kb - * - ``protrinket5ftdi`` - `Pro Trinket 5V/16MHz (USB) `_ @@ -99,7 +95,6 @@ Adafruit - 16 MHz - 32 Kb - 2 Kb - * - ``trinket3`` - `Adafruit Trinket 3V/8MHz `_ @@ -107,7 +102,6 @@ Adafruit - 8 MHz - 8 Kb - 0.5 Kb - * - ``trinket5`` - `Adafruit Trinket 5V/16MHz `_ @@ -115,7 +109,7 @@ Adafruit - 16 MHz - 8 Kb - 0.5 Kb - + Arduino ~~~~~~~ @@ -135,7 +129,6 @@ Arduino - 8 MHz - 32 Kb - 2.5 Kb - * - ``atmegangatmega168`` - `Arduino NG or older ATmega168 `_ @@ -143,7 +136,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``atmegangatmega8`` - `Arduino NG or older ATmega8 `_ @@ -151,7 +143,6 @@ Arduino - 16 MHz - 8 Kb - 1 Kb - * - ``btatmega168`` - `Arduino BT ATmega168 `_ @@ -159,7 +150,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``btatmega328`` - `Arduino BT ATmega328 `_ @@ -167,7 +157,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``diecimilaatmega168`` - `Arduino Duemilanove or Diecimila ATmega168 `_ @@ -175,7 +164,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``diecimilaatmega328`` - `Arduino Duemilanove or Diecimila ATmega328 `_ @@ -183,7 +171,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``esplora`` - `Arduino Esplora `_ @@ -191,7 +178,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``ethernet`` - `Arduino Ethernet `_ @@ -199,7 +185,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``fio`` - `Arduino Fio `_ @@ -207,7 +192,6 @@ Arduino - 8 MHz - 32 Kb - 2 Kb - * - ``leonardo`` - `Arduino Leonardo `_ @@ -215,7 +199,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``lilypadatmega168`` - `LilyPad Arduino ATmega168 `_ @@ -223,7 +206,6 @@ Arduino - 8 MHz - 16 Kb - 1 Kb - * - ``lilypadatmega328`` - `LilyPad Arduino ATmega328 `_ @@ -231,7 +213,6 @@ Arduino - 8 MHz - 32 Kb - 2 Kb - * - ``megaADK`` - `Arduino Mega ADK `_ @@ -239,7 +220,6 @@ Arduino - 16 MHz - 256 Kb - 8 Kb - * - ``megaatmega1280`` - `Arduino Mega or Mega 2560 ATmega1280 `_ @@ -247,7 +227,6 @@ Arduino - 16 MHz - 128 Kb - 8 Kb - * - ``megaatmega2560`` - `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) `_ @@ -255,7 +234,6 @@ Arduino - 16 MHz - 256 Kb - 8 Kb - * - ``micro`` - `Arduino Micro `_ @@ -263,7 +241,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``miniatmega168`` - `Arduino Mini ATmega168 `_ @@ -271,7 +248,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``miniatmega328`` - `Arduino Mini ATmega328 `_ @@ -279,7 +255,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``nanoatmega168`` - `Arduino Nano ATmega168 `_ @@ -287,7 +262,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``nanoatmega328`` - `Arduino Nano ATmega328 `_ @@ -295,7 +269,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``pro16MHzatmega168`` - `Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz) `_ @@ -303,7 +276,6 @@ Arduino - 16 MHz - 16 Kb - 1 Kb - * - ``pro16MHzatmega328`` - `Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz) `_ @@ -311,7 +283,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``pro8MHzatmega168`` - `Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz) `_ @@ -319,7 +290,6 @@ Arduino - 8 MHz - 16 Kb - 1 Kb - * - ``pro8MHzatmega328`` - `Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz) `_ @@ -327,7 +297,6 @@ Arduino - 8 MHz - 32 Kb - 2 Kb - * - ``robotControl`` - `Arduino Robot Control `_ @@ -335,7 +304,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``robotMotor`` - `Arduino Robot Motor `_ @@ -343,7 +311,6 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``uno`` - `Arduino Uno `_ @@ -351,7 +318,6 @@ Arduino - 16 MHz - 32 Kb - 2 Kb - * - ``yun`` - `Arduino Yun `_ @@ -359,7 +325,7 @@ Arduino - 16 MHz - 32 Kb - 2.5 Kb - + BitWizard ~~~~~~~~~ @@ -379,7 +345,7 @@ BitWizard - 16 MHz - 32 Kb - 2 Kb - + Digistump ~~~~~~~~~ @@ -399,7 +365,6 @@ Digistump - 16 MHz - 16 Kb - 0.5 Kb - * - ``digispark-pro32`` - `Digispark Pro (16 MHz) (32 byte buffer) `_ @@ -407,7 +372,6 @@ Digistump - 16 MHz - 16 Kb - 0.5 Kb - * - ``digispark-pro64`` - `Digispark Pro (16 MHz) (64 byte buffer) `_ @@ -415,7 +379,6 @@ Digistump - 16 MHz - 16 Kb - 0.5 Kb - * - ``digispark-tiny`` - `Digispark (Default - 16 MHz) `_ @@ -423,7 +386,7 @@ Digistump - 16 MHz - 8 Kb - 0.5 Kb - + Engduino ~~~~~~~~ @@ -443,7 +406,6 @@ Engduino - 8 MHz - 32 Kb - 2.5 Kb - * - ``engduinov2`` - `Engduino 2 `_ @@ -451,7 +413,6 @@ Engduino - 8 MHz - 32 Kb - 2.5 Kb - * - ``engduinov3`` - `Engduino 3 `_ @@ -459,7 +420,7 @@ Engduino - 8 MHz - 32 Kb - 2.5 Kb - + Microduino ~~~~~~~~~~ @@ -479,7 +440,6 @@ Microduino - 16 MHz - 128 Kb - 16 Kb - * - ``1284p8m`` - `Microduino Core+ (ATmega1284P@8M,3.3V) `_ @@ -487,7 +447,6 @@ Microduino - 8 MHz - 128 Kb - 16 Kb - * - ``168pa16m`` - `Microduino Core (Atmega168PA@16M,5V) `_ @@ -495,7 +454,6 @@ Microduino - 16 MHz - 16 Kb - 1 Kb - * - ``168pa8m`` - `Microduino Core (Atmega168PA@8M,3.3V) `_ @@ -503,7 +461,6 @@ Microduino - 8 MHz - 16 Kb - 1 Kb - * - ``328p16m`` - `Microduino Core (Atmega328P@16M,5V) `_ @@ -511,7 +468,6 @@ Microduino - 16 MHz - 32 Kb - 2 Kb - * - ``328p8m`` - `Microduino Core (Atmega328P@8M,3.3V) `_ @@ -519,7 +475,6 @@ Microduino - 8 MHz - 32 Kb - 2 Kb - * - ``32u416m`` - `Microduino Core USB (ATmega32U4@16M,5V) `_ @@ -527,7 +482,6 @@ Microduino - 16 MHz - 32 Kb - 2.5 Kb - * - ``644pa16m`` - `Microduino Core+ (Atmega644PA@16M,5V) `_ @@ -535,7 +489,6 @@ Microduino - 16 MHz - 64 Kb - 4 Kb - * - ``644pa8m`` - `Microduino Core+ (Atmega644PA@8M,3.3V) `_ @@ -543,4 +496,3 @@ Microduino - 8 MHz - 64 Kb - 4 Kb - \ No newline at end of file diff --git a/docs/platforms/atmelsam.rst b/docs/platforms/atmelsam.rst index a5b70073..128f9812 100644 --- a/docs/platforms/atmelsam.rst +++ b/docs/platforms/atmelsam.rst @@ -65,7 +65,6 @@ Arduino - 84 MHz - 512 Kb - 32 Kb - * - ``dueUSB`` - `Arduino Due (USB Native Port) `_ @@ -73,7 +72,7 @@ Arduino - 84 MHz - 512 Kb - 32 Kb - + Digistump ~~~~~~~~~ @@ -93,7 +92,7 @@ Digistump - 84 MHz - 512 Kb - 28 Kb - + SainSmart ~~~~~~~~~ @@ -113,7 +112,6 @@ SainSmart - 84 MHz - 512 Kb - 32 Kb - * - ``sainSmartDueUSB`` - `SainSmart Due (USB Native Port) `_ @@ -121,4 +119,3 @@ SainSmart - 84 MHz - 512 Kb - 32 Kb - \ No newline at end of file diff --git a/docs/platforms/freescalekinetis.rst b/docs/platforms/freescalekinetis.rst index 86d39276..b190bc95 100644 --- a/docs/platforms/freescalekinetis.rst +++ b/docs/platforms/freescalekinetis.rst @@ -60,7 +60,6 @@ Freescale - 48 MHz - 128 Kb - 16 Kb - * - ``frdm_k22f`` - `Freescale Kinetis FRDM-K22F `_ @@ -68,7 +67,6 @@ Freescale - 120 MHz - 512 Kb - 128 Kb - * - ``frdm_k64f`` - `Freescale Kinetis FRDM-K64F `_ @@ -76,7 +74,6 @@ Freescale - 120 MHz - 1024 Kb - 256 Kb - * - ``frdm_kl05z`` - `Freescale Kinetis FRDM-KL05Z `_ @@ -84,7 +81,6 @@ Freescale - 48 MHz - 32 Kb - 4 Kb - * - ``frdm_kl25z`` - `Freescale Kinetis FRDM-KL25Z `_ @@ -92,7 +88,6 @@ Freescale - 48 MHz - 128 Kb - 16 Kb - * - ``frdm_kl46z`` - `Freescale Kinetis FRDM-KL46Z `_ @@ -100,4 +95,3 @@ Freescale - 48 MHz - 256 Kb - 32 Kb - \ No newline at end of file diff --git a/docs/platforms/nordicnrf51.rst b/docs/platforms/nordicnrf51.rst index ff58ddd2..43970701 100644 --- a/docs/platforms/nordicnrf51.rst +++ b/docs/platforms/nordicnrf51.rst @@ -62,7 +62,7 @@ JKSoft - 16 MHz - 128 Kb - 16 Kb - + Nordic ~~~~~~ @@ -82,7 +82,6 @@ Nordic - 32 MHz - 256 Kb - 32 Kb - * - ``nrf51_dongle`` - `Nordic nRF51-Dongle `_ @@ -90,7 +89,6 @@ Nordic - 32 MHz - 256 Kb - 32 Kb - * - ``nrf51_mkit`` - `Nordic nRF51822-mKIT `_ @@ -98,7 +96,7 @@ Nordic - 16 MHz - 128 Kb - 16 Kb - + RedBearLab ~~~~~~~~~~ @@ -118,7 +116,6 @@ RedBearLab - 16 MHz - 256 Kb - 16 Kb - * - ``redBearLabBLENano`` - `RedBearLab BLE Nano `_ @@ -126,7 +123,7 @@ RedBearLab - 16 MHz - 256 Kb - 16 Kb - + Switch Science ~~~~~~~~~~~~~~ @@ -146,4 +143,3 @@ Switch Science - 16 MHz - 256 Kb - 16 Kb - \ No newline at end of file diff --git a/docs/platforms/nxplpc.rst b/docs/platforms/nxplpc.rst index 9ddaf80e..0ea25a4f 100644 --- a/docs/platforms/nxplpc.rst +++ b/docs/platforms/nxplpc.rst @@ -62,7 +62,7 @@ CQ Publishing - 48 MHz - 64 Kb - 10 Kb - + Embedded Artists ~~~~~~~~~~~~~~~~ @@ -82,7 +82,6 @@ Embedded Artists - 48 MHz - 64 Kb - 10 Kb - * - ``lpc4088`` - `EA LPC4088 QuickStart Board `_ @@ -90,7 +89,6 @@ Embedded Artists - 120 MHz - 512 Kb - 96 Kb - * - ``lpc4088_dm`` - `EA LPC4088 Display Module `_ @@ -98,7 +96,7 @@ Embedded Artists - 120 MHz - 512 Kb - 96 Kb - + NGX Technologies ~~~~~~~~~~~~~~~~ @@ -118,7 +116,7 @@ NGX Technologies - 48 MHz - 32 Kb - 8 Kb - + NXP ~~~ @@ -138,7 +136,6 @@ NXP - 48 MHz - 32 Kb - 8 Kb - * - ``lpc1549`` - `LPCXpresso1549 `_ @@ -146,7 +143,6 @@ NXP - 72 MHz - 256 Kb - 36 Kb - * - ``lpc1768`` - `mbed LPC1768 `_ @@ -154,7 +150,7 @@ NXP - 96 MHz - 512 Kb - 32 Kb - + Outrageous Circuits ~~~~~~~~~~~~~~~~~~~ @@ -174,7 +170,7 @@ Outrageous Circuits - 48 MHz - 32 Kb - 8 Kb - + SeeedStudio ~~~~~~~~~~~ @@ -194,7 +190,7 @@ SeeedStudio - 96 MHz - 512 Kb - 32 Kb - + Solder Splash Labs ~~~~~~~~~~~~~~~~~~ @@ -214,7 +210,7 @@ Solder Splash Labs - 50 MHz - 32 Kb - 8 Kb - + Switch Science ~~~~~~~~~~~~~~ @@ -234,7 +230,7 @@ Switch Science - 48 MHz - 32 Kb - 4 Kb - + u-blox ~~~~~~ @@ -254,4 +250,3 @@ u-blox - 96 MHz - 512 Kb - 32 Kb - \ No newline at end of file diff --git a/docs/platforms/ststm32.rst b/docs/platforms/ststm32.rst index 20717388..c1a53f4d 100644 --- a/docs/platforms/ststm32.rst +++ b/docs/platforms/ststm32.rst @@ -77,7 +77,6 @@ ST - 48 MHz - 64 Kb - 8 Kb - * - ``disco_f100rb`` - `STM32VLDISCOVERY `_ @@ -85,7 +84,6 @@ ST - 24 MHz - 128 Kb - 8 Kb - * - ``disco_f303vc`` - `STM32F3DISCOVERY `_ @@ -93,7 +91,6 @@ ST - 72 MHz - 256 Kb - 48 Kb - * - ``disco_f334c8`` - `32F3348DISCOVERY `_ @@ -101,7 +98,6 @@ ST - 72 MHz - 64 Kb - 16 Kb - * - ``disco_f401vc`` - `32F401CDISCOVERY `_ @@ -109,7 +105,6 @@ ST - 84 MHz - 256 Kb - 64 Kb - * - ``disco_f407vg`` - `STM32F4DISCOVERY `_ @@ -117,7 +112,6 @@ ST - 168 MHz - 1024 Kb - 128 Kb - * - ``disco_f429zi`` - `32F429IDISCOVERY `_ @@ -125,7 +119,6 @@ ST - 180 MHz - 2048 Kb - 256 Kb - * - ``disco_l152rb`` - `STM32LDISCOVERY `_ @@ -133,7 +126,6 @@ ST - 32 MHz - 128 Kb - 16 Kb - * - ``nucleo_f030r8`` - `ST Nucleo F030R8 `_ @@ -141,7 +133,6 @@ ST - 48 MHz - 64 Kb - 8 Kb - * - ``nucleo_f070rb`` - `ST Nucleo F070RB `_ @@ -149,7 +140,6 @@ ST - 48 MHz - 128 Kb - 16 Kb - * - ``nucleo_f072rb`` - `ST Nucleo F072RB `_ @@ -157,7 +147,6 @@ ST - 48 MHz - 128 Kb - 16 Kb - * - ``nucleo_f091rc`` - `ST Nucleo F091RC `_ @@ -165,7 +154,6 @@ ST - 48 MHz - 256 Kb - 32 Kb - * - ``nucleo_f103rb`` - `ST Nucleo F103RB `_ @@ -173,7 +161,6 @@ ST - 72 MHz - 128 Kb - 20 Kb - * - ``nucleo_f302r8`` - `ST Nucleo F302R8 `_ @@ -181,7 +168,6 @@ ST - 72 MHz - 64 Kb - 16 Kb - * - ``nucleo_f334r8`` - `ST Nucleo F334R8 `_ @@ -189,7 +175,6 @@ ST - 72 MHz - 64 Kb - 16 Kb - * - ``nucleo_f401re`` - `ST Nucleo F401RE `_ @@ -197,7 +182,6 @@ ST - 84 MHz - 512 Kb - 96 Kb - * - ``nucleo_f411re`` - `ST Nucleo F411RE `_ @@ -205,7 +189,6 @@ ST - 100 MHz - 512 Kb - 128 Kb - * - ``nucleo_l053r8`` - `ST Nucleo L053R8 `_ @@ -213,7 +196,6 @@ ST - 48 MHz - 64 Kb - 8 Kb - * - ``nucleo_l152re`` - `ST Nucleo L152RE `_ @@ -221,4 +203,3 @@ ST - 32 MHz - 512 Kb - 80 Kb - \ No newline at end of file diff --git a/docs/platforms/teensy.rst b/docs/platforms/teensy.rst index 21ff5fc5..c653694d 100644 --- a/docs/platforms/teensy.rst +++ b/docs/platforms/teensy.rst @@ -70,7 +70,6 @@ Teensy - 16 MHz - 32 Kb - 2.5 Kb - * - ``teensy20pp`` - `Teensy++ 2.0 `_ @@ -78,7 +77,6 @@ Teensy - 16 MHz - 128 Kb - 8 Kb - * - ``teensy30`` - `Teensy 3.0 `_ @@ -86,7 +84,6 @@ Teensy - 48 MHz - 128 Kb - 16 Kb - * - ``teensy31`` - `Teensy 3.1 `_ @@ -94,4 +91,3 @@ Teensy - 72 MHz - 256 Kb - 64 Kb - \ No newline at end of file diff --git a/docs/platforms/timsp430.rst b/docs/platforms/timsp430.rst index 3b733f87..26c838f4 100644 --- a/docs/platforms/timsp430.rst +++ b/docs/platforms/timsp430.rst @@ -63,7 +63,6 @@ TI - 16 MHz - 128 Kb - 1 Kb - * - ``lpmsp430f5529_25`` - `LaunchPad w/ msp430f5529 (25MHz) `_ @@ -71,7 +70,6 @@ TI - 25 MHz - 128 Kb - 1 Kb - * - ``lpmsp430fr5739`` - `FraunchPad w/ msp430fr5739 `_ @@ -79,7 +77,6 @@ TI - 16 MHz - 16 Kb - 1 Kb - * - ``lpmsp430fr5969`` - `LaunchPad w/ msp430fr5969 `_ @@ -87,7 +84,6 @@ TI - 8 MHz - 64 Kb - 1 Kb - * - ``lpmsp430g2231`` - `LaunchPad w/ msp430g2231 (1 MHz) `_ @@ -95,7 +91,6 @@ TI - 1 MHz - 2 Kb - 0.125 Kb - * - ``lpmsp430g2452`` - `LaunchPad w/ msp430g2452 (16MHz) `_ @@ -103,7 +98,6 @@ TI - 16 MHz - 8 Kb - 0.25 Kb - * - ``lpmsp430g2553`` - `LaunchPad w/ msp430g2553 (16MHz) `_ @@ -111,4 +105,3 @@ TI - 16 MHz - 16 Kb - 0.5 Kb - \ No newline at end of file diff --git a/docs/platforms/titiva.rst b/docs/platforms/titiva.rst index ce8078c3..731bab2a 100644 --- a/docs/platforms/titiva.rst +++ b/docs/platforms/titiva.rst @@ -69,7 +69,6 @@ TI - 80 MHz - 256 Kb - 32 Kb - * - ``lptm4c1230c3pm`` - `LaunchPad (Tiva C) w/ tm4c123 (80MHz) `_ @@ -77,7 +76,6 @@ TI - 80 MHz - 256 Kb - 32 Kb - * - ``lptm4c1294ncpdt`` - `LaunchPad (Tiva C) w/ tm4c129 (120MHz) `_ @@ -85,4 +83,3 @@ TI - 120 MHz - 1024 Kb - 256 Kb - \ No newline at end of file diff --git a/platformio/boards/arduino.json b/platformio/boards/arduino.json index 76f90725..12cadb1c 100644 --- a/platformio/boards/arduino.json +++ b/platformio/boards/arduino.json @@ -674,7 +674,7 @@ "maximum_ram_size": 32768, "maximum_size": 524288, "protocol": "sam-ba", - "require_upload_port" : true, + "require_upload_port" : true, "use_1200bps_touch": true, "wait_for_upload_port": true }, @@ -702,7 +702,7 @@ "maximum_ram_size": 32768, "maximum_size": 524288, "protocol": "sam-ba", - "require_upload_port" : true, + "require_upload_port" : true, "use_1200bps_touch": true, "wait_for_upload_port": true }, diff --git a/platformio/boards/ststm32.json b/platformio/boards/ststm32.json index 7ab6a260..c917d2f6 100644 --- a/platformio/boards/ststm32.json +++ b/platformio/boards/ststm32.json @@ -7,7 +7,7 @@ "ldscript": "stm32f405x6.ld", "cpu": "cortex-m4", "mcu": "stm32f407vgt6", - "variant": "stm32f4" + "variant": "stm32f4" }, "frameworks": "cmsis,spl,opencm3,mbed", "name": "STM32F4DISCOVERY", @@ -27,7 +27,7 @@ "ldscript": "stm32l15xx6.ld", "cpu": "cortex-m3", "mcu": "stm32l152rbt6", - "variant": "stm32l1" + "variant": "stm32l1" }, "frameworks": "cmsis,spl,opencm3", "name": "STM32LDISCOVERY", @@ -49,7 +49,7 @@ "mcu": "stm32f303vct6", "variant": "stm32f3" }, - "frameworks": "cmsis,spl,opencm3,mbed", + "frameworks": ["cmsis", "spl", "opencm3", "mbed"], "name": "STM32F3DISCOVERY", "platform": "ststm32", "upload": { diff --git a/scripts/docspregen.py b/scripts/docspregen.py index 0b6b5a50..36e48579 100644 --- a/scripts/docspregen.py +++ b/scripts/docspregen.py @@ -36,27 +36,24 @@ def generate_boards(boards): for type_, data in board.iteritems(): assert type_ in util.get_boards() board_ram = float(data['upload']['maximum_ram_size']) / 1024 - lines.append( - """ + 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) - ) - ) + - {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) + return "\n".join(lines + [""]) def generate_packages(packages): From 08808be62b384028fc9ad253e1e72e68cb078e31 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 20:45:11 +0200 Subject: [PATCH 14/16] Fix "frameworks" field to JSON array --- platformio/boards/arduino.json | 62 ++++++++++++------------- platformio/boards/digistump.json | 10 ++-- platformio/boards/engduino.json | 6 +-- platformio/boards/freescalekinetis.json | 24 +++++----- platformio/boards/microduino.json | 18 +++---- platformio/boards/misc.json | 10 ++-- platformio/boards/nordicnrf51.json | 28 +++++------ platformio/boards/nxplpc.json | 52 ++++++++++----------- platformio/boards/ststm32.json | 36 +++++++------- platformio/boards/teensy.json | 8 ++-- platformio/boards/timsp430.json | 14 +++--- platformio/boards/titiva.json | 6 +-- platformio/commands/init.py | 6 +-- tests/commands/test_init.py | 2 +- 14 files changed, 141 insertions(+), 141 deletions(-) diff --git a/platformio/boards/arduino.json b/platformio/boards/arduino.json index 12cadb1c..2736d067 100644 --- a/platformio/boards/arduino.json +++ b/platformio/boards/arduino.json @@ -10,7 +10,7 @@ "variant": "leonardo", "vid": "0x1B4F" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "LilyPad Arduino USB", "platform": "atmelavr", "upload": { @@ -34,7 +34,7 @@ "mcu": "atmega168", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino NG or older ATmega168", "platform": "atmelavr", "upload": { @@ -55,7 +55,7 @@ "mcu": "atmega8", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino NG or older ATmega8", "platform": "atmelavr", "upload": { @@ -76,7 +76,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino BT ATmega168", "platform": "atmelavr", "upload": { @@ -98,7 +98,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino BT ATmega328", "platform": "atmelavr", "upload": { @@ -120,7 +120,7 @@ "mcu": "atmega168", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Duemilanove or Diecimila ATmega168", "platform": "atmelavr", "upload": { @@ -141,7 +141,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Duemilanove or Diecimila ATmega328", "platform": "atmelavr", "upload": { @@ -165,7 +165,7 @@ "variant": "leonardo", "vid": "0x2341" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Esplora", "platform": "atmelavr", "upload": { @@ -189,7 +189,7 @@ "mcu": "atmega328p", "variant": "ethernet" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Ethernet", "platform": "atmelavr", "upload": { @@ -210,7 +210,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Fio", "platform": "atmelavr", "upload": { @@ -234,7 +234,7 @@ "variant": "leonardo", "vid": "0x2341" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Leonardo", "platform": "atmelavr", "upload": { @@ -258,7 +258,7 @@ "mcu": "atmega168", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "LilyPad Arduino ATmega168", "platform": "atmelavr", "upload": { @@ -279,7 +279,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "LilyPad Arduino ATmega328", "platform": "atmelavr", "upload": { @@ -300,7 +300,7 @@ "mcu": "atmega2560", "variant": "mega" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Mega ADK", "platform": "atmelavr", "upload": { @@ -321,7 +321,7 @@ "mcu": "atmega1280", "variant": "mega" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Mega or Mega 2560 ATmega1280", "platform": "atmelavr", "upload": { @@ -342,7 +342,7 @@ "mcu": "atmega2560", "variant": "mega" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)", "platform": "atmelavr", "upload": { @@ -366,7 +366,7 @@ "variant": "micro", "vid": "0x2341" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Micro", "platform": "atmelavr", "upload": { @@ -390,7 +390,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Mini ATmega168", "platform": "atmelavr", "upload": { @@ -411,7 +411,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Mini ATmega328", "platform": "atmelavr", "upload": { @@ -432,7 +432,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Nano ATmega168", "platform": "atmelavr", "upload": { @@ -453,7 +453,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Nano ATmega328", "platform": "atmelavr", "upload": { @@ -474,7 +474,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Pro or Pro Mini ATmega168 (5V, 16 MHz)", "platform": "atmelavr", "upload": { @@ -495,7 +495,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Pro or Pro Mini ATmega328 (5V, 16 MHz)", "platform": "atmelavr", "upload": { @@ -516,7 +516,7 @@ "mcu": "atmega168", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Pro or Pro Mini ATmega168 (3.3V, 8 MHz)", "platform": "atmelavr", "upload": { @@ -537,7 +537,7 @@ "mcu": "atmega328p", "variant": "eightanaloginputs" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Pro or Pro Mini ATmega328 (3.3V, 8 MHz)", "platform": "atmelavr", "upload": { @@ -561,7 +561,7 @@ "variant": "robot_control", "vid": "0x2341" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Robot Control", "platform": "atmelavr", "upload": { @@ -588,7 +588,7 @@ "variant": "robot_motor", "vid": "0x2341" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Robot Motor", "platform": "atmelavr", "upload": { @@ -612,7 +612,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Uno", "platform": "atmelavr", "upload": { @@ -636,7 +636,7 @@ "variant": "yun", "vid": "0x2341" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Yun", "platform": "atmelavr", "upload": { @@ -666,7 +666,7 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Due (Programming Port)", "platform": "atmelsam", "upload": { @@ -694,7 +694,7 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Arduino Due (USB Native Port)", "platform": "atmelsam", "upload": { diff --git a/platformio/boards/digistump.json b/platformio/boards/digistump.json index 0f0f135e..c03d3680 100644 --- a/platformio/boards/digistump.json +++ b/platformio/boards/digistump.json @@ -7,7 +7,7 @@ "mcu": "attiny85", "variant": "digispark_tiny" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Digispark (Default - 16 MHz)", "platform": "atmelavr", "upload": { @@ -26,7 +26,7 @@ "mcu": "attiny167", "variant": "digispark_pro" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Digispark Pro (Default 16 MHz)", "platform": "atmelavr", "upload": { @@ -45,7 +45,7 @@ "mcu": "attiny167", "variant": "digispark_pro32" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Digispark Pro (16 MHz) (32 byte buffer)", "platform": "atmelavr", "upload": { @@ -64,7 +64,7 @@ "mcu": "attiny167", "variant": "digispark_pro64" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Digispark Pro (16 MHz) (64 byte buffer)", "platform": "atmelavr", "upload": { @@ -88,7 +88,7 @@ "variant": "digispark_digix", "vid": "0x16D0" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Digistump DigiX", "platform": "atmelsam", "upload": { diff --git a/platformio/boards/engduino.json b/platformio/boards/engduino.json index 159887a1..a08639cf 100644 --- a/platformio/boards/engduino.json +++ b/platformio/boards/engduino.json @@ -10,7 +10,7 @@ "variant": "engduinov1", "vid": "0x1B4F" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Engduino 1", "platform": "atmelavr", "upload": { @@ -37,7 +37,7 @@ "variant": "engduinov2", "vid": "0x1B4F" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Engduino 2", "platform": "atmelavr", "upload": { @@ -64,7 +64,7 @@ "variant": "engduinov3", "vid": "0x1B4F" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Engduino 3", "platform": "atmelavr", "upload": { diff --git a/platformio/boards/freescalekinetis.json b/platformio/boards/freescalekinetis.json index b33cbd84..88be3603 100644 --- a/platformio/boards/freescalekinetis.json +++ b/platformio/boards/freescalekinetis.json @@ -3,9 +3,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0plus", - "mcu": "mkl25z128vlk4" + "mcu": "mkl25z128vlk4" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Freescale Kinetis FRDM-KL25Z", "platform": "freescalekinetis", "upload": { @@ -19,9 +19,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0plus", - "mcu": "mkl46z256vll4" + "mcu": "mkl46z256vll4" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Freescale Kinetis FRDM-KL46Z", "platform": "freescalekinetis", "upload": { @@ -35,9 +35,9 @@ "build": { "f_cpu": "120000000L", "cpu": "cortex-m4", - "mcu": "mk64fn1m0vll12" + "mcu": "mk64fn1m0vll12" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Freescale Kinetis FRDM-K64F", "platform": "freescalekinetis", "upload": { @@ -51,9 +51,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0plus", - "mcu": "mkl05z32vfm4" + "mcu": "mkl05z32vfm4" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Freescale Kinetis FRDM-KL05Z", "platform": "freescalekinetis", "upload": { @@ -67,9 +67,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m4", - "mcu": "mk20dx128vlh5" + "mcu": "mk20dx128vlh5" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Freescale Kinetis FRDM-K20D50M", "platform": "freescalekinetis", "upload": { @@ -84,9 +84,9 @@ "build": { "f_cpu": "120000000L", "cpu": "cortex-m4", - "mcu": "mk22fn512vlh12" + "mcu": "mk22fn512vlh12" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Freescale Kinetis FRDM-K22F", "platform": "freescalekinetis", "upload": { diff --git a/platformio/boards/microduino.json b/platformio/boards/microduino.json index 42b3411f..3336fc2e 100644 --- a/platformio/boards/microduino.json +++ b/platformio/boards/microduino.json @@ -7,7 +7,7 @@ "mcu": "atmega1284p", "variant": "plus" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core+ (ATmega1284P@16M,5V)", "platform": "atmelavr", "upload": { @@ -28,7 +28,7 @@ "mcu": "atmega1284p", "variant": "plus" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core+ (ATmega1284P@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -49,7 +49,7 @@ "mcu": "atmega168p", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core (Atmega168PA@16M,5V)", "platform": "atmelavr", "upload": { @@ -70,7 +70,7 @@ "mcu": "atmega168p", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core (Atmega168PA@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -91,7 +91,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core (Atmega328P@16M,5V)", "platform": "atmelavr", "upload": { @@ -112,7 +112,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core (Atmega328P@8M,3.3V)", "platform": "atmelavr", "upload": { @@ -135,7 +135,7 @@ "variant": "32u4", "vid": "0x2341" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core USB (ATmega32U4@16M,5V)", "platform": "atmelavr", "upload": { @@ -159,7 +159,7 @@ "mcu": "atmega644p", "variant": "plus" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core+ (Atmega644PA@16M,5V)", "platform": "atmelavr", "upload": { @@ -180,7 +180,7 @@ "mcu": "atmega644p", "variant": "plus" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Microduino Core+ (Atmega644PA@8M,3.3V)", "platform": "atmelavr", "upload": { diff --git a/platformio/boards/misc.json b/platformio/boards/misc.json index 2b24d002..abb6d9a1 100644 --- a/platformio/boards/misc.json +++ b/platformio/boards/misc.json @@ -7,7 +7,7 @@ "mcu": "atmega328p", "variant": "standard" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Raspduino", "platform": "atmelavr", "upload": { @@ -33,7 +33,7 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "SainSmart Due (Programming Port)", "platform": "atmelsam", "upload": { @@ -41,7 +41,7 @@ "maximum_ram_size": 32768, "maximum_size": 524288, "protocol": "sam-ba", - "require_upload_port" : true, + "require_upload_port" : true, "use_1200bps_touch": true, "wait_for_upload_port": true }, @@ -61,7 +61,7 @@ "vid": "0x2341", "ldscript": "sam3x8e.ld" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "SainSmart Due (USB Native Port)", "platform": "atmelsam", "upload": { @@ -69,7 +69,7 @@ "maximum_ram_size": 32768, "maximum_size": 524288, "protocol": "sam-ba", - "require_upload_port" : true, + "require_upload_port" : true, "use_1200bps_touch": true, "wait_for_upload_port": true }, diff --git a/platformio/boards/nordicnrf51.json b/platformio/boards/nordicnrf51.json index d88d4ebf..acdabaee 100644 --- a/platformio/boards/nordicnrf51.json +++ b/platformio/boards/nordicnrf51.json @@ -3,9 +3,9 @@ "build": { "f_cpu": "16000000L", "cpu": "cortex-m0", - "mcu": "nrf51822" + "mcu": "nrf51822" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Nordic nRF51822-mKIT", "platform": "nordicnrf51", "upload": { @@ -19,9 +19,9 @@ "build": { "f_cpu": "16000000L", "cpu": "cortex-m0", - "mcu": "nrf51822" + "mcu": "nrf51822" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Switch Science mbed HRM1017", "platform": "nordicnrf51", "upload": { @@ -35,9 +35,9 @@ "build": { "f_cpu": "16000000L", "cpu": "cortex-m0", - "mcu": "nrf51822" + "mcu": "nrf51822" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "RedBearLab nRF51822", "platform": "nordicnrf51", "upload": { @@ -51,9 +51,9 @@ "build": { "f_cpu": "32000000L", "cpu": "cortex-m0", - "mcu": "nrf51822" + "mcu": "nrf51822" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Nordic nRF51-DK", "platform": "nordicnrf51", "upload": { @@ -67,9 +67,9 @@ "build": { "f_cpu": "16000000L", "cpu": "cortex-m0", - "mcu": "nrf51822" + "mcu": "nrf51822" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "RedBearLab BLE Nano", "platform": "nordicnrf51", "upload": { @@ -83,9 +83,9 @@ "build": { "f_cpu": "32000000L", "cpu": "cortex-m0", - "mcu": "nrf51822" + "mcu": "nrf51822" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Nordic nRF51-Dongle", "platform": "nordicnrf51", "upload": { @@ -100,9 +100,9 @@ "build": { "f_cpu": "16000000L", "cpu": "cortex-m0", - "mcu": "nrf51822" + "mcu": "nrf51822" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "JKSoft Wallbot BLE", "platform": "nordicnrf51", "upload": { diff --git a/platformio/boards/nxplpc.json b/platformio/boards/nxplpc.json index 57cfdfc8..67392e27 100644 --- a/platformio/boards/nxplpc.json +++ b/platformio/boards/nxplpc.json @@ -3,9 +3,9 @@ "build": { "f_cpu": "96000000L", "cpu": "cortex-m3", - "mcu": "lpc1768" + "mcu": "lpc1768" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "mbed LPC1768", "platform": "nxplpc", "upload": { @@ -19,9 +19,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0", - "mcu": "lpc11u24" + "mcu": "lpc11u24" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "mbed LPC11U24", "platform": "nxplpc", "upload": { @@ -35,9 +35,9 @@ "build": { "f_cpu": "120000000L", "cpu": "cortex-m4", - "mcu": "lpc4088" + "mcu": "lpc4088" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "EA LPC4088 QuickStart Board", "platform": "nxplpc", "upload": { @@ -51,9 +51,9 @@ "build": { "f_cpu": "50000000L", "cpu": "cortex-m0", - "mcu": "lpc11u24" + "mcu": "lpc11u24" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "DipCortex M0", "platform": "nxplpc", "upload": { @@ -67,9 +67,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0", - "mcu": "lpc11u24" + "mcu": "lpc11u24" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "BlueBoard-LPC11U24", "platform": "nxplpc", "upload": { @@ -83,9 +83,9 @@ "build": { "f_cpu": "96000000L", "cpu": "cortex-m3", - "mcu": "lpc1768" + "mcu": "lpc1768" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Seeeduino-Arch-Pro", "platform": "nxplpc", "upload": { @@ -99,9 +99,9 @@ "build": { "f_cpu": "96000000L", "cpu": "cortex-m3", - "mcu": "lpc1768" + "mcu": "lpc1768" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "u-blox C027", "platform": "nxplpc", "upload": { @@ -115,9 +115,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0", - "mcu": "lpc1114fn28" + "mcu": "lpc1114fn28" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "mbed LPC1114FN28", "platform": "nxplpc", "upload": { @@ -131,9 +131,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0", - "mcu": "lpc11u35" + "mcu": "lpc11u35" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "EA LPC11U35 QuickStart Board", "platform": "nxplpc", "upload": { @@ -147,9 +147,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0", - "mcu": "lpc11u35" + "mcu": "lpc11u35" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "TG-LPC11U35-501", "platform": "nxplpc", "upload": { @@ -163,9 +163,9 @@ "build": { "f_cpu": "72000000L", "cpu": "cortex-m3", - "mcu": "lpc1549" + "mcu": "lpc1549" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "LPCXpresso1549", "platform": "nxplpc", "upload": { @@ -179,9 +179,9 @@ "build": { "f_cpu": "48000000L", "cpu": "cortex-m0", - "mcu": "lpc11u24" + "mcu": "lpc11u24" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "Outrageous Circuits mBuino", "platform": "nxplpc", "upload": { @@ -195,9 +195,9 @@ "build": { "f_cpu": "120000000L", "cpu": "cortex-m4", - "mcu": "lpc4088" + "mcu": "lpc4088" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "EA LPC4088 Display Module", "platform": "nxplpc", "upload": { diff --git a/platformio/boards/ststm32.json b/platformio/boards/ststm32.json index c917d2f6..b1e29c7d 100644 --- a/platformio/boards/ststm32.json +++ b/platformio/boards/ststm32.json @@ -9,7 +9,7 @@ "mcu": "stm32f407vgt6", "variant": "stm32f4" }, - "frameworks": "cmsis,spl,opencm3,mbed", + "frameworks": ["cmsis", "spl", "opencm3", "mbed"], "name": "STM32F4DISCOVERY", "platform": "ststm32", "upload": { @@ -29,7 +29,7 @@ "mcu": "stm32l152rbt6", "variant": "stm32l1" }, - "frameworks": "cmsis,spl,opencm3", + "frameworks": ["cmsis","spl","opencm3"], "name": "STM32LDISCOVERY", "platform": "ststm32", "upload": { @@ -65,7 +65,7 @@ "cpu": "cortex-m3", "mcu": "stm32f100rbt6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "STM32VLDISCOVERY", "platform": "ststm32", "upload": { @@ -81,7 +81,7 @@ "cpu": "cortex-m0", "mcu": "stm32f051r8t6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "STM32F0DISCOVERY", "platform": "ststm32", "upload": { @@ -97,7 +97,7 @@ "cpu": "cortex-m4", "mcu": "stm32f334c8t6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "32F3348DISCOVERY", "platform": "ststm32", "upload": { @@ -113,7 +113,7 @@ "cpu": "cortex-m4", "mcu": "stm32f401vct6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "32F401CDISCOVERY", "platform": "ststm32", "upload": { @@ -129,7 +129,7 @@ "cpu": "cortex-m4", "mcu": "stm32f429zit6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "32F429IDISCOVERY", "platform": "ststm32", "upload": { @@ -145,7 +145,7 @@ "cpu": "cortex-m0", "mcu": "stm32f030r8t6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F030R8", "platform": "ststm32", "upload": { @@ -161,7 +161,7 @@ "cpu": "cortex-m0", "mcu": "stm32f070rbt6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F070RB", "platform": "ststm32", "upload": { @@ -177,7 +177,7 @@ "cpu": "cortex-m0", "mcu": "stm32f072rbt6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F072RB", "platform": "ststm32", "upload": { @@ -193,7 +193,7 @@ "cpu": "cortex-m0", "mcu": "stm32f091rct6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F091RC", "platform": "ststm32", "upload": { @@ -209,7 +209,7 @@ "cpu": "cortex-m3", "mcu": "stm32f103rbt6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F103RB", "platform": "ststm32", "upload": { @@ -225,7 +225,7 @@ "cpu": "cortex-m4", "mcu": "stm32f302r8t6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F302R8", "platform": "ststm32", "upload": { @@ -241,7 +241,7 @@ "cpu": "cortex-m4", "mcu": "stm32f334r8t6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F334R8", "platform": "ststm32", "upload": { @@ -257,7 +257,7 @@ "cpu": "cortex-m4", "mcu": "stm32f401ret6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F401RE", "platform": "ststm32", "upload": { @@ -273,7 +273,7 @@ "cpu": "cortex-m4", "mcu": "stm32f411ret6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo F411RE", "platform": "ststm32", "upload": { @@ -289,7 +289,7 @@ "cpu": "cortex-m0", "mcu": "stm32l053r8t6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo L053R8", "platform": "ststm32", "upload": { @@ -305,7 +305,7 @@ "cpu": "cortex-m3", "mcu": "stm32l152ret6" }, - "frameworks": "mbed", + "frameworks": ["mbed"], "name": "ST Nucleo L152RE", "platform": "ststm32", "upload": { diff --git a/platformio/boards/teensy.json b/platformio/boards/teensy.json index 6914b37a..bb3b4a88 100644 --- a/platformio/boards/teensy.json +++ b/platformio/boards/teensy.json @@ -5,7 +5,7 @@ "f_cpu": "16000000L", "mcu": "atmega32u4" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Teensy 2.0", "platform": "teensy", "upload": { @@ -22,7 +22,7 @@ "f_cpu": "16000000L", "mcu": "at90usb1286" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Teensy++ 2.0", "platform": "teensy", "upload": { @@ -42,7 +42,7 @@ "mcu": "mk20dx128", "cpu": "cortex-m4" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Teensy 3.0", "platform": "teensy", "upload": { @@ -62,7 +62,7 @@ "mcu": "mk20dx256", "cpu": "cortex-m4" }, - "frameworks": "arduino", + "frameworks": ["arduino"], "name": "Teensy 3.1", "platform": "teensy", "upload": { diff --git a/platformio/boards/timsp430.json b/platformio/boards/timsp430.json index b93e9fab..88731614 100644 --- a/platformio/boards/timsp430.json +++ b/platformio/boards/timsp430.json @@ -6,7 +6,7 @@ "mcu": "msp430f5529", "variant": "launchpad_f5529" }, - "frameworks": "energia", + "frameworks": ["energia"], "name": "LaunchPad w/ msp430f5529 (16MHz)", "platform": "timsp430", "upload": { @@ -24,7 +24,7 @@ "mcu": "msp430f5529", "variant": "launchpad_f5529" }, - "frameworks": "energia", + "frameworks": ["energia"], "name": "LaunchPad w/ msp430f5529 (25MHz)", "platform": "timsp430", "upload": { @@ -42,7 +42,7 @@ "mcu": "msp430fr5739", "variant": "fraunchpad" }, - "frameworks": "energia", + "frameworks": ["energia"], "name": "FraunchPad w/ msp430fr5739", "platform": "timsp430", "upload": { @@ -60,7 +60,7 @@ "mcu": "msp430fr5969", "variant": "launchpad_fr5969" }, - "frameworks": "energia", + "frameworks": ["energia"], "name": "LaunchPad w/ msp430fr5969", "platform": "timsp430", "upload": { @@ -78,7 +78,7 @@ "mcu": "msp430g2231", "variant": "launchpad" }, - "frameworks": "energia", + "frameworks": ["energia"], "name": "LaunchPad w/ msp430g2231 (1 MHz)", "platform": "timsp430", "upload": { @@ -96,7 +96,7 @@ "mcu": "msp430g2452", "variant": "launchpad" }, - "frameworks": "energia", + "frameworks": ["energia"], "name": "LaunchPad w/ msp430g2452 (16MHz)", "platform": "timsp430", "upload": { @@ -114,7 +114,7 @@ "mcu": "msp430g2553", "variant": "launchpad" }, - "frameworks": "energia", + "frameworks": ["energia"], "name": "LaunchPad w/ msp430g2553 (16MHz)", "platform": "timsp430", "upload": { diff --git a/platformio/boards/titiva.json b/platformio/boards/titiva.json index 0fcbc576..6b90b012 100644 --- a/platformio/boards/titiva.json +++ b/platformio/boards/titiva.json @@ -8,7 +8,7 @@ "mcu": "lplm4f120h5qr", "variant": "stellarpad" }, - "frameworks": "energia,opencm3", + "frameworks": ["energia", "opencm3"], "name": "LaunchPad (Stellaris) w/ lm4f120 (80MHz)", "platform": "titiva", "upload": { @@ -27,7 +27,7 @@ "mcu": "lptm4c1230c3pm", "variant": "stellarpad" }, - "frameworks": "energia,opencm3", + "frameworks": ["energia", "opencm3"], "name": "LaunchPad (Tiva C) w/ tm4c123 (80MHz)", "platform": "titiva", "upload": { @@ -46,7 +46,7 @@ "mcu": "lptm4c1294ncpdt", "variant": "launchpad_129" }, - "frameworks": "energia,opencm3", + "frameworks": ["energia", "opencm3"], "name": "LaunchPad (Tiva C) w/ tm4c129 (120MHz)", "platform": "titiva", "upload": { diff --git a/platformio/commands/init.py b/platformio/commands/init.py index 355597e4..1c32ecca 100644 --- a/platformio/commands/init.py +++ b/platformio/commands/init.py @@ -94,11 +94,11 @@ def fill_project_envs(project_file, board_types, disable_auto_uploading): data = builtin_boards[type_] # find default framework for board - framework = data.get("frameworks", None).split(",")[0] + frameworks = data.get("frameworks") content.append("[env:autogen_%s]" % type_) content.append("platform = %s" % data['platform']) - if framework: - content.append("framework = %s" % framework) + if frameworks: + content.append("framework = %s" % frameworks[0]) content.append("board = %s" % type_) content.append("%stargets = upload" % ("# " if disable_auto_uploading diff --git a/tests/commands/test_init.py b/tests/commands/test_init.py index 3dd9e318..0d816ff2 100644 --- a/tests/commands/test_init.py +++ b/tests/commands/test_init.py @@ -41,7 +41,7 @@ def test_init_special_board(platformio_setup, clirunner, validate_cliresult): config = util.get_project_config() expected_result = [ ("platform", str(uno['platform'])), - ("framework", str(uno['framework'])), + ("framework", str(uno['frameworks'][0])), ("board", "uno"), ("targets", "upload") ] From c00700b7cb9e91899df3e705c9823cb545cb7ceb Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 20:45:31 +0200 Subject: [PATCH 15/16] Search over platform packages --- platformio/commands/search.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio/commands/search.py b/platformio/commands/search.py index 3af2aa5b..821c10c4 100644 --- a/platformio/commands/search.py +++ b/platformio/commands/search.py @@ -24,7 +24,7 @@ def cli(query, json_output): if query == "all": 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(): continue From a0c3c2572186062176a70b0d5677e500dda7d849 Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Wed, 11 Mar 2015 20:45:50 +0200 Subject: [PATCH 16/16] Fix mbed case for UNIX OS --- platformio/builder/scripts/frameworks/mbed.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio/builder/scripts/frameworks/mbed.py b/platformio/builder/scripts/frameworks/mbed.py index fcf263be..7e4918ab 100644 --- a/platformio/builder/scripts/frameworks/mbed.py +++ b/platformio/builder/scripts/frameworks/mbed.py @@ -84,7 +84,7 @@ def get_source_files(flist): for f in flist: if f['type'] == "h" or not f['name'].startswith("mbed"): continue - files.append(join("$BUILD_DIR", "FrameworkMBED", f['name'][5:])) + files.append(join("$BUILD_DIR", "FrameworkMbed", f['name'][5:])) return files