cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

ScGr_289066
Contributor II

Hi All,

I am writing firmware for the CX3 to interface a new sensor and am running into a confounding problem.  My program behaves differently when I rearrange the order of functions in my C source code.  This leads me to believe I have some memory corruption issues.  I found the CyU3PMemCorruptionCheck() and CyU3PBufCorruptionCheck() functions in cyu3os.h and am trying to use them in my program.  But when I do, the linker complains they are not defined.  In what library are they defined?

 

Thanks,

Scott

 

0 Likes
1 Solution
AliAsgar
Moderator
Moderator

Hi Scott,

I have attached the built project folder for a default gpifToUsb firmware. Kindly check this for your reference. Also if this does not seem to work, it would be helpful if you shared your firmware with us.

Best Regards,

AliAsgar 

View solution in original post

0 Likes
9 Replies
AliAsgar
Moderator
Moderator

Hi Scott,

Can you confirm if you have included the file "cyfxtx.c" in your code path. This file has the definitions to the API functions, CyU3PMemCorruptionCheck() and CyU3PBufCorruptionCheck().

Best Regards,

AliAsgar

0 Likes
ScGr_289066
Contributor II

Hi Ali,

Thanks for your reply.

Yes, cyfxtx.c is part of the project, but it does not contain the missing corruption function definitions (e.g. CyU3PMemCorruptionCheck() and CyU3PBufCorruptionCheck()).

 

Thanks,

Scott

 

0 Likes
AliAsgar
Moderator
Moderator

Hi Scott,

I have herewith attached the cyfxtx.c file from the latest SDK. It has the function definitions required.

Also I recommend to download the latest SDK(1.3.4) from this link , in case the older SDK is being used now.

Best Regards,

AliAsgar

0 Likes
ScGr_289066
Contributor II

Hi Ali,

So I've installed the updated SDK, but am still getting the same undefined linker errors.  Further, when I right-click on CyU3PMemCorruptionCheck I am still referred to cyu3os.h.

I guess the key question is how to I change the compiler's configuration to use the newly installed SDK?

Thanks,

Scott

 

0 Likes
AliAsgar
Moderator
Moderator

Hi Scott,

I have attached some snippets of the project settings in the new SDK. Could you verify the same at your end.

Best Regards,

AliAsgar

0 Likes
ScGr_289066
Contributor II

Hi Ali,

The screen shots were helpful.  My project uses the ARM Windows Sourcery G++ Lite toolchain and the Cross ARM toolchain are not listed as compatible.  I configured the project to use the Cross ARM toolchain.  Now attempts to compile result in:

Cannot run program "make" (in directory "D:\Optel\proj_firmware\Multicam_buffers_f\Release"): CreateProcess error=2, The system cannot find the file specified

Error: Program "make" not found in PATH
PATH=[C:/Program Files (x86)/Cypress/EZ-USB FX3 SDK/1.3/Eclipse/jre/bin/client;C:/Program Files (x86)/Cypress/EZ-USB FX3 SDK/1.3/Eclipse/jre/bin;C:/Program Files (x86)/Cypress/EZ-USB FX3 SDK/1.3/Eclipse/jre/lib/i386;C:\Program Files\AdoptOpenJDK\jdk-11.0.8.10-hotspot\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\system;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\dotnet;C:\Program Files\PuTTY\;C:\Program Files (x86)\IVI Foundation\IVI\bin;C:\Program Files\IVI Foundation\IVI\bin;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin\;C:\Program Files\IVI Foundation\VISA\Win64\Bin\;C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin;C:\Program Files\dotnet\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\bin;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\bin\;C:\Program Files\Git\cmd;C:\Program Files\NVIDIA Corporation\Nsight Compute 2019.5.0\;C:\Users\User\AppData\Local\Programs\Python\Python37\Scripts;c:\usr\local\bin;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\ARM GCC\bin\;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\util\elf2img\;C:\Users\User\AppData\Local\Microsoft\WindowsApps;c:\qt\5.11.1\msvc2017_64\;C:\OpenCV\build\x64\vc15\bin;C:\Users\User\.dotnet\tools;;C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\Eclipse;]

 

Any thoughts?

Thanks,

Scott

 

0 Likes
ScGr_289066
Contributor II

Hi Ali,

I have restored the original project and made all the changes *except* changing the toolchain, but I still get the same undefined symbol errors.

 

Scott

 

0 Likes
AliAsgar
Moderator
Moderator

Hi Scott,

I have attached the built project folder for a default gpifToUsb firmware. Kindly check this for your reference. Also if this does not seem to work, it would be helpful if you shared your firmware with us.

Best Regards,

AliAsgar 

View solution in original post

0 Likes
ScGr_289066
Contributor II

Hi Ali,

Thanks, just what I needed.  I installed your project and it compiles without error.  This will let me figure out why changing toolchains to the Cross compiler wouldn't work and how to fix it.

Scott

 

0 Likes