forked from platformio/platformio-core
63 lines
1.7 KiB
ReStructuredText
63 lines
1.7 KiB
ReStructuredText
.. _board_creating:
|
|
|
|
Creating Board
|
|
==============
|
|
|
|
*PlatformIO* has pre-built settings for the most popular embedded boards. This
|
|
list is available:
|
|
|
|
* `Embedded Boards Explorer <http://platformio.org/#!/boards>`_ (Web)
|
|
* :ref:`cmd_boards` (CLI command)
|
|
|
|
Nevertheless, PlatformIO allows to create own board or override existing
|
|
board's settings. All data is declared using
|
|
`JSON-style <http://en.wikipedia.org/wiki/JSON>`_ via
|
|
`associative array <http://en.wikipedia.org/wiki/Associative_array>`_
|
|
(name/value pairs).
|
|
|
|
.. contents::
|
|
|
|
JSON Structure
|
|
--------------
|
|
|
|
The key fields:
|
|
|
|
* ``build`` data will be used by :ref:`Platforms <platforms>` and
|
|
:ref:`frameworks` builders
|
|
* ``frameworks`` is the list with supported :ref:`frameworks`
|
|
* ``platform`` main type of :ref:`Platforms <platforms>`
|
|
* ``upload`` upload settings which depend on the ``platform``
|
|
|
|
.. code-block:: json
|
|
|
|
{
|
|
"myboard": {
|
|
"build": {},
|
|
"frameworks": ["%LIST_WITH_SUPPORTED_FRAMEWORKS%"],
|
|
"name": "My test board",
|
|
"platform": "%PLATFORM_TYPE_HERE%",
|
|
"upload": {},
|
|
"url": "http://example.com",
|
|
"vendor": "My Company Ltd."
|
|
}
|
|
}
|
|
|
|
Installation
|
|
------------
|
|
|
|
1. Create ``boards`` directory in :ref:`projectconf_pio_home_dir` if it
|
|
doesn't exist.
|
|
2. Create ``my_own_boards.json`` file and put to ``boards`` directory.
|
|
3. Search available boards via :ref:`cmd_boards` command. You should see
|
|
``myboard`` board.
|
|
|
|
Now, you can use ``myboard`` for the :ref:`projectconf_env_board` option in
|
|
:ref:`projectconf`.
|
|
|
|
|
|
Examples
|
|
--------
|
|
|
|
For the examples, please look into built-in ``*.json`` files with boards
|
|
settings: https://github.com/platformio/platformio/tree/develop/platformio/boards.
|