Menu

csrs232drivers.dll on 64bits ?

2012-11-23
2012-12-27
  • Cedric Siourakan

    Peut-on utiliser la librairie csrs232 sur une plateforme 64bits ?
    Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\ce_siourakan\workspace\CORONIS\csrs232driver.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

    Merci

    Ce Siou

     
  • Thierry CHOMAUD

    Thierry CHOMAUD - 2012-11-23

    Hello,

    The library you have apparently used has been compiled for 32 targeted platforms. As a consequence, the return error is normal.

    Have you got some experience of C/CPP development under eclipse.
    Because the SDK has been structured to easily recompile sources to other targeted platforms.

    Thanks for using English language. Our C/CPP expert developper doesn't speak french.

    Thierry

     

    Last edit: Thierry CHOMAUD 2012-11-23
  • Cedric Siourakan

    Thank's you
    I will see if I can modify properties.
    I nerver used eclipse for C/CPP , only for java and android.

    Cedric

     
  • vmacari

    vmacari - 2012-11-23

    Hello Cedric, we tested under 64 bit platform (windows 7 64 bits), and there are some additional issues regarding data type sizes under different platforms.

    This means that just changing target platform to 64 bits it is not enough.

    Regards, Veaceslav

     
  • Thierry CHOMAUD

    Thierry CHOMAUD - 2012-11-23

    Ok, so you want to use the Java API of SerialDriver only, or the Protocol API too?
    I've forward to Veaceslav (our C/CPP expert developper) your request for 64b platforms.
    Could you precise to us the OS you use?

     
  • Cedric Siourakan

    I will try to explain.
    I need only the Protocol API, because I can already comunicate with modem radio but I dont know if I need the SerialDriver for use Protocol API or if I can use my RXTXSerial.dll.
    I use windows 7 PRO 64 bits

     
  • Thierry CHOMAUD

    Thierry CHOMAUD - 2012-11-23

    Just a quick recall:
    The Coronis Protocol level is a high level protocol for communication via serial link
    The Coronis SerialDriver level is a low level protocol for communication via serial link.

    The Waveport Radio modem (I spoke about the product and its embedded firmware) wait for serial frame that have a specific low serial protocol encapsulation. I means that it can not understand raw frame (that you are able to send with your RXTXSerial.dll. So to be able to communication with a Waveport radio modem, you must use the 2 correspondant implementation (csrs232driver and waveportprotocol)

    Is these precison clear for you?

    After for your current need, there is perhaps another solution that consist to place the win32 dll in a specific folder (windows\SysWOW64).
    Please have a look to this post for more information: http://stackoverflow.com/questions/3439845/register-32-bit-com-dll-to-64-bit-windows-7

    Thierry

     
  • Cedric Siourakan

    I understand but, with my RXTXSerial I can communicate with Waveport and Wavesens ect..
    because I'm already built the low serial protocol encapsulation to communicate with.

    I'will see on stackoverflow for win32.dll

    Thank's

    Cédric

     
  • Thierry CHOMAUD

    Thierry CHOMAUD - 2012-12-04

    Cédric, Have you succeed to run the 32b dll under your 64b windows platform?
    The CSRS232Driver manage itself the serial link (the only one external library that is used is pthread (posix thread available on the web), that allow our SDK to be portable.

     
  • Cedric Siourakan

    Thierry, I've tried to put my 32b dll into Wowsys64 folder and run regsvr32 but It doesn't work.
    The PDK Tester work fine, with the CSRS232driver. How do you build the PDK Tester with CSRS232driver on win64 platform ?

     
  • Thierry CHOMAUD

    Thierry CHOMAUD - 2012-12-20

    PDK Tester is an Eclipse RCP application. So it means that we used the OSGI standard (http://www.osgi.org/Main/HomePage) on which eclipse and many other Java application (like Web server) are based on.
    In the setup of PDK tester we just copy the libpthread-2.dll in C:\WINDOWS\SysWOW64 in case of a 64b platform. The csrs232driver.dll library is included into an OSGI bundle (com.coronis.sdk.serialdriver.rs232driver.win32.x86.jar) that is loaded by the PDK Tester application.

    So I don't know your dev environment, but perhaps you just need to add the libpthread-2.dll in C:\WINDOWS\SysWOW64 (that have been already added by the pdkTester setup). You could use the tool http://dependencywalker.com/ to check that all dependencies are resolved (similar of ldd linux command).

     
  • Cedric Siourakan

    My dev environment is Eclipse IDE for Java Developers and win7 Pro 64b.
    I'will try to do with libpthread-2.dll.
    Thank's

     
  • Cedric Siourakan

    Hello Veaceslav.
    Step 1 to 4 It's ok, I have put the bin into the system PATH, but could you explain me more precisely step 5 and 6, how do you compile the libraries ?

    Thank's
    Regards, Cedric.

     
  • vmacari

    vmacari - 2012-12-26

    Hello Cedric

    For step 5 and 6, in eclipse you have to do following actions:

    1. click right on the project (in project explorer), select Build Configuration->Set Active->ReleaseWin32
    2. Do this for all 3 projects: com_coronis_sdk_domain, com_coronis_sdk_protocol_waveportprotocol and com_coronis_sdk_serialdriver_rs232driver
    3. Clean: from main menu Project->Clean from dialog box select "Clean all"
    4. Build:from main menu Project->Build from dialog box select "Build all"
    5. Check the folders "ReleaseWin32" inside projects, they should contain DLL files

    Note: To be able to work and compile C projects, you need to have CDT eclipse plugin installed.

    Regards, Veaceslav

     

    Last edit: vmacari 2012-12-26
  • Cedric Siourakan

    When I want to set ReleaseWin32 It doesn't exist so I must create in the manage conf is It normal ?
    So When I build it I don't find the ReleaseWin32 folder .
    Perhaps I didn't add the "bin" folders to the system PATH

    Regards,Cedric

     
  • vmacari

    vmacari - 2012-12-26

    It's very strange, at least for 3 projects I specified should exist Windows configuration.

    Have you tried to refresh the project ? (Press F5 when the a project is selected)
    Also check in the console output for error messages

    Please find attached pre-compiled libraries

     
  • Cedric Siourakan

    Thank's you for the pre-compiled library, I will see later why I can't build corectly libraries.
    I'm trying with the rs232driver exemple and 64b libraries and I'm looking why I've this error

    Exception in thread "main" java.lang.UnsatisfiedLinkError: com.coronis.sdk.serialdriver.rs232driver.RS232Driver.getDriverVersion()I
    at com.coronis.sdk.serialdriver.rs232driver.RS232Driver.getDriverVersion(Native Method)
    at com.coronis.sdk.serialdriver.rs232driver.RS232Driver.<init>(RS232Driver.java:48)
    at com.coronis.sdk.serialdriver.rs232driver.example.Main.main(Main.java:51)</init>

    Regards, Cedric

     
  • vmacari

    vmacari - 2012-12-27

    Yes, We've tested with Java project (till now only with C test project), it fails to load the the serial driver library because of an unsatisfied linker error.

    We will investigate this problem and notify you as sun as the problem will be resolved.

    Thanks, Veaceslav

     

Log in to post a comment.

MongoDB Logo MongoDB