Using the 64-bit beta of Raspberry Pi OS I can compile ROS2 dashing source (ROS2 requires 64-bit). And it seems to run. But when I try to compile the MIPI_Camera examples, they complain about an incompatible version of libarducam_mipicamera.so. The installed libarducam_mipicamera.so is a 32-bit ARM library. Is there anywhere to get the 64-bit ARM version of this library?
My goal is to create a ROS2 node running on the RPI4 that will published ROS2 messages containing images from the Arducam MIPI camera. It should be an easy node to create once I get the correct version of libarducam_mipicamera.so. Has anyone already done this?
I have recompiled the lib on the ros aarch64 system. Due to it does not exist wiringpi 64bit, so I optimize our Makefile and please download our new code to retry.
Thank you very much for recompiling under the aarch64 system. I downloaded the new library and was able to compile and link the sample MIPI_Camera programs. However when I run any of them I get the following messages:
Very sorry for my late reply. I am so busy recently. Recently, I am optimizing our MIPI_Camera driver. Due to the wiringPi library has stop their maintain. and the CM4 has released. I am optimizing our library to support it using new GPIO driver. I will test it today and reply you as soon as possible
The updated binary under aarch64 is actually ELF 32 bit, seems accidentally to be identical to the 32bit version. Can you please fix it? Thanks in advance,
Alon
file output:
libarducam_mipicamera.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=1a47b6955291375e9b1b30d0e67f42daa6d98675, not stripped
I have solved the issue and I know the issue. At first I enable the arm-64bit=1 to starts the processors up in 64-bit mode. But the lib is still 32 bit. Now I use a arch64 system to compile it.
I find it does not have mmal and we can’t get many so files about mmal. So we need to create mmal firstly. Then compile our new libarducam_mipicamera.so.
Thanks for taking the time to make a new lib! I will try it. Regarding the manual which instructs to build raspberry pi userland libmmal from source, I currently am using the libraries via debian:
I am not sure if it is OK. As normal. the mmal lib is 32 bit and it does not support 64bit. The Pi’s official provide a way to recompile the lib. You can try your current library. If does not work. You can recompile the lib following the user guide I attached for you.
I have followed the instructions at the link below but I’m unable to get my MIPI camera working on Raspberry Pi OS 64-bit. When I try to run ‘./arducamstill -t 0’ I’m given a segmentation fault and the Pi locks up completely.