micro_ros_setup: Zephyr failed build RMW with new board STM32F401 Nucleo-64 - nucleo_f401re
Hello,
I wanted to build micro-ROS for a new board. Similar to #74 the build process failed during setting up the rmw_implementation.
here is the error code:
--- stderr: rmw_microxrcedds
CMake Warning at CMakeLists.txt:153 (find_package):
By not providing "Findrosidl_typesupport_microxrcedds_cpp.cmake" in
CMAKE_MODULE_PATH this project has asked CMake to find a package
configuration file provided by "rosidl_typesupport_microxrcedds_cpp", but
CMake did not find one.
Could not find a package configuration file provided by
"rosidl_typesupport_microxrcedds_cpp" with any of the following names:
rosidl_typesupport_microxrcedds_cppConfig.cmake
rosidl_typesupport_microxrcedds_cpp-config.cmake
Add the installation prefix of "rosidl_typesupport_microxrcedds_cpp" to
CMAKE_PREFIX_PATH or set "rosidl_typesupport_microxrcedds_cpp_DIR" to a
directory containing one of the above files. If
"rosidl_typesupport_microxrcedds_cpp" provides a separate development
package or SDK, be sure it has been installed.
---
Finished <<< rmw_microxrcedds [0.69s]
Starting >>> rmw_implementation
Finished <<< rcl_logging_noop [0.54s]
Starting >>> libyaml_vendor
--- stderr: rmw_implementation
CMake Error at /opt/ros/dashing/share/rosidl_typesupport_fastrtps_cpp/cmake/rosidl_typesupport_fastrtps_cpp-extras.cmake:6 (find_package):
Could not find a configuration file for package "fastcdr" that is
compatible with requested version "".
The following configuration files were considered but not accepted:
/opt/ros/dashing/share/fastcdr/cmake/fastcdr-config.cmake, version: 1.0.10 (64bit)
/usr/local/lib/cmake/fastcdr/fastcdr-config.cmake, version: 1.0.13 (64bit)
Call Stack (most recent call first):
/opt/ros/dashing/share/rosidl_typesupport_fastrtps_cpp/cmake/rosidl_typesupport_fastrtps_cppConfig.cmake:38 (include)
/opt/ros/dashing/share/rmw_fastrtps_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
/opt/ros/dashing/share/rmw_fastrtps_cpp/cmake/rmw_fastrtps_cppConfig.cmake:38 (include)
/home/flo/microros_ws/firmware/mcu_ws/install/share/rmw_implementation_cmake/cmake/get_default_rmw_implementation.cmake:62 (find_package)
CMakeLists.txt:25 (get_default_rmw_implementation)
---
Failed <<< rmw_implementation [ Exited with code 1 ]
Aborted <<< libyaml_vendor
Summary: 15 packages finished [5.03s]
1 package failed: rmw_implementation
1 package aborted: libyaml_vendor
2 packages had stderr output: rmw_implementation rmw_microxrcedds
32 packages not processed
Makefile:57: recipe for target 'colcon_compile' failed
make[3]: *** [colcon_compile] Error 1
make[3]: Leaving directory '/home/flo/microros_ws/firmware/zephyr_apps/microros_extensions'
CMakeFiles/microroslib_project.dir/build.make:134: recipe for target 'microros_extensions/src/microroslib_project-stamp/microroslib_project-build' failed
make[2]: *** [microros_extensions/src/microroslib_project-stamp/microroslib_project-build] Error 2
make[2]: Leaving directory '/home/flo/microros_ws/firmware/zephyrproject/build'
CMakeFiles/Makefile2:2087: recipe for target 'CMakeFiles/microroslib_project.dir/all' failed
make[1]: *** [CMakeFiles/microroslib_project.dir/all] Error 2
make[1]: Leaving directory '/home/flo/microros_ws/firmware/zephyrproject/build'
Makefile:106: recipe for target 'all' failed
make: *** [all] Error 2
Can somebody give me a hint about how to add the necessary config/dtb/??? for the rmw to use the serial with this board? I tried to re-engineer your different scripts and examples but I’m still not sure where I must add this board… This is more the fault of the complex build complex by zephyr, but I hope you can give me a few hints about it… 😄
It would be nice to increase the documentation about setting up an own board.
Side fact: I needed to get a newer cmake version via pip3 in order to start building this. The scripts worked sort of straight forward after adding nucleo_f401re
as new board descriptor here and there. But a nice documentation about this would help a lot! I might even be willing to help writing it.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 33 (33 by maintainers)
Hey @pablogs9, I just tested it and it worked with the updated branch! 🏆 Disabling
PRINTK=n
worked now as well with your disable banner config!I’ll close this issue now and add the PR about flashing the nucle_f401re board with
west flash
like the other ST board. Thank you for your effort! 😃Hi again @gramss, please check my new commit here: https://github.com/micro-ROS/zephyr_apps/tree/feature/add_nucleo_f401re_support
I have changed the serial transport to a polling approach. Well, I have test it in the ST Disco (same bridged UART over USB approach than your board) and it works. Please test it a tell me your results.