Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _posts/2020-07-17-EWG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ Please find [here](http://meet.google.com/saf-gjix-swf) the link to the Google m
the first meeting.
Everyone is welcome to add items that they consider relevant in the form of comments.

<img alt="micro-ROS display" src="/img/posts/2020-07-17-EWG.jpg" width="100%"/>
<img alt="EWG advertisement" src="/img/posts/2020-07-17-EWG.jpg" width="100%"/>
2 changes: 1 addition & 1 deletion _posts/2020-08-27-esp32.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ author: francesca-finocchiaro

The micro-ROS team is glad to announce that the pool of boards officially supported by the project has widened! The [ESP32 MCU](https://www.espressif.com/en/products/socs/esp32) is now part of the family. ESP32 is a series of low-cost, low-power microcontrollers with integrated Wi-Fi and dual-mode Bluetooth, widely used for both commercial and industrial purposes.

<img alt="micro-ROS display" src="/img/posts/esp32_cut.png" width="70%"/>
<img alt="ESP32 board" src="/img/posts/esp32_cut.png" width="70%"/>

micro-ROS targets mid-range and medium-to-high performance 32-bits microcontrollers families. Up to now, the boards officially supported by the project were solely based on the STM32 series from ST, MCUs featuring ARM Cortex-M processors. On the other hand, the ESP32 is an ultra-low power consumption dual-core system with two Xtensa LX6 CPUs, exposing a large collection of peripherals.

Expand Down
27 changes: 27 additions & 0 deletions _posts/2020-09-03-memo-prof-xrcedds.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Memory Profiling of Micro XRCE-DDS
author: francesca-finocchiaro
---

In response to the growing interest of the community in micro-ROS, a thorough benchmarking of the most relevant figures that are key to the product adoption is in demand.

As a first step towards this direction, we recently performed a [memory footprint analysis](https://www.eprosima.com/index.php/resources-all/performance/micro-xrce-dds-memory-profiling) of the [Micro XRCE-DDS](https://micro-xrce-dds.docs.eprosima.com/en/latest/) library, the middleware underlying the micro-ROS architecture.

The Micro XRCE-DDS Client library profiling has been performed for two simple applications, one publishing and the other subscribing to topics of known size, running on FreeRTOS, chosen by virtue of its memory management capabilities, and on an Olimex STM32-E407 board, which is the reference board of the micro-ROS project. The board is connected by serial transport (UART) at 115200 baud to a Micro XRCE-DDS agent running on a Linux machine. Notice that the XRCE-DDS Client is completely dynamic memory free, so all memory figures refer to the stack and static memory usage.

The results for this analysis are summarized in the graphs below for publisher and subscriber applications, respectively.

* **Publisher Applications**:

<img alt="Results for Micro XRCE-DDS publisher application" src="/img/posts/overall_pub.png" width="80%"/>

* **Subscriber Applications**:

<img alt="Results for Micro XRCE-DDS subscriber application" src="/img/posts/overall_sub.png" width="80%"/>


On the server side, we have investigated the memory consumption of an Agent communicating with a mock Client application on Linux that is publishing and subscribing to topics of known size, by measuring the binary size of the compiled agent (which resulted to be of 385 KB) and analysing heap and stack usages. The results for the latter are summarized in the plot below.

<img alt="Results for Micro XRCE-DDS agent" src="/img/posts/Memory_usage_XRCE-DDS_Agent.png" width="60%"/>

For more information regarding the methodology employed for performing these profilings, refer to the full report published on [eProsima](https://www.eprosima.com/)'s webpage.
Binary file added img/posts/Memory_usage_XRCE-DDS_Agent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/posts/overall_pub.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/posts/overall_sub.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.