Hello everyone, I hope I could get some help here, as my experience on Linux is programming Java on x86 machines. I need to develop an application for recognition of fingerprints by using a SDK provided by the manufacturer of the USB scanner. This application should run on Mini6410 or Mini210. Now, this SDK has a device driver and an authentication library that takes the image form the scanner and matches the fingerprints. This SDK is tested on Linux Red Hot. The manufacturer support staff, tell me that if I need to run my application on ARM platform they can provide me the driver source code in order to compile it, targeting my Linux ARM platform and that the authentication library should have no problem to run. They say they have customers who have made this before sucessfully. My questions are: 1. Is it true, that a x86 library could run on Linux for ARM?. 2. Could this source code be compiled targeting Android?. If so, would the Linux library run on android too?. 3. The manufacturer provide some Linux C++ sample application. If recompiled, Should this run on embedded Linux. Thanks for reading, and for any help.
Porting software form x86...
1) If this library is coded against POSIX (and I guess it is) there is no difference in ARM or x86 environment. So, your library should smoothly compile and run on your ARM system. 2) If you have the cross toolchain that created the other files already running in your Android system: yes. If not, you are in trouble. You need a consistent build environment to extend an existent run-time environment. 3) If they compile with your cross toolchain: yes. If not, you must adapt them.
Thanks for your answer, Juergen. What flavor of ARM Linux would make easier the job?. I have read Emdebian is "binary compatible" with the PC Linux distro.
I would recommend a cross build environment for your host, like buildroot or our PTXdist. This will ensure your target will get a software deployment which is consistent (=all components are made with the same toolchain, the same library and so on). I don't know if it is possible to to do the same for a binary distribution when you want to add your own selfmade software. If you mix a binary distribution with your own selfmade software (cross compiled with a different toolchain, than the remaining part of the system) you will run into trouble.
Hi Juergen and community... I received more info from the manufacturer of the USB scanner. It turns that there is an special SDK targeted to embedded developments. This SDK has been tested on TI OMAP 3530, 3730, 3503, 3703 at 1GHz and FreeScale i.Mx515 at 1GHz. Now, although the manufacturer can provide me source code for the drivers, they do not provide source code for the authentication library for obvious reasons. My question is, if this library has been tested on ARM Linux on OMAP and FreeScale processors, should it work "out of the box" (without recompiling) on ARM Linux running over Samsung S5PV210 processors?.
Handling binary-only libraries is always a pain. Maybe you are in luck. Run "readelf -a" on this binary library and see for what architecture this library was compiled for. Your 210 should be off ARMv7 architecture.