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.
 |