Skip to content

Commit c38de1a

Browse files
committed
doc: services: add structure/categorization to services index
The very flat and unorganized list of services was really difficult to navigate, and not really helping people _discover_ services if they didn't already know what they were looking for. This tries to address that by adding some grouping. Signed-off-by: Benjamin Cabé <[email protected]>
1 parent 9db49ec commit c38de1a

File tree

12 files changed

+216
-46
lines changed

12 files changed

+216
-46
lines changed

doc/services/algorithms.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.. _algorithms_services:
2+
3+
Algorithms
4+
**********
5+
6+
This section provides an overview of some of the algorithms and data processing services available
7+
in Zephyr.
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
crc/index.rst
13+
dsp/index.rst
14+
serialization/index.rst
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
.. _application_framework_services:
2+
3+
Application Services
4+
********************
5+
6+
This section provides an overview of some of the high-level frameworks and libraries for application
7+
development available in Zephyr.
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
device_mgmt/index
13+
llext/index.rst
14+
sensing/index.rst
15+
smf/index.rst
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
.. _connectivity:
2+
.. _connectivity_services:
23

34
Connectivity
45
############
56

67
.. toctree::
78
:maxdepth: 1
89

10+
networking/index.rst
911
bluetooth/index.rst
1012
canbus/index.rst
11-
networking/index.rst
12-
modem/index.rst
1313
lora_lorawan/index.rst
14-
usb/index.rst
1514
modbus/index.rst
15+
modem/index.rst
16+
usb/index.rst

doc/services/index.rst

Lines changed: 89 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,93 @@
11
.. _os_services:
22

3-
OS Services
4-
###########
3+
Services
4+
########
5+
6+
Zephyr provides a comprehensive set of subsystems and associated services that applications can
7+
leverage. These services provide standardized APIs that abstract hardware implementation details,
8+
enabling application portability across different platforms.
9+
10+
.. grid:: 1 1 2 2
11+
:gutter: 3
12+
13+
.. grid-item-card:: :material-twotone:`memory;36px` System
14+
:link: system_services
15+
:link-type: ref
16+
17+
Memory management, low-level infrastructure, and other utility APIs.
18+
19+
.. grid-item-card:: :material-twotone:`device_hub;36px` Connectivity
20+
:link: connectivity_services
21+
:link-type: ref
22+
23+
Networking, Bluetooth, USB, and other connectivity services.
24+
25+
.. grid-item-card:: :material-twotone:`bug_report;36px` Observability & Debugging
26+
:link: observability_services
27+
:link-type: ref
28+
29+
Logging, tracing, shell, and other debugging and observability tools.
30+
31+
.. grid-item-card:: :material-twotone:`import_export;36px` Input / Output
32+
:link: io_services
33+
:link-type: ref
34+
35+
Console, input devices abstraction, RTIO, and other I/O utilities.
36+
37+
.. grid-item-card:: :material-twotone:`save;36px` Storage & Configuration
38+
:link: storage_services
39+
:link-type: ref
40+
41+
Flash access, file systems, key-value stores, and data retention.
42+
43+
.. grid-item-card:: :material-twotone:`battery_charging_80;36px` Power Management
44+
:link: power_management_services
45+
:link-type: ref
46+
47+
Energy consumption, performance scaling, and resource lifecycle control.
48+
49+
.. grid-item-card:: :material-twotone:`chat_bubble;36px` IPC & Messaging
50+
:link: messaging_services
51+
:link-type: ref
52+
53+
Inter-thread, inter-processor, and external communication mechanisms.
54+
55+
.. grid-item-card:: :material-twotone:`security;36px` Security & Identity
56+
:link: security_services
57+
:link-type: ref
58+
59+
Cryptographic primitives, trusted execution environments, and identity services.
60+
61+
.. grid-item-card:: :material-twotone:`data_object;36px` Algorithms
62+
:link: algorithms_services
63+
:link-type: ref
64+
65+
Algorithms for data transformation, encoding, and validation.
66+
67+
.. grid-item-card:: :material-twotone:`layers;36px` Portability
68+
:link: osal
69+
:link-type: ref
70+
71+
OS abstraction layers such as POSIX or CMSIS RTOS.
72+
73+
.. grid-item-card:: :material-twotone:`widgets;36px` Application Services
74+
:link: application_framework_services
75+
:link-type: ref
76+
77+
High-level frameworks and libraries for application development.
578

679
.. toctree::
7-
:maxdepth: 1
8-
9-
binary_descriptors/index.rst
10-
console.rst
11-
cpu_freq/index.rst
12-
cpu_load/index.rst
13-
crc/index.rst
14-
crypto/index
15-
debugging/index.rst
16-
device_mgmt/index
17-
dsp/index.rst
18-
formatted_output.rst
19-
input/index.rst
20-
instrumentation/index.rst
21-
ipc/index.rst
22-
llext/index.rst
23-
logging/index.rst
24-
tracing/index.rst
25-
resource_management/index.rst
26-
mem_mgmt/index.rst
27-
net_buf/index.rst
28-
notify.rst
29-
pm/index.rst
30-
portability/index.rst
31-
poweroff.rst
32-
profiling/index.rst
33-
shell/index.rst
34-
serialization/index.rst
35-
smf/index.rst
36-
storage/index.rst
37-
sensing/index.rst
38-
task_wdt/index.rst
39-
tfm/index
40-
virtualization/index.rst
41-
rtio/index.rst
42-
zbus/index.rst
43-
misc.rst
80+
:maxdepth: 2
81+
:hidden:
82+
83+
system
84+
connectivity/index
85+
observability
86+
io
87+
storage/index
88+
power_management
89+
messaging
90+
security
91+
algorithms
92+
portability/index
93+
application_services

doc/services/io.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
.. _io_services:
2+
3+
Input / Output
4+
**************
5+
6+
This section provides an overview of some of the Input and Output (I/O) services available in
7+
Zephyr.
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
console.rst
13+
input/index.rst
14+
rtio/index.rst
15+
formatted_output.rst

doc/services/messaging.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
.. _messaging_services:
2+
3+
IPC & Messaging
4+
***************
5+
6+
This section provides an overview of some of the inter-process and inter-thread communication
7+
mechanisms available in Zephyr.
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
zbus/index.rst
13+
ipc/index.rst
14+
notify.rst
15+
virtualization/index.rst

doc/services/observability.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
.. _observability_services:
2+
3+
Observability & Debugging
4+
*************************
5+
6+
This section provides an overview of some of the observability and debugging services available in
7+
Zephyr.
8+
9+
.. toctree::
10+
:maxdepth: 1
11+
12+
logging/index.rst
13+
tracing/index.rst
14+
debugging/index.rst
15+
profiling/index.rst
16+
shell/index.rst
17+
cpu_load/index.rst
18+
instrumentation/index.rst

doc/services/power_management.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.. _power_management_services:
2+
3+
Power Management
4+
****************
5+
6+
This section provides an overview of some of the power management services available in Zephyr.
7+
8+
.. toctree::
9+
:maxdepth: 1
10+
11+
pm/index.rst
12+
cpu_freq/index.rst
13+
poweroff.rst
14+
resource_management/index.rst

doc/services/security.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.. _security_services:
2+
3+
Security & Identity
4+
*******************
5+
6+
This section provides an overview of some of the security services available in Zephyr.
7+
8+
.. toctree::
9+
:maxdepth: 1
10+
11+
crypto/index
12+
jwt/index
13+
tfm/index
14+
uuid/index

doc/services/storage/flash_map/flash_map.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ The flash_map.h API uses data generated from the :ref:`devicetree_api`, in
5252
particular its :ref:`devicetree-flash-api`. Zephyr additionally has some
5353
partitioning conventions used for :ref:`dfu` via the MCUboot bootloader, as
5454
well as defining partitions usable by :ref:`file systems <file_system_api>` or
55-
other nonvolatile :ref:`storage <storage_reference>`.
55+
other non-volatile :ref:`storage <storage_services>`.
5656

5757
Here is an example devicetree fragment which uses fixed flash partitions for
5858
both MCUboot and a storage partition. Some details were left out for clarity.

0 commit comments

Comments
 (0)