Advice on STM32 MCU and Baremetal/FreeRTOS selection
Dear Forum,
I am preparing a hardware prototype for a visual inertial odometry project that highly requires realtime-ness.
The planned system would comprise an MCU for gathering data (with some pre-processing such as FFT, Kalman Filter, ...) from various sensors such as IMU, barometer, magnetometer, .. then transferring to a Linux based platform (Raspberry Pi 4/5 for example) running ROS2. And it looks like that this would be more or less similar to certain open-source flight controllers (for drones, rockets, ...) making use of STM32F4 or STM32F7/H7 families and I would opt for the H7.
In terms of firmware for the MCU side, I would use the microros middleware for timestamp synchronization and data publishing via ROS2 topics.
However, handling multiple tasks such as data acquisition from various sensors and micro-ros communication with host ROS2 platform but still guaranteeing the realtime-ness (low latency in terms of data timestamping) would be a challenge in this project. Therefore, I am in a dilemma of selecting btw an RTOS (FreeRTOS for being precise) or making use of an MCU having multicore (the STM32H745/STM32H755) with some sort of inter-processor communication techniques presented in the AN5617.
Could you help to share your opinion/advice, please ?
Thanks in advance and best regards,
Khang.
