micro-ROS / micro-ROS/micro_ros_setup
can't use the precompiled libraries with teensy 4.1
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Shell
- Star
- 509
- Fork
- 183
- Merge trung bình
- 22 giờ 26 phút
- Pull request đã merge (30 ngày)
- 7
Mô tả
## Issue template
- Hardware and Software description: Ubuntu 20.04
Ros2 Foxy (and on another setup with Humble as well)
`rduino IDE 1.8.15
Teensyduino 1.54
- Installation type: after installing Arduino IDE, and Teensyduino, I downloaded the teensy rules, and I patched the Platform.txt and edited those two lines as instructed:
`version=1.8.15`
`ARDUINO_PATH=[~/Downloads/arduino-1.8.15]`
#### Steps to reproduce the issue
I was following the instructions in this link:
https://micro.ros.org/docs/tutorials/core/teensy_with_arduino/
but with one difference, Teensy 4.1 insead of Teensy 3.2
#### Expected behavior
code uploaded to teensy
#### Actual behavior
I receive the following error while compiling the code:
`WARNING: library micro_ros_arduino claims to run on stm32, OpenCR, Teensyduino, samd, sam, mbed, esp32, mbed_portenta architecture(s) and may be incompatible with your current board which runs on avr architecture(s).
Library micro_ros_arduino has been declared precompiled:
Using precompiled library in /home/ali/Arduino/libraries/micro_ros_arduino/src/imxrt1062/fpv5-d16-hard
The platform does not support 'compiler.libraries.ldflags' for precompiled libraries.
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /tmp/arduino_build_172864/sketch/micro-ros_publisher.ino.cpp.o: in function timer_callback(rcl_timer_s*, long long)':
/home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:36: undefined reference to `rcl_publish'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /tmp/arduino_build_172864/sketch/micro-ros_publisher.ino.cpp.o: in function `setup':
/home/ali/Arduino/libraries/micro_ros_arduino/src/micro_ros_arduino.h:33: undefined reference to `rmw_uros_set_custom_transport'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /tmp/arduino_build_172864/sketch/micro-ros_publisher.ino.cpp.o: in function `setup':
/home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:49: undefined reference to `rcutils_get_default_allocator'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:52: undefined reference to `rclc_support_init'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:55: undefined reference to `rclc_node_init_default'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:58: undefined reference to `rosidl_typesupport_c__get_message_type_support_handle__std_msgs__msg__Int32'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:58: undefined reference to `rclc_publisher_init_default'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:66: undefined reference to `rclc_timer_init_default'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:73: undefined reference to `rclc_executor_init'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:74: undefined reference to `rclc_executor_add_timer'
/home/ali/.arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld: /tmp/arduino_build_172864/sketch/micro-ros_publisher.ino.cpp.o: in function `loop':
/home/ali/Arduino/libraries/micro_ros_arduino/examples/micro-ros_publisher/micro-ros_publisher.ino:81: undefined reference to `rclc_executor_spin_some'
collect2: error: ld returned 1 exit status
Error compiling for board Teensy 4.1.`
sorry that the code looks like this, but it has a lot of apostrophes.
#### Additional information
my main goal is as follows:
The teensy reads several sensors and send the data to a Jetson orin that will publich them to ros2.
if there's a way to send the info as serial and create a node that will read it and then publish to ros2, or to publish ros2 directly from the teensy, please advise me on how to solve this.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với tutorial teensy_with_arduino và ví dụ micro-ros_publisher.ino, sau đó kiểm tra micro_ros_arduino.h và thư viện được biên dịch sẵn được chọn cho Teensy 4.1. So sánh cấu hình đó với đầu ra của linker và xác định điều gì ngăn các symbol được tham chiếu được liên kết. Hoàn thành khi ví dụ biên dịch và được tải lên Teensy 4.1 mà không có lỗi undefined-reference.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- arduino, linux
- Lĩnh vực
- embedded-iot
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 25/100