New RTOS and build Framework named "Simba" // Resolve #412

This commit is contained in:
Ivan Kravets
2016-04-28 14:11:56 +03:00
parent ab48a2a8ff
commit f7a0374d2b
17 changed files with 266 additions and 14 deletions

View File

@ -19,6 +19,8 @@ PlatformIO 2.0
* New `Microchip PIC32 <http://docs.platformio.org/en/latest/platforms/microchippic32.html>`__
development platform with support for 20+ different PIC32 based boards
(`issue #438 <https://github.com/platformio/platformio/issues/438>`_)
* New RTOS and build Framework named `Simba <http://docs.platformio.org/en/latest/frameworks/simba.html>`__
(`issue #412 <https://github.com/platformio/platformio/issues/412>`_)
* New boards for `ARM mbed <http://docs.platformio.org/en/latest/frameworks/mbed.html>`__
framework: ST Nucleo F410RB, ST Nucleo L073RZ and BBC micro:bit
* Added support for Generic ATTiny boards: ATTiny24, ATTiny25, ATTiny45 and

View File

@ -173,10 +173,11 @@ Frameworks:
* `Arduino <http://platformio.org/frameworks/arduino>`_
* `CMSIS <http://platformio.org/frameworks/cmsis>`_
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
* `Energia <http://platformio.org/frameworks/energia>`_
* `SPL <http://platformio.org/frameworks/spl>`_
* `libOpenCM3 <http://platformio.org/frameworks/libopencm3>`_
* `mbed <http://platformio.org/frameworks/mbed>`_
* `Simba <http://platformio.org/frameworks/simba>`_
* `SPL <http://platformio.org/frameworks/spl>`_
* `WiringPi <http://platformio.org/frameworks/wiringpi>`_
For further details, please refer to `What is PlatformIO? <http://docs.platformio.org/en/latest/faq.html#what-is-platformio>`_

View File

@ -22,5 +22,6 @@ Frameworks
energia
libopencm3
mbed
simba
spl
wiringpi

166
docs/frameworks/simba.rst Normal file
View File

@ -0,0 +1,166 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.. _framework_simba:
Framework ``simba``
===================
Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
For more detailed information please visit `vendor site <http://simba-os.readthedocs.org>`_.
.. contents::
Platforms
---------
.. list-table::
:header-rows: 1
* - Name
- Description
* - :ref:`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 industrys most code-efficient architecture for C and assembly programming.
* - :ref:`platform_atmelsam`
- Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
Adafruit
~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``huzzah``
- `Adafruit HUZZAH ESP8266 <https://www.adafruit.com/products/2471>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
Arduino
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``due``
- `Arduino Due (Programming Port) <http://arduino.cc/en/Main/arduinoBoardDue>`_
- SAM3X8E
- 84 MHz
- 512 Kb
- 32 Kb
* - ``megaatmega2560``
- `Arduino Mega or Mega 2560 ATmega2560 (Mega 2560) <http://arduino.cc/en/Main/arduinoBoardMega2560>`_
- ATMEGA2560
- 16 MHz
- 256 Kb
- 8 Kb
* - ``nanoatmega328``
- `Arduino Nano ATmega328 <http://arduino.cc/en/Main/ArduinoBoardNano>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
* - ``uno``
- `Arduino Uno <http://arduino.cc/en/Main/ArduinoBoardUno>`_
- ATMEGA328P
- 16 MHz
- 32 Kb
- 2 Kb
Espressif
~~~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp01``
- `Espressif Generic ESP8266 ESP-01 512k <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 512 Kb
- 80 Kb
* - ``esp01_1m``
- `Espressif Generic ESP8266 ESP-01 1M <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 1024 Kb
- 80 Kb
* - ``esp12e``
- `Espressif ESP8266 ESP-12E <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
NodeMCU
~~~~~~~
.. list-table::
:header-rows: 1
* - Type ``board``
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nodemcu``
- `NodeMCU 0.9 (ESP-12 Module) <http://www.nodemcu.com/>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
* - ``nodemcuv2``
- `NodeMCU 1.0 (ESP-12E Module) <http://www.nodemcu.com/>`_
- ESP8266
- 80 MHz
- 4096 Kb
- 80 Kb
.. include:: simba_extra.rst

18
docs/frameworks/simba_extra.rst Executable file
View File

@ -0,0 +1,18 @@
.. Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Examples
--------
All project examples are located in PlatformIO repository
`Examples for Simba framework <https://github.com/platformio/platformio-examples/tree/develop/examples/simba>`_.
* `Blink <https://github.com/platformio/platformio-examples/tree/develop/simba/blink>`_

View File

@ -34,6 +34,9 @@ Packages
* - ``tool-avrdude``
- `AVRDUDE <http://www.nongnu.org/avrdude/>`_
* - ``framework-simba``
- `Simba Framework <https://github.com/eerimoq/simba>`_
* - ``framework-arduinoavr``
- `Arduino Wiring-based Framework (AVR Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
@ -61,6 +64,9 @@ Frameworks
* - :ref:`framework_arduino`
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
* - :ref:`framework_simba`
- Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
Boards
------

View File

@ -34,6 +34,9 @@ Packages
* - ``framework-arduinosam``
- `Arduino Wiring-based Framework (SAM Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``framework-simba``
- `Simba Framework <https://github.com/eerimoq/simba>`_
* - ``tool-openocd``
- `OpenOCD <http://openocd.org>`_
@ -70,6 +73,9 @@ Frameworks
* - :ref:`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.
* - :ref:`framework_simba`
- Simba is an RTOS and build framework. It aims to make embedded programming easy and portable.
Boards
------

View File

@ -92,6 +92,9 @@ Packages
* - ``framework-mbed``
- `mbed Framework <http://mbed.org>`_
* - ``framework-simba``
- `Simba Framework <https://github.com/eerimoq/simba>`_
* - ``framework-spl``
- `Standard Peripheral Library for STM32 MCUs <http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890>`_

View File

@ -352,7 +352,7 @@
"mcu": "atmega2560",
"variant": "mega"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)",
"platform": "atmelavr",
"upload": {
@ -467,7 +467,7 @@
"mcu": "atmega328p",
"variant": "eightanaloginputs"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Arduino Nano ATmega328",
"platform": "atmelavr",
"upload": {
@ -634,7 +634,7 @@
"mcu": "atmega328p",
"variant": "standard"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Arduino Uno",
"platform": "atmelavr",
"upload": {
@ -694,7 +694,7 @@
["0x2A03", "0x003D"]
]
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Arduino Due (Programming Port)",
"platform": "atmelsam",
"upload": {

View File

@ -10,7 +10,7 @@
"mcu": "esp8266",
"variant": "generic"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Espressif Generic ESP8266 ESP-01 512k",
"platform": "espressif",
"upload": {
@ -35,7 +35,7 @@
"mcu": "esp8266",
"variant": "generic"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Espressif Generic ESP8266 ESP-01 1M",
"platform": "espressif",
"upload": {
@ -85,7 +85,7 @@
"mcu": "esp8266",
"variant": "nodemcu"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Espressif ESP8266 ESP-12E",
"platform": "espressif",
"upload": {
@ -135,7 +135,7 @@
"mcu": "esp8266",
"variant": "nodemcu"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "NodeMCU 0.9 (ESP-12 Module)",
"platform": "espressif",
"upload": {
@ -160,7 +160,7 @@
"mcu": "esp8266",
"variant": "nodemcu"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "NodeMCU 1.0 (ESP-12E Module)",
"platform": "espressif",
"upload": {
@ -185,7 +185,7 @@
"mcu": "esp8266",
"variant": "adafruit"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Adafruit HUZZAH ESP8266",
"platform": "espressif",
"upload": {

View File

@ -0,0 +1,34 @@
# Copyright 2014-2016 Ivan Kravets <me@ikravets.com>
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Simba
Simba is an RTOS and build framework. It aims to make embedded
programming easy and portable.
http://simba-os.readthedocs.org
"""
from os.path import join
from SCons.Script import DefaultEnvironment, SConscript
env = DefaultEnvironment()
env.Replace(
PLATFORMFW_DIR=join("$PIOPACKAGES_DIR", "framework-simba")
)
SConscript([env.subst(join("$PLATFORMFW_DIR", "make", "platformio.sconscript"))])

View File

@ -45,6 +45,10 @@ class AtmelavrPlatform(BasePlatform):
"framework-arduinoavr": {
"alias": "framework"
},
"framework-simba": {
"alias": "framework"
}
}

View File

@ -44,6 +44,10 @@ class AtmelsamPlatform(BasePlatform):
"alias": "framework"
},
"framework-simba": {
"alias": "framework"
},
"tool-bossac": {
"alias": "uploader"
},

View File

@ -87,6 +87,9 @@ PLATFORM_PACKAGES = {
"framework-wiringpi": [
("GPIO Interface library for the Raspberry Pi", "http://wiringpi.com")
],
"framework-simba": [
("Simba Framework", "https://github.com/eerimoq/simba")
],
"sdk-esp8266": [
("ESP8266 SDK", "http://bbs.espressif.com")
],

View File

@ -50,6 +50,10 @@ class EspressifPlatform(BasePlatform):
"framework-arduinoespressif": {
"alias": "framework"
},
"framework-simba": {
"alias": "framework"
}
}

View File

@ -74,6 +74,6 @@ setup(
"iot", "ide", "build", "compile", "library manager",
"embedded", "ci", "continuous integration", "arduino", "mbed",
"esp8266", "framework", "ide", "ide integration", "library.json",
"make", "cmake", "makefile", "mk"
"make", "cmake", "makefile", "mk", "pic32", "fpga"
]
)