x64 build of cyusbserial.dll

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
AnHi_4132651
Level 1
Level 1

Hi,

We are integrating a product from TI which supplies an x86 API that uses an x86 build of the cyusbserial.dll.

We need to port all of this to an x64 compiler, is there a directly compatible x64 version of this cyusbserial.dll available please?

Thanks

0 Likes
1 Solution

Hi Anthony,

Please mention the changes you made to rebuild the project as x64. Please change the library path in linker settings and also the configuration of the build to x64.

The firmware need not be changed for a different build, it should ideally work with changes on the host itself. The updater is for upgrading the SDK version.

Best Regards,

Sananya

View solution in original post

0 Likes
7 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

Please find the x64 version in the USB Serial SDK at the path-

<install directory>\Cypress\USB-Serial SDK\library\cyusbserial\x64

Best Regards,

Sananya

0 Likes

Hi Sananya,

Thank you for that. I have rebuilt the project that uses that dll, all as x64. It compiles and runs as per the x86 edition with the physical device disconnected from usb. I also confirmed it is the same version and build number as the original x86 dll I am replacing - 2.0.3 build 91, so all the version numbers match.

However, when I run the x64 edition with the device plugged in,  cypress_i2c.c throws "Run-Time Check Failure #2 - Stack around the variable 'DeviceInfo' was corrupted." from function GetCyI2CHandle.

I would appreciate your input on this problem as I am not the Cypress developer/integrator. 

I see in the SDK there is "updater" etc. Do I need to do something to the cypress chip to get it to work with the x64 edition? I see old forum posts about people who got an extra byte etc when on x64, so I am wondering if there is some fix I need to do to cypress firmware?

Thanks,

Anthony

0 Likes

Hi Anthony,

Please mention the changes you made to rebuild the project as x64. Please change the library path in linker settings and also the configuration of the build to x64.

The firmware need not be changed for a different build, it should ideally work with changes on the host itself. The updater is for upgrading the SDK version.

Best Regards,

Sananya

0 Likes

Hi,

The existing x86 project had linker descriptions etc that we just replicated under the equivalent x64 project settings. We then replaced the x86 .lib file, the .dll file, and the header file with the x64 versions obtained via the link you posted in your first reply, after checking that the version and buid numbers were identical to the x86 parts that were being replaced. Then we compiled on x64.

The device communication works if I increase CY_MAX_DEVICE_INTERFACE by adding 1 to it, but not otherwise. This seems strange.  

However, I am worried that whilst this unexplained change gives the appearance that it is working, when we later go flashing entire .bin files via CypressUsbSerial, they might get corrupted. If there were a credible reason why CY_MAX_DEVICE_INTERFACE+1 works, that would also be helpful.

Thanks,

A

0 Likes

Hi Anthony,

Would it be possible for you to attach your project so that we can check the issue at our end? You could send it over private message option instead of attaching it here if you like. I was able to communicate with the device after changing the other settings without modifying the CY_MAX_DEVICE_INTERFACE so currently dont know the reason for the behavior.

Best Regards,

Sananya

0 Likes

Hi,

I sent you a private message but it was shortly after the site was down for maintenance. Not sure if it got through or not, inconsistent messages. Repeated below...

Hi,    This messages is in regards to " https://community.cypress.com/message/204891?et=watches.email.thread#204891 " . Texas Instruments own the API code that we are trying to port to x64 build. They have asked that we pass the code to you, through their portal (called mySecure software site), because of internal policies relating to code that is not yet official released.  Do you have an actual email address that there system can send login details to, or are you restricted to private messages on this forum please? Thanks, Anthony

0 Likes

Hi Anthony,

I sent you an email about this; I have registered on the website using my email ID, please send me the code link to go through.

Best Regards,

Sananya

0 Likes