micro-ROS / micro_ros_renesas_demos

Demo code for Renesas e2 studio
Apache License 2.0
4 stars 5 forks source link

Add the RA8M1 Board #141

Open Imeguras opened 7 months ago

Imeguras commented 7 months ago

A thing to note, although i was successful with my code. However, I'm still a bit clueless to the original demo code. And since I don't want to introduce my own personal code and I think the already existing template is very informative, I've decided to try and keep everything as close to the original as possible.

The current error is the following:

/home/micron/renesas/ra/e2studio_v2023-10_fsp_v5.1.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/micron/sav/Trabalhos/2023-2024/FormulaStudent/Eletro2024/micro_ros_renesas_demos/Boards/EK_R8AM1/micro_ros_udp_threadx/Debug/../src/micro_ros_thread_entry.cpp:38:(.text.micro_ros_thread_entry+0x68): undefined reference to `renesas_e2_transport_read(uxrCustomTransport*, unsigned char*, unsigned int, int, unsigned char*)'
/home/micron/renesas/ra/e2studio_v2023-10_fsp_v5.1.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/micron/sav/Trabalhos/2023-2024/FormulaStudent/Eletro2024/micro_ros_renesas_demos/Boards/EK_R8AM1/micro_ros_udp_threadx/Debug/../src/micro_ros_thread_entry.cpp:38:(.text.micro_ros_thread_entry+0x6c): undefined reference to `microros_deallocate(void*, void*)'
/home/micron/renesas/ra/e2studio_v2023-10_fsp_v5.1.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/micron/sav/Trabalhos/2023-2024/FormulaStudent/Eletro2024/micro_ros_renesas_demos/Boards/EK_R8AM1/micro_ros_udp_threadx/Debug/../src/micro_ros_thread_entry.cpp:38:(.text.micro_ros_thread_entry+0x70): undefined reference to `microros_reallocate(void*, unsigned int, void*)'
/home/micron/renesas/ra/e2studio_v2023-10_fsp_v5.1.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/micron/sav/Trabalhos/2023-2024/FormulaStudent/Eletro2024/micro_ros_renesas_demos/Boards/EK_R8AM1/micro_ros_udp_threadx/Debug/../src/micro_ros_thread_entry.cpp:38:(.text.micro_ros_thread_entry+0x74): undefined reference to `microros_zero_allocate(unsigned int, unsigned int, void*)'
/home/micron/renesas/ra/e2studio_v2023-10_fsp_v5.1.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/micron/sav/Trabalhos/2023-2024/FormulaStudent/Eletro2024/micro_ros_renesas_demos/Boards/EK_R8AM1/micro_ros_udp_threadx/Debug/../src/micro_ros_thread_entry.cpp:38:(.text.micro_ros_thread_entry+0x78): undefined reference to `renesas_e2_transport_write(uxrCustomTransport*, unsigned char const*, unsigned int, unsigned char*)'
/home/micron/renesas/ra/e2studio_v2023-10_fsp_v5.1.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/micron/sav/Trabalhos/2023-2024/FormulaStudent/Eletro2024/micro_ros_renesas_demos/Boards/EK_R8AM1/micro_ros_udp_threadx/Debug/../src/micro_ros_thread_entry.cpp:38:(.text.micro_ros_thread_entry+0x7c): undefined reference to `renesas_e2_transport_open(uxrCustomTransport*)'
/home/micron/renesas/ra/e2studio_v2023-10_fsp_v5.1.0/toolchains/gcc_arm/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /home/micron/sav/Trabalhos/2023-2024/FormulaStudent/Eletro2024/micro_ros_renesas_demos/Boards/EK_R8AM1/micro_ros_udp_threadx/Debug/../src/micro_ros_thread_entry.cpp:38:(.text.micro_ros_thread_entry+0x80): undefined reference to `renesas_e2_transport_close(uxrCustomTransport*)

How is the linker supposed to associate the udp_transport_threadX with microros_transports.h / what causes the linker to fetch the implementation for all those symbols inside ? Also i get submodules and everything but on the demos i personally thing ommiting the duplicate code on src is really annoying as when people are already 5 hours into modified code they just wanna see the original demo to see what broke and.... its a submodule so you have to clone a massive repo to see it. Im unshure if watching it on vcode developer mode resolves this issue but regardless it might

Also i felt as thought it was cortesy to update the readme but i know it doesnt fit in towards the hole organization of the various repos if any change is needed please let me know(i've had previous annoyances with ros2 and i know that i probably will have to try it on iron/rolling but unfortunately im on arch linux which means installing any version of ros2, unless its from scratch is a real pain in the ass due to all those obsolete dependancies)

I've decided to merge this into humble as although im 99% certain nothing will change from humble to iron, i've tested it with humble, and i've spent all my work and tests on humble so it would be misguided for me to announce that it was working for iron

Also i fixed a minor formatting issue on readme.

I also signed the commit(with gpg, yubikey) ... But unfortunately GitHub doesn't really like my email domain(which despite humorous i treat it as a serious email, due to privacy/ security reasons), I was unshure if i had to sign it with my real name or just the name i place in the commits, if a real name is required for the apache license please let me know

Imeguras commented 7 months ago

@pablogs9 Here is the demo could you aid me with the errors? Otherwise i've been able to make it run