mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
doc/porting-boards.md: improve with porting graph and reference section
This commit is contained in:
parent
b9d84e0b3e
commit
aaa9512d50
96
doc/doxygen/dot/porting-boards.dot
Normal file
96
doc/doxygen/dot/porting-boards.dot
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
strict digraph {
|
||||||
|
graph [
|
||||||
|
splines=true,
|
||||||
|
]
|
||||||
|
node [
|
||||||
|
style="filled",
|
||||||
|
fontname="sans-serif",
|
||||||
|
color="#3fa687",
|
||||||
|
fillcolor="#275a4b",
|
||||||
|
fontcolor="white",
|
||||||
|
shape="box",
|
||||||
|
penwidth=2,
|
||||||
|
width=4.1,
|
||||||
|
];
|
||||||
|
edge [
|
||||||
|
color="#3fa687",
|
||||||
|
fontcolor="#275a4b",
|
||||||
|
fontname="sans-serif",
|
||||||
|
penwidth=2,
|
||||||
|
labelfloat=true,
|
||||||
|
];
|
||||||
|
|
||||||
|
Start [shape="Mrecord", width=0.75];
|
||||||
|
End [
|
||||||
|
label="Blink the LEDs",
|
||||||
|
tooltip="Blink the LEDs",
|
||||||
|
shape="Mrecord",
|
||||||
|
URL="https://github.com/RIOT-OS/RIOT/tree/master/tests/leds",
|
||||||
|
];
|
||||||
|
|
||||||
|
IfCPU [
|
||||||
|
label=<CPU/MCU<BR/>already ported?>,
|
||||||
|
tooltip="CPU/MCU already ported?",
|
||||||
|
shape="diamond",
|
||||||
|
];
|
||||||
|
IfBoard [
|
||||||
|
label=<Board definitions<BR/>already provided?>,
|
||||||
|
tooltip="Board definitions already provided?",
|
||||||
|
shape="diamond",
|
||||||
|
];
|
||||||
|
IfDrivers [
|
||||||
|
label=<All on-board<BR/>devices supported?>,
|
||||||
|
tooltip="All on-board devices supported?",
|
||||||
|
shape="diamond",
|
||||||
|
];
|
||||||
|
IfNetdev [
|
||||||
|
label=<Network device<BR/>supported by<BR/>network stack?>,
|
||||||
|
tooltip="Network device supported by network stack?",
|
||||||
|
shape="diamond"
|
||||||
|
];
|
||||||
|
|
||||||
|
PortCPU [
|
||||||
|
label=<Port <B>CPU</B><BR/>(TBD: provide guide)>,
|
||||||
|
tooltip="Port CPU",
|
||||||
|
];
|
||||||
|
PortBoard [
|
||||||
|
label=<Provide<BR/><B>board definitions</B>>,
|
||||||
|
tooltip="Provide board definitions",
|
||||||
|
URL="@ref porting-boards",
|
||||||
|
];
|
||||||
|
PortDrivers [
|
||||||
|
label=<Provide<BR/><B>device drivers</B>>,
|
||||||
|
tooltip="Provide device drivers",
|
||||||
|
URL="@ref driver-guide",
|
||||||
|
];
|
||||||
|
PortNetdev [
|
||||||
|
label=<Provide <B>network device support</B><BR/>for network stack>,
|
||||||
|
tooltip="Provide network device support for network stack",
|
||||||
|
URL="@ref drivers_netdev",
|
||||||
|
];
|
||||||
|
|
||||||
|
Start -> IfCPU;
|
||||||
|
IfCPU -> IfBoard [label="Yes"];
|
||||||
|
IfBoard -> IfDrivers [label="Yes"];
|
||||||
|
IfDrivers -> IfNetdev [label="Yes"];
|
||||||
|
IfNetdev -> End [label="Yes"];
|
||||||
|
|
||||||
|
IfCPU -> PortCPU [label="No"];
|
||||||
|
IfBoard -> PortBoard [label="No"];
|
||||||
|
IfDrivers -> PortDrivers [label="No"];
|
||||||
|
IfNetdev -> PortNetdev [label="No"];
|
||||||
|
|
||||||
|
PortCPU -> IfBoard;
|
||||||
|
PortBoard -> IfDrivers;
|
||||||
|
PortDrivers -> IfNetdev;
|
||||||
|
PortNetdev -> End;
|
||||||
|
|
||||||
|
/* ensure No branch is on same row as If */
|
||||||
|
{rank=same; IfCPU PortCPU}
|
||||||
|
{rank=same; IfBoard PortBoard}
|
||||||
|
{rank=same; IfDrivers PortDrivers}
|
||||||
|
{rank=same; IfNetdev PortNetdev}
|
||||||
|
/* ensure PortNodes are on top of each other */
|
||||||
|
edge [style="invis"];
|
||||||
|
PortCPU -> PortBoard -> PortDrivers -> PortNetdev;
|
||||||
|
}
|
@ -765,7 +765,6 @@ INPUT = ../../doc.txt \
|
|||||||
src/creating-modules.md \
|
src/creating-modules.md \
|
||||||
src/creating-an-application.md \
|
src/creating-an-application.md \
|
||||||
src/porting-boards.md \
|
src/porting-boards.md \
|
||||||
src/porting-cpus.md \
|
|
||||||
src/driver-guide.md \
|
src/driver-guide.md \
|
||||||
src/getting-started.md \
|
src/getting-started.md \
|
||||||
../../tests/README.md \
|
../../tests/README.md \
|
||||||
@ -2331,7 +2330,7 @@ DOT_PATH =
|
|||||||
# command).
|
# command).
|
||||||
# This tag requires that the tag HAVE_DOT is set to YES.
|
# This tag requires that the tag HAVE_DOT is set to YES.
|
||||||
|
|
||||||
DOTFILE_DIRS =
|
DOTFILE_DIRS = dot/
|
||||||
|
|
||||||
# The MSCFILE_DIRS tag can be used to specify one or more directories that
|
# The MSCFILE_DIRS tag can be used to specify one or more directories that
|
||||||
# contain msc files that are included in the documentation (see the \mscfile
|
# contain msc files that are included in the documentation (see the \mscfile
|
||||||
|
@ -15,6 +15,9 @@ to `RIOT`, the different files as well as their functionality.
|
|||||||
@note We assume here that your `CPU` and `CPU_MODEL` is already supported
|
@note We assume here that your `CPU` and `CPU_MODEL` is already supported
|
||||||
in `RIOT` so no peripheral or cpu implementation is needed.
|
in `RIOT` so no peripheral or cpu implementation is needed.
|
||||||
|
|
||||||
|
# Porting flowchart {#porting-flowchart}
|
||||||
|
@dotfile porting-boards.dot
|
||||||
|
|
||||||
# General structure {#general-structure}
|
# General structure {#general-structure}
|
||||||
|
|
||||||
Like @ref creating-an-application "applications" or @ref creating-modules
|
Like @ref creating-an-application "applications" or @ref creating-modules
|
||||||
@ -334,3 +337,13 @@ Some scripts and tools available to ease `BOARD` porting and testing:
|
|||||||
|
|
||||||
- Run `dist/tools/compile_and_test_for_board/compile_and_test_for_board.py . <board> --with-test-only`
|
- Run `dist/tools/compile_and_test_for_board/compile_and_test_for_board.py . <board> --with-test-only`
|
||||||
to run all automated tests on the new board.
|
to run all automated tests on the new board.
|
||||||
|
|
||||||
|
# Further reference {#further-reference}
|
||||||
|
|
||||||
|
- [In her blog][martines-blog], Martine Lenders documented her approach of
|
||||||
|
porting the @ref boards_feather-nrf52840 in February 2020.
|
||||||
|
- [Over at HackMD][hackmd-slstk3400a], Akshai M documented his approach of
|
||||||
|
porting the @ref boards_slstk3400a in July 2020.
|
||||||
|
|
||||||
|
[martines-blog]: https://blog.martine-lenders.eu/riot-board-en.html
|
||||||
|
[hackmd-slstk3400a]: https://hackmd.io/njFHwQ33SNS3sQKAkLkNtQ
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
Porting CPUs {#porting-cpus}
|
|
||||||
============
|
|
||||||
|
|
||||||
@todo Add dot graph with different options, describe options
|
|
Loading…
Reference in New Issue
Block a user