diff --git a/_data/docs.yml b/_data/docs.yml index 04140b6d..750eb5c7 100644 --- a/_data/docs.yml +++ b/_data/docs.yml @@ -2,6 +2,7 @@ docs: - overview/features - overview/hardware + - overview/rtos - overview/transports - overview/comparison - overview/ROS_2_feature_comparison diff --git a/_docs/overview/rtos/index.md b/_docs/overview/rtos/index.md new file mode 100644 index 00000000..2a872116 --- /dev/null +++ b/_docs/overview/rtos/index.md @@ -0,0 +1,159 @@ +--- +title: Supported RTOSes +permalink: /docs/overview/rtos/ +--- + + + +micro-ROS aims to **bring ROS 2 to microcontrollers** to allow having first-class ROS 2 entities in the embedded world. + +The standard approach to micro-ROS assumes a Real-Time Operating System underneath. + +Even though recent developments aim at loosening this requirement, with the integration into Arduino IDE as an important step towards true micro-ROS bare-metal support, the RTOS-based support remains the main entrypoint to micro-ROS. + +To date, micro-ROS is supported by the RTOSes FreeRTOS, Zephyr, NuttX, in addition to Linux and Windows. +All three RTOSes are downloaded natively with the [micro-ROS build system](https://github.com/micro-ROS/micro_ros_setup), and can be chosen when creating +a new firmware workspace. +Dedicated tutorials for running your first micro-ROS application on each of these Operating Systems can be found [here](https://micro-ros.github.io/docs/tutorials/core/first_application_rtos/). +The features common to all supported RTOSes are an API compliant with POSIX to some degree, extremely low to low footprint, and availability of different scheduling algorithms to ensure determinism in micro-ROS apps behavior. +Find more details about each of the supported RTOSes below, and a more comprehensive explaination on "Why an RTOS?" in the Concepts section, as this page is meant to provide a schematic overview on the matter. + + +## Real-Time Operating Systems officially supported by the project + +In this section, we review the main features of the three RTOSes supported officially by the project, and link to useful documentation. + +
+
+
+