micro_ros_stm32cubemx_utils icon indicating copy to clipboard operation
micro_ros_stm32cubemx_utils copied to clipboard

UCLIENT_PROFILE_MULTITHREAD not working for FreeRTOS

Open DrMarkusKrug opened this issue 1 year ago • 0 comments

After generating the micro ros library with the multithread flag enabled (and adding the FreeRTOS headers to the compile search path) I realized that my application is broken. It seems to me that at least the custom transport for writing data to the host is not working properly. The data structure for the belong DMA receive channel is not initialized and the transmit doesn't seem to be correct (see screenshot on the right hand side). Screenshot from 2023-08-11 13-33-37 If I use a non multithread version of the micro ros library the exact same position in the code (and also in the execution order) looks like: Screenshot from 2023-08-11 13-37-17

From previous experience I assume that something is going wrong in allocating the memory for the protecting semaphores that are used in the ROS2 or DDS layers.

DrMarkusKrug avatar Aug 11 '23 11:08 DrMarkusKrug