Skip to content

Commit 678a48b

Browse files
authored
[skip changelog] Add headings to delineate the platform referencing documentation (#874)
The platform referencing documentation content falls into four categories: - general - core - variant - tool Previously, it was not obvious where the content for each category began and ended.
1 parent 17299a0 commit 678a48b

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

docs/platform-specification.md

+19-6
Original file line numberDiff line numberDiff line change
@@ -768,6 +768,12 @@ There is no limit to the number of custom menus that can be defined.
768768

769769
## Referencing another core, variant or tool
770770

771+
The Arduino platform referencing system allows using components of other platforms in cases where it would otherwise be
772+
necessary to duplicate those components. This feature allows us to reduce the minimum set of files needed to define a
773+
new "hardware" to just the boards.txt file.
774+
775+
### Core reference
776+
771777
Inside the boards.txt we can define a board that uses a core provided by another vendor/maintainer using the syntax
772778
**VENDOR_ID:CORE_ID**. For example, if we want to define a board that uses the "arduino" core from the "arduino" vendor
773779
we should write:
@@ -787,20 +793,27 @@ The [bundled libraries](#platform-bundled-libraries) from the referenced platfor
787793
the referencing platform to bundle those libraries. If libraries are provided the list of available libraries are the
788794
sum of the 2 libraries where the referencing platform has priority over the referenced platform.
789795

790-
In the same way we can use variants and tools defined on another platform:
796+
### Variant reference
797+
798+
In the same way we can use a variant defined on another platform using the syntax **VENDOR_ID:VARIANT_ID**:
791799

792800
[....]
793801
myboard.build.variant=arduino:standard
794-
myboard.upload.tool=arduino:avrdude
795-
myboard.bootloader.tool=arduino:avrdude
796802
[....]
797803

798-
Using this syntax allows us to reduce the minimum set of files needed to define a new "hardware" to just the boards.txt
799-
file.
800-
801804
Note that referencing a variant in another platform does _not_ inherit any properties from that platform's platform.txt
802805
(like referencing a core does).
803806

807+
### Tool references
808+
809+
Tool recipes defined in the platform.txt of other platforms can also be referenced using the syntax
810+
**VENDOR_ID:TOOL_ID**:
811+
812+
[....]
813+
myboard.upload.tool=arduino:avrdude
814+
myboard.bootloader.tool=arduino:avrdude
815+
[....]
816+
804817
### Platform Terminology
805818

806819
Because boards can reference cores, variants and tools in different platforms, this means that a single build or upload

0 commit comments

Comments
 (0)