RTI Connext Micro (http://www.rti.com/products/micro.html) is a DDS implementation targeted for platforms like microcontrollers with smaller footprints, and has been run on embedded platforms including TI Stellaris, Raspberry Pi, BeagleBoard. Its architecture allows portability to other platforms, with or without an RTOS. There are some prerequisites for a platform to be portable to Connext Micro, such as 32-bit integer support. What specific microcontrollers are you considering?
However, uClinux was archived in 2018 and the STM32 board used in that test has Cortex-M chip with 2 Mbytes of Flash memory and 512+16+4 Kbytes of RAM as well. Shortly, it's much more powerful than the ESP8266-12E
So my question is: Is it possible to use RTI DDS Micro on ESP8266? Or even ESP32? If there is, which specific Linux kernel (not the full OS, uCLinux-like) could be compatible with RTI DDS Micro?
Fundamentally, RTI Connext Micro is a source-code product. Customers are expected to compile it for the hardware/board that they want to run it on. Out-of-the-box, RTI Connext Micro has been ported, built, tested on a limited set of platforms (platform = compiler + OS + CPU). For example, for Connext Micro 3.0.3, please see
Generally speaking, Micro needs about 384 KB of RAM for itself to run. You should also take into account the RAM used by the OS as well as your own application to determine how much total system RAM is required.
So, for the Reference platforms mentioned in the documentation, Micro comes with code that has been ported to all of those platforms as well as cmake support to generate the associated build files.
For any other platform, including "Known Customer Platforms", which includes uLinux, you may have to port various parts of Micro to use the OS that you want to use as well as the associated network stack. This documented here:
For Aduino, unless, you have a way to add external RAM and FLASH to an Aduino board, you won't be able to run Micro, not to mention you need some sort of network (Ethernet/Wifi). If you are trying to connect Aduino to a system that includes a full network and computers that can run full Connext DDS, then you might want to look into the RTI Nano client, which is based on the DDS-XRCE specification, and allows you to use a very small client on your micro devices to connect to an RTI Nano agent running on more substantial device and serves as a gateway to full DDS applications. See
Hi,
RTI Connext Micro (http://www.rti.com/products/micro.html) is a DDS implementation targeted for platforms like microcontrollers with smaller footprints, and has been run on embedded platforms including TI Stellaris, Raspberry Pi, BeagleBoard. Its architecture allows portability to other platforms, with or without an RTOS. There are some prerequisites for a platform to be portable to Connext Micro, such as 32-bit integer support. What specific microcontrollers are you considering?
Regards,
Edward
edward@rti.com
Thank you Edward for the information. How can I use it with arduino?
I'm sorry for this silly question, for I'm a newbie :-)
Hello, I'm also a newbie to either RTI DDS or embedded. The question is I'm having an ESP8266 board and would like to use RTI DDS Micro on that board.
There was an experiment on STM32 board found here since 2017:
https://www.rti.com/blog/how-to-build-and-run-rti-connext-dds-micro-on-a-microcontroller
However, uClinux was archived in 2018 and the STM32 board used in that test has Cortex-M chip with 2 Mbytes of Flash memory and 512+16+4 Kbytes of RAM as well. Shortly, it's much more powerful than the ESP8266-12E
So my question is: Is it possible to use RTI DDS Micro on ESP8266? Or even ESP32? If there is, which specific Linux kernel (not the full OS, uCLinux-like) could be compatible with RTI DDS Micro?
Any information would be truly appreciated.
Fundamentally, RTI Connext Micro is a source-code product. Customers are expected to compile it for the hardware/board that they want to run it on. Out-of-the-box, RTI Connext Micro has been ported, built, tested on a limited set of platforms (platform = compiler + OS + CPU). For example, for Connext Micro 3.0.3, please see
https://community.rti.com/static/documentation/connext-micro/3.0.3/doc/html/building/platforms.html#reference-platforms.
Generally speaking, Micro needs about 384 KB of RAM for itself to run. You should also take into account the RAM used by the OS as well as your own application to determine how much total system RAM is required.
So, for the Reference platforms mentioned in the documentation, Micro comes with code that has been ported to all of those platforms as well as cmake support to generate the associated build files.
For any other platform, including "Known Customer Platforms", which includes uLinux, you may have to port various parts of Micro to use the OS that you want to use as well as the associated network stack. This documented here:
https://community.rti.com/static/documentation/connext-micro/3.0.3/doc/html/building/porting.html
For Aduino, unless, you have a way to add external RAM and FLASH to an Aduino board, you won't be able to run Micro, not to mention you need some sort of network (Ethernet/Wifi). If you are trying to connect Aduino to a system that includes a full network and computers that can run full Connext DDS, then you might want to look into the RTI Nano client, which is based on the DDS-XRCE specification, and allows you to use a very small client on your micro devices to connect to an RTI Nano agent running on more substantial device and serves as a gateway to full DDS applications. See
https://www.omg.org/spec/DDS-XRCE/
https://github.com/rticommunity/nano-client
https://github.com/rticommunity/nano-agent