Skip to content

Commit

Permalink
New RTOS and build Framework named "Simba" // Resolve #412
Browse files Browse the repository at this point in the history
  • Loading branch information
ivankravets committed Apr 28, 2016
1 parent ab48a2a commit f7a0374
Show file tree
Hide file tree
Showing 17 changed files with 266 additions and 14 deletions.
2 changes: 2 additions & 0 deletions HISTORY.rst
Expand Up @@ -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
Expand Down
5 changes: 3 additions & 2 deletions README.rst
Expand Up @@ -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>`_
Expand Down
1 change: 1 addition & 0 deletions docs/frameworks/index.rst
Expand Up @@ -22,5 +22,6 @@ Frameworks
energia
libopencm3
mbed
simba
spl
wiringpi
166 changes: 166 additions & 0 deletions docs/frameworks/simba.rst
@@ -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 changes: 18 additions & 0 deletions docs/frameworks/simba_extra.rst
@@ -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>`_
6 changes: 6 additions & 0 deletions docs/platforms/atmelavr.rst
Expand Up @@ -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>`_

Expand Down Expand Up @@ -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
------

Expand Down
6 changes: 6 additions & 0 deletions docs/platforms/atmelsam.rst
Expand Up @@ -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>`_

Expand Down Expand Up @@ -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
------

Expand Down
3 changes: 3 additions & 0 deletions docs/platforms/creating_platform.rst
Expand Up @@ -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>`_

Expand Down
8 changes: 4 additions & 4 deletions platformio/boards/arduino.json
Expand Up @@ -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": {
Expand Down Expand Up @@ -467,7 +467,7 @@
"mcu": "atmega328p",
"variant": "eightanaloginputs"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Arduino Nano ATmega328",
"platform": "atmelavr",
"upload": {
Expand Down Expand Up @@ -634,7 +634,7 @@
"mcu": "atmega328p",
"variant": "standard"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Arduino Uno",
"platform": "atmelavr",
"upload": {
Expand Down Expand Up @@ -694,7 +694,7 @@
["0x2A03", "0x003D"]
]
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Arduino Due (Programming Port)",
"platform": "atmelsam",
"upload": {
Expand Down
12 changes: 6 additions & 6 deletions platformio/boards/espressif.json
Expand Up @@ -10,7 +10,7 @@
"mcu": "esp8266",
"variant": "generic"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Espressif Generic ESP8266 ESP-01 512k",
"platform": "espressif",
"upload": {
Expand All @@ -35,7 +35,7 @@
"mcu": "esp8266",
"variant": "generic"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Espressif Generic ESP8266 ESP-01 1M",
"platform": "espressif",
"upload": {
Expand Down Expand Up @@ -85,7 +85,7 @@
"mcu": "esp8266",
"variant": "nodemcu"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Espressif ESP8266 ESP-12E",
"platform": "espressif",
"upload": {
Expand Down Expand Up @@ -135,7 +135,7 @@
"mcu": "esp8266",
"variant": "nodemcu"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "NodeMCU 0.9 (ESP-12 Module)",
"platform": "espressif",
"upload": {
Expand All @@ -160,7 +160,7 @@
"mcu": "esp8266",
"variant": "nodemcu"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "NodeMCU 1.0 (ESP-12E Module)",
"platform": "espressif",
"upload": {
Expand All @@ -185,7 +185,7 @@
"mcu": "esp8266",
"variant": "adafruit"
},
"frameworks": ["arduino"],
"frameworks": ["arduino", "simba"],
"name": "Adafruit HUZZAH ESP8266",
"platform": "espressif",
"upload": {
Expand Down
34 changes: 34 additions & 0 deletions platformio/builder/scripts/frameworks/simba.py
@@ -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"))])

0 comments on commit f7a0374

Please sign in to comment.