@@ -9,6 +9,7 @@ As the build process for ROS 2 and micro-ROS is based on custom meta-build syste
9
9
- [ How to use the precompiled library] ( #how-to-use-the-precompiled-library )
10
10
- [ Arduino IDE] ( #arduino-ide )
11
11
- [ PlatformIO] ( #platformio )
12
+ - [ Known issues] ( #known-issues )
12
13
- [ How to build the precompiled library] ( #how-to-build-the-precompiled-library )
13
14
- [ Patch Arduino board for support precompiled libraries] ( #patch-arduino-board-for-support-precompiled-libraries )
14
15
- [ Patch Teensyduino] ( #patch-teensyduino )
@@ -86,6 +87,77 @@ pio run --target upload # Flash the firmware
86
87
```
87
88
88
89
An example of a micro-ROS application using PlatformIO is available [ here] ( https://github.com/husarion/micro_ros_stm32_template ) .
90
+
91
+ #### Known issues
92
+
93
+ - ` multiple definition of ` Link errors on galactic:
94
+
95
+ Create a python script fix_linker.py on your directory and modify the linker flags manually:
96
+ ```
97
+ Import("env")
98
+ env["_LIBFLAGS"] = ('-Wl,--start-group -Wl,--whole-archive '
99
+ '${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, LIBPREFIXES, '
100
+ 'LIBSUFFIXES, __env__)} -Wl,--no-whole-archive -lstdc++ '
101
+ '-lsupc++ -lm -lc -lgcc -lnosys -lmicroros -Wl,--end-group')
102
+ ```
103
+
104
+ Now add it to your ` platformio.ini ` like this: ` extra_scripts = fix_linker.py ` and delete the ` -l libmicroros ` line on ` build_flags ` .
105
+
106
+ Related: https://github.com/micro-ROS/micro_ros_arduino/pull/848#issuecomment-1072196933 , https://github.com/micro-ROS/micro_ros_arduino/issues/774
107
+
108
+ - Arduino Portenta H7
109
+ - Follow ** ` multiple definition of ` Link errors on galactic** modifications
110
+
111
+ Related: https://github.com/micro-ROS/micro_ros_arduino/issues/847
112
+
113
+ - Arduino Nano RP2040 Connect
114
+
115
+ - The following versioning shall be used:
116
+ ```
117
+ lib_deps =
118
+ arduino-libraries/WiFiNINA@^1.8.13
119
+ ...
120
+
121
+ platform_packages =
122
+ toolchain-gccarmnoneeabi @ ~1.70201.0
123
+ framework-arduino-mbed @ ~2.4.1
124
+ ```
125
+
126
+ - Library dependency finder shall be set to `chain+`: `lib_ldf_mode = chain+`
127
+ - Follow **`multiple definition of` Link errors on galactic** modifications
128
+
129
+ Related: https://github.com/micro-ROS/micro_ros_arduino/issues/780
130
+
131
+ - Arduino Due
132
+ - The following versioning shall be used:
133
+ ```
134
+ platform_packages =
135
+ toolchain-gccarmnoneeabi@<1.50000.0
136
+ ```
137
+
138
+ Related: https://github.com/micro-ROS/micro_ros_arduino/issues/698
139
+
140
+ - ESP32 Dev Module
141
+ - Known issues with espressif32 arduino package, use `2.0.2` version:
142
+ ```
143
+ [env:esp32dev]
144
+ platform = https://github.com/platformio/platform-espressif32.git#feature/arduino-upstream
145
+ board = esp32dev
146
+ framework = arduino
147
+ lib_deps =
148
+ https://github.com/micro-ROS/micro_ros_arduino.git
149
+ build_flags =
150
+ -L ./.pio/libdeps/esp32dev/micro_ros_arduino/src/esp32/
151
+ -l microros
152
+ -D ESP32
153
+
154
+ platform_packages =
155
+ toolchain-xtensa32 @ ~2.80400.0
156
+ framework-arduinoespressif32@https://github.com/espressif/arduino-esp32.git#2.0.2
157
+ ```
158
+
159
+ Related: https://github.com/micro-ROS/micro_ros_arduino/issues/736, https://github.com/platformio/platform-espressif32/issues/616
160
+
89
161
## How to build the precompiled library
90
162
91
163
```bash
0 commit comments