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

USB superspeed peripherals

ScGr_289066
Level 5
100 replies posted 50 replies posted 25 replies posted
Level 5

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 500 replies posted 250 replies posted 250 sign-ins
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 500 replies posted 250 replies posted 250 sign-ins
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
Level 5
100 replies posted 50 replies posted 25 replies posted
Level 5

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 500 replies posted 250 replies posted 250 sign-ins
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
Level 5
100 replies posted 50 replies posted 25 replies posted
Level 5

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 500 replies posted 250 replies posted 250 sign-ins
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
Level 5
100 replies posted 50 replies posted 25 replies posted
Level 5

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
Level 5
100 replies posted 50 replies posted 25 replies posted
Level 5

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 500 replies posted 250 replies posted 250 sign-ins
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 

0 Likes
ScGr_289066
Level 5
100 replies posted 50 replies posted 25 replies posted
Level 5

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